vagrant packana16-otahi

13

Click here to load reader

Upload: hiroshi-ota

Post on 05-Jul-2015

476 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Vagrant packana16-otahi

1

Vagrantでパケアナ

#pakeana16@otahi

2013/06/27

Page 2: Vagrant packana16-otahi

2

目的● 他人に迷惑をかけずに、いろいろ実験したい

– VM をたてて、そこで通信の状態とかみたい– だけど漏れ出たパケットで他人に迷惑が。。。

Page 3: Vagrant packana16-otahi

3

方法● vagrant を使う

– http://www.vagrantup.com/– ただし、 NAT を ( ほぼ ) 使わない

Page 4: Vagrant packana16-otahi

4

Vagrantとは?● VM を手っ取り早く作るツール● オープンソース

– http://www.vagrantup.com/● 標準では Oracle Virtual Box を使う● Chef とかを使って、初期構築できる

Page 5: Vagrant packana16-otahi

5

どんなネットワーク?● HostOnlyNetwork で proxy 経由で外にでる

– eth0(NAT 用 I/F)● ssh アクセスは活かす● 他ははじく

– eth1(HostOnlyNetwork)● proxy 経由でリポジトリへアクセスするようにする

– default gateway は設定しない

Page 6: Vagrant packana16-otahi

6

どんなネットワーク?

PC

VM

Proxy

hostonlynet

NIC

NAT

2222->22

sshだけ許可eth0

eth1 proxyだけ許可

Page 7: Vagrant packana16-otahi

7

どんな事前条件?● Oracle Virtual Boxをインストールしてある● Vagrantをインストールしてある

– VM imageをダウンロードしてある● Squidをインストールしてある(別になくても

いい)

Page 8: Vagrant packana16-otahi

8

どんな設定? VagrantfileVagrant::Config.run do |config| config.vm.box = "centos64-base" config.vm.network :hostonly, "192.168.100.10" config.vm.share_folder "share", "/home/vagrant/share", "./share" config.vm.provision "shell", path: "share/init.sh"end

Page 9: Vagrant packana16-otahi

9

どんな設定? squid.conf● Private Proxy Settings

– http://gvtkne.blogspot.jp/2013/06/private-proxy-settings.html

Page 10: Vagrant packana16-otahi

10

どんな設定? iptables#!/bin/shiptables -Fiptables -X

iptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP

iptables -A INPUT -p tcp --dport 22 -s 0.0.0.0/0 -j ACCEPTiptables -A INPUT -p tcp --sport 3128 -s 192.168.100.0/24 -j ACCEPTiptables -A INPUT -j LOG --log-level infoiptables -A OUTPUT -p tcp --sport 22 -d 0.0.0.0/0 -j ACCEPTiptables -A OUTPUT -p tcp --dport 3128 -d 192.168.100.0/24 -j ACCEPTiptables -A OUTPUT -j LOG --log-level info

route delete defaultroute add default gw 192.168.100.1

※最終行は 2013/06/29追加。これがないと、 HostOnlyNetwork以外は IPパケットがでない。

Page 11: Vagrant packana16-otahi

11

どんな設定? proxyexport HTTP_PROXY=192.168.100.1:3128export HTTPS_PROXY=$HTTP_PROXYexport FTP_PROXY=$HTTP_PROXYexport http_proxy=$HTTP_PROXYexport https_proxy=$HTTP_PROXYexport ftp_proxy=$HTTP_PROXY

Page 12: Vagrant packana16-otahi

12

demo% vagrant box add centos64-base ~/vagrant/CentOS-6.4-x86_64-v20130427.box(% vagrant init)(% vi Vagrantfile)% vagrant up

% vagrant ssh

Vagrant% source share/proxyenv

Vagrant% sudo -E yum install tcpdump

Vagrant% sudo tcpdump -i any -s0 -w share/pakeana.pcap 'port !22'

% tail -f pakeana/share/pakeana.pcap| wireshark -k -i -

Page 13: Vagrant packana16-otahi

13

今後の展開● OpenFlow とかを使って、評価ネットワークを

構築できるといいかもしれない