Solution 1 :
En raison du code br-nf qui est disponible en tant que correctif pour Linux 2.4 et utilisé dans Linux 2.6 :
Le code br-nf fait passer les trames/paquets IP pontés par les chaînes iptables. Ebtables filtre sur la couche Ethernet, tandis qu'iptables ne filtre que les paquets IP.
Puisque le trafic que vous travaillez est ip, iptables
les règles s'appliquent toujours à cause de br-nf en passant les paquets pontés à iptables
.
C'est une excellente ressource à lire sur l'interaction et celle-ci détaille la fonctionnalité de br-nf code, y compris comment désactiver tout ou partie des fonctionnalités (c'est-à-dire ne pas transmettre le trafic du pont à iptables).
Solution 2 :
Vous pouvez désactiver ce comportement (laisser iptables gérer les paquets pontés) en tapant :
echo "0" > /proc/sys/net/bridge/bridge-nf-call-iptables
(voir http://ebtables.sourceforge.net/documentation/bridge-nf.html)
Solution 3 :
Si vous n'avez pas besoin d'utiliser iptables avec le pont sur votre système, vous pouvez le désactiver de manière permanente en utilisant l'une des méthodes suivantes :
- Ajout d'une règle iptables :
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
- Ou modifiez /etc/sysctl.conf :
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0