Eu tenho ponte Ethernet de configuração br0
que contém duas interfaces eth0
etap0
brctl addbr br0
brctl addif eth0
brctl addif tap0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
Minha FORWARD
política de cadeia padrão éDROP
iptables -P FORWARD DROP
Quando eu não adiciono a regra a seguir, o tráfego não está passando pela ponte.
iptables -A FORWARD -p all -i br0 -j ACCEPT
Tanto quanto eu entendo iptables
é apenas responsável pela camada IP.
ebtables
deve ser responsável por filtrar o tráfego na ponte ethernet.
Então, por que preciso adicionar a regra ACEITAR na cadeia FORWARD do iptable?
echo "1" > /sys/devices/virtual/net/br0/bridge/nf_call_arptables
. Alguma ideia?Você pode desativar esse comportamento (permitindo que o iptables lide com pacotes em ponte) digitando:
(consulte http://ebtables.sourceforge.net/documentation/bridge-nf.html )
fonte
As cadeias ebtables não verão os quadros entrando em uma porta de ponte sem encaminhamento. Pode dar uma olhada no seguinte: http://ebtables.sourceforge.net/br_fw_ia/br_fw_ia.html
fonte
Se você não precisar usar o iptables com a ponte em seu sistema, poderá desativá-lo permanentemente usando um dos seguintes procedimentos:
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
fonte