Estou tentando configurar o roteamento da minha rede local em vmbr1
para a interface pública vmbr0
. Meu computador tem o IP 192.168.0.1
na interface vmbr1
. Eu configurei a seguinte regra de roteamento de postagem:
iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE
Como teste, estou pingando o servidor DNS do Google 8.8.4.4
de outro computador 192.168.0.101
que tem 192.168.0.1
configurado como um gateway padrão.
Usando iptables -t nat -L -v
, posso ver alguns pacotes atingindo o filtro, mas pela taxa de aumento, está claro que os pacotes corretos não estão.
Chain POSTROUTING (policy ACCEPT 5 packets, 300 bytes)
pkts bytes target prot opt in out source destination
24 8358 MASQUERADE all -- any vmbr0 anywhere anywhere
De tcpdump -i vmbr0
, vejo que os pacotes estão deixando a interface sem edição.
18:41:35.162157 IP 192.168.0.101 > google-public-dns-b.google.com: ICMP echo request, id 1872, seq 996, length 64
18:41:36.170172 IP 192.168.0.101 > google-public-dns-b.google.com: ICMP echo request, id 1872, seq 997, length 64
18:41:37.178164 IP 192.168.0.101 > google-public-dns-b.google.com: ICMP echo request, id 1872, seq 998, length 64
Aqui está minha configuração de rede:
iface eth0 inet manual
auto vmbr1
iface vmbr1 inet static
address 192.168.0.1
netmask 255.255.255.0
bridge_ports dummy0
bridge_stp off
bridge_fd 0
#NAT
auto vmbr0
iface vmbr0 inet static
address 151.80.1.13
netmask 255.255.255.0
gateway 151.80.1.254
broadcast 151.80.1.255
bridge_ports eth0
bridge_stp off
bridge_fd 0
network 151.80.1.0
E rotas:
Destination Gateway Genmask Flags Metric Ref Use Iface
default 151.80.1.254 0.0.0.0 UG 0 0 0 vmbr0
151.80.1.0 * 255.255.255.0 U 0 0 0 vmbr0
192.168.0.0 * 255.255.255.0 U 0 0 0 vmbr1
Eu também tentei iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
, mas isso também não funcionou.
Editar: Acontece que definir bridge_ports como dummy0 foi o problema. Alguém pode explicar por quê?