Estou usando o Open vSwitch para criar uma rede comutada entre máquinas convidadas do virtualBox, e quero que o SO host (Ubuntu 12.04) ingresse nesta rede e configure-o como o gateway desta rede virtual:
Primeiro, criei um vswitch e adicionei portas aos dispositivos de toque (que as máquinas virtuais os usam como interfaces em ponte):
ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0
Depois disso, configurei estaticamente o ip da máquina virtual Lubuntu 12.04:
ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1
No lado do host, também defino o endereço IP:
ifconfig sw0 192.168.1.1/24 up
Neste momento, eu posso executar ping de Lubunut para Ubunutu. Agora, na máquina host, quero usar o disfarce de IP para encaminhar o tráfego da rede 192.168.1.0/24 para o meu interace físico (conectado à Internet):
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
Portanto, no Lubuntu (a máquina virtual), posso executar ping na interface Ubuntu eth1, mas não consigo acessar a rede real (por exemplo: o gateway na LAN real), tentei:
nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com
Topologia de rede
Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
192.168.30.1 ip masquerade 192.168.1.0/24
|
------------ VBox Guest 2