ฉันมีการตั้งค่าสะพานอีเธอร์เน็ตbr0
ที่มีสองอินเตอร์เฟสeth0
และtap0
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
FORWARD
นโยบายลูกโซ่เริ่มต้นของฉันคือDROP
iptables -P FORWARD DROP
เมื่อฉันไม่เพิ่มกฎต่อไปนี้การรับส่งข้อมูลจะไม่ผ่านสะพาน
iptables -A FORWARD -p all -i br0 -j ACCEPT
เท่าที่ฉันเข้าใจiptables
มีหน้าที่รับผิดชอบเฉพาะเลเยอร์ IP เท่านั้น
ebtables
ควรรับผิดชอบการกรองปริมาณข้อมูลบนอีเธอร์เน็ตบริดจ์
เหตุใดฉันจึงต้องเพิ่มกฎ ACCEPT ในเครือข่าย FORWARD ของ iptable
echo "1" > /sys/devices/virtual/net/br0/bridge/nf_call_arptables
ไปแล้วก็ตาม ความคิดใด ๆ