connect Abra o switch vSwitch para a rede real: mascarada iptables

9

Estou usando o Open vSwitch para criar uma rede comutada entre as máquinas convidadas do virtualBox, e quero que o sistema operacional host (Ubuntu 12.04) se una a essa rede e configure-o como o gateway dessa rede virtual:

Primeiro, criei um vswitch e adicionei portas para tocar em dispositivos (as máquinas virtuais as usam como interfaces em ponte):

ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0

Depois disso, eu configuro 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 pingar de Lubunut para Ubunutu. eu quero Agora, na máquina host para usar o mascaramento de IP para encaminhar o tráfego da rede 192.168.1.0/24 para minha interace física (conectado à Internet):

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

Então, do Lubuntu (a máquina virtual), eu posso fazer ping na interface eth1 do Ubuntu, 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
    
por LokmanDz 10.02.2013 / 10:37

2 respostas

0

A resposta não é minha, mas ... Tente seguir Abra o vSwitch no VirtualBox

Houve também um breve arquivo de texto de algumas pessoas do Fedora sobre um assunto similar: libvirt e OpenVSwitch em uma forma de arquivo de texto ... não foi capaz de localizá-lo.

de acordo com o comentário, aqui está um breve resumo:

(1) Crie a interface vnet0 e a ponte br0:

ovs-vsctl add-br br0
ip tuntap add mode tap vnet0
ip link set vnet0 up
ovs-vsctl add-port br0 vnet0
ip link # (View the created interface)

(2) gire a VM que usa a interface vnet0 (como um adaptador em ponte)

(3) conecte a bridge br0 à rede real:

ovs-vsctl add-br br0 
ovs-vsctl add-port br0 eth0 
ovs-vsctl add-port br0 vnet0 
ifconfig eth0  0 && ifconfig br0 192.168.1.(X) netmask 255.255.255.0
route add default gw 192.168.1.1 br0
route del default gw 192.168.1.1 eth0
    
por 06.04.2015 / 07:46
0

Ative o encaminhamento após a reinicialização, deixando de comentar essas linhas em /etc/sysctl.conf :

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
    
por 03.01.2018 / 23:10