Como fazer o roteamento entre pontes no linux?

1

Eu quero criar uma ponte para minha máquina virtual. E eu quero ter acesso na internet da minha bridge virtual. O que eu fiz:

DEVICE=br1
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0

Eu tenho bridge na minha rede (por dhcp), que está ligada a eth0:

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.110.14  netmask 255.255.255.0  broadcast 192.168.110.255

br0:

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=dhcp

eth0:

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

Comando iptables:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.110.14

mas não funciona.

ping -I br1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.1.1 br1: 56(84) bytes of data.
^C
--- 8.8.8.8 ping statistics ---
61 packets transmitted, 0 received, 100% packet loss, time 59999ms

O que eu fiz de errado? Por favor ajude.

    
por Valeriu 01.03.2017 / 13:35

1 resposta

1

Bridging está na camada 2, e o roteamento está na camada 3, e o iptables opera na camada 3, não na camada 2. Não há conceito de roteamento na camada 2, onde as pontes operam. Pontes usam camada 2, e. MAC, endereços e quadros são entregues diretamente ao endereço da camada 2 de destino. Bridging acontece em uma única LAN. O roteamento acontece entre as LANs e usa a camada 3, por ex. IP, endereços para enviar pacotes da LAN para outra LAN. Nas LANs, os quadros encapsulam os pacotes e são usados para enviar os quadros diretamente de um host para outro host.

Um host em uma LAN irá mascarar o endereço da camada 3 do destino para ver se o destino está em sua LAN. Se for, criará um quadro para o host de destino. Caso contrário, criará um quadro para seu gateway configurado (roteador). Na camada 2, um gateway é apenas outro host na LAN. É o gateway que executaria o roteamento, não a ponte. Se os quadros são entregues ou não ao host de destino ou o gateway é até o host de origem, não a ponte.

    
por 01.03.2017 / 15:17