Você não precisa definir o ip_forward = 1
, a menos que a interface esteja atuando como um NAT para os outros dispositivos, o que não deve ser o caso se você configurá-los como uma ponte.
Exemplo
Aqui está minha configuração do servidor KVM que tem um dispositivo de ponte, br0
, com o dispositivo de rede física, eth0
+ todas as interfaces para os convidados do KVM.
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.bcaec123c1e2 no eth0
vnet0
vnet1
vnet2
vnet3
vnet4
vnet5
virbr0 8000.52540003f256 yes virbr0-nic
Então, o que há de errado?
Com base na sua descrição, parece que você não tem regras de roteamento para rotear os pacotes de uma interface para outra.
Anfitrião com a ponte$ ip route show
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.200
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
169.254.0.0/16 dev br0 scope link metric 1008
default via 192.168.1.1 dev br0
Host com NIC que é membro da bridge
$ ip route show
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.218
169.254.0.0/16 dev eth0 scope link metric 1002
default via 192.168.1.1 dev eth0
No entanto, você provavelmente terá um problema ao misturar o dispositivo tap0
e o dispositivo de rede física, eth0
, em uma ponte.
Toque nos dispositivos nas pontes
Se você estiver usando um dispositivo TAP, tap0
provavelmente precisará configurar seu firewall para permitir que esses pacotes fluam pela ponte.
Agora, configure o firewall do Linux para permitir que os pacotes fluam livremente pelas interfaces tap0 e br0 recém-criadas:
$ sudo iptables -A INPUT -i tap0 -j ACCEPT
$ sudo iptables -A INPUT -i br0 -j ACCEPT
$ sudo iptables -A FORWARD -i br0 -j ACCEPT