%20interfere%20na%20minha%20bridge%20(brctl)%3F.png)
Configurei uma ponte br0
"anexada" a duas interfaces:
eth0
, minha interface física conectada à LAN real,vnet0
, uma interface virtual KVM (conectada a uma VM do Windows).
E eu tenho esta única regra de firewall na cadeia direta:
iptables -A FORWARD -j REJECT
Agora, o único ping que funciona é da VM para o host.
A br0
interface possui o endereço IP da minha máquina host. eth0
e vnet0
não "possui" nenhum IP, do ponto de vista do host. A VM do Windows possui uma configuração de IP estático.
Se mudar minha iptables
regra para ACCEPT
(ou até usar uma mais restritiva iptables -A FORWARD -o br0 -j ACCEPT
), tudo estará funcionando bem! (ou seja, posso executar ping em qualquer máquina LAN da VM e vice-versa também).
Todas as opções do kernel de encaminhamento de IP estão desabilitadas (como net.ipv4.ip_forward = 0
).
Então, como o firewall do netfilter pode bloquear algo que nem está habilitado?
Além disso, o tráfego VM-LAN deve implicar apenas eth0
e vnet0
. No entanto, parece que permitir o tráfego FORWARD com -o br0
"funciona" (embora não verifiquei com muito cuidado).
Responder1
OComentede Stéphane Chazelas dá a dica para a resposta.
De acordo comPerguntas frequentes sobre Bridge-nfbridge-nf permite que iptables, ip6tables ou arptables vejam o tráfego em ponte.
A partir da versão 2.6.1 do kernel, existem cincoentradas sysctlpara controle comportamental bridge-nf:
bridge-nf-call-arptables
- passar o tráfego ARP em ponte para a cadeia FORWARD dos arptables.bridge-nf-call-iptables
- passar tráfego IPv4 em ponte para cadeias de iptables.bridge-nf-call-ip6tables
- passar o tráfego IPv6 em ponte para as cadeias do ip6tables.bridge-nf-filter-vlan-tagged
- passar tráfego ARP/IP com tag vlan em ponte para arptables/iptables.net.bridge.bridge-nf-filter-pppoe-tagged
- passar tráfego IP/IPv6 marcado com pppoe para tabelas {ip,ip6}
Você pode desativar o bloqueio do firewall netfilter com:
# sysctl -w net.bridge.bridge-nf-call-iptables=0
# sysctl -w net.bridge.bridge-nf-call-ip6tables=0