Ich habe Ethernet Bridge eingerichtet br0
, die zwei Schnittstellen eth0
und enthälttap0
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
Meine Standard- FORWARD
Kettenrichtlinie lautetDROP
iptables -P FORWARD DROP
Wenn ich folgende Regel nicht hinzufüge, passiert der Verkehr nicht die Brücke.
iptables -A FORWARD -p all -i br0 -j ACCEPT
Soweit ich verstehe, iptables
ist nur für die IP-Schicht verantwortlich.
ebtables
sollte für das Filtern des Datenverkehrs auf der Ethernet-Brücke verantwortlich sein.
Warum muss ich die ACCEPT-Regel in die FORWARD-Kette von iptable aufnehmen?
echo "1" > /sys/devices/virtual/net/br0/bridge/nf_call_arptables
. Irgendwelche Ideen?Sie können dieses Verhalten deaktivieren, indem Sie Folgendes eingeben:
(siehe http://ebtables.sourceforge.net/documentation/bridge-nf.html )
quelle
Die ebtables-Ketten sehen keine Frames, die an einem Bridge-Port ohne Weiterleitung eintreten. Sehen Sie sich das an: http://ebtables.sourceforge.net/br_fw_ia/br_fw_ia.html
quelle
Wenn Sie iptables nicht für die Bridge auf Ihrem System verwenden müssen, können Sie es dauerhaft deaktivieren, indem Sie eine der folgenden Methoden verwenden:
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
quelle