OpenBoxSwitchを使用してvirtualBoxゲストマシン間のスイッチドネットワークを作成しています。ホストOS(Ubuntu 12.04)をこのネットワークに参加させ、この仮想ネットワークのゲートウェイとして構成します。
最初に、vswitchを作成し、デバイスをタップするためにポートを追加しました(その仮想マシンはそれらをブリッジインターフェイスとして使用します)。
ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0
その後、私はLubuntu 12.04仮想マシンのIPを静的に設定しました:
ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1
ホストOS側では、IPアドレスも設定します。
ifconfig sw0 192.168.1.1/24 up
現在、LubunutからUbunutuにpingを送信できます。ここで、ホストマシンでIPマスカレードを使用して、ネットワーク192.168.1.0/24から物理的なインターフェイス(インターネットに接続されている)にトラフィックを転送します。
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
したがって、Lubuntu(仮想マシン)から、Ubuntu eth1インターフェイスにpingを実行できますが、実際のネットワーク(例:実際のLAN上のゲートウェイ)に到達できません。
nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com
ネットワークトポロジー
Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
192.168.30.1 ip masquerade 192.168.1.0/24
|
------------ VBox Guest 2