我有一台 Linux 机器(我的工作站)。从那里我可以 ping 其他本地机器,比如 192.168.1.22。假设我想通过 MAC 地址禁止与 192.168.1.22 的通信。我正在尝试一个简单的规则:
ebtables -I INPUT -s 00:24:1d:c9:0a:27 -j DROP
但我仍然可以 ping 该主机。ebtables 是否仅限于过滤桥接接口上的流量?
答案1
是的,ebtables 仅对穿越桥接接口的帧起作用。但是,您可以进行良好的分层违规并使用 -m mac --mac-source iptables 选项。
每当我使用 netfilter 进行任何复杂操作时,我都会把这张图放在手边: http://jengelh.medozas.de/images/nf-packet-flow.png
答案2
Thor,你的建议是正确的,而且有效。我刚刚测试过了。
您可能需要通过使用桥接接口本身替换桥接接口来更新路由,以确保您没有绕过桥接。
ip route del 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1
ip route add 192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1