J'ai configuré un pont Ethernet br0
qui contient deux interfaces eth0
ettap0
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
Ma FORWARD
stratégie de chaîne par défaut estDROP
iptables -P FORWARD DROP
Quand je n'ajoute pas la règle suivante, le trafic ne passe pas par le pont.
iptables -A FORWARD -p all -i br0 -j ACCEPT
Pour autant que je comprends, iptables
est uniquement responsable de la couche IP.
ebtables
devrait être responsable du filtrage du trafic sur le pont Ethernet.
Alors pourquoi dois-je ajouter la règle ACCEPT dans la chaîne FORWARD d'iptable?
echo "1" > /sys/devices/virtual/net/br0/bridge/nf_call_arptables
. Des idées?Vous pouvez désactiver ce comportement (laisser iptables gérer les paquets pontés) en tapant:
(voir http://ebtables.sourceforge.net/documentation/bridge-nf.html )
la source
Si vous n'avez pas besoin d'utiliser iptables avec le pont de votre système, vous pouvez le désactiver définitivement en utilisant l'une des méthodes suivantes:
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
la source
Les chaînes ebtables ne verront pas les trames entrer sur un port de pont sans transfert. Pourrait y jeter un œil: http://ebtables.sourceforge.net/br_fw_ia/br_fw_ia.html
la source