He configurado el puente de ethernet br0
que contiene dos interfaces eth0
ytap0
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
Mi FORWARD
política de cadena predeterminada esDROP
iptables -P FORWARD DROP
Cuando no agrego la siguiente regla, el tráfico no pasa por el puente.
iptables -A FORWARD -p all -i br0 -j ACCEPT
Por lo que entiendo, iptables
solo es responsable de la capa IP.
ebtables
debe ser responsable de filtrar el tráfico en el puente de ethernet.
Entonces, ¿por qué debo agregar la regla ACEPTAR en la cadena FORWARD de iptable?
echo "1" > /sys/devices/virtual/net/br0/bridge/nf_call_arptables
. ¿Algunas ideas?Puede deshabilitar este comportamiento (permitiendo que iptables maneje paquetes en puente) escribiendo:
(ver http://ebtables.sourceforge.net/documentation/bridge-nf.html )
fuente
Las cadenas de ebtables no verán tramas entrando en un puerto de puente no reenviador. Podría echar un vistazo a esto: http://ebtables.sourceforge.net/br_fw_ia/br_fw_ia.html
fuente
Si no tiene la necesidad de usar iptables con el puente en su sistema, puede deshabilitarlo permanentemente usando cualquiera de los siguientes:
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
fuente