按 IP 地址过滤桥接数据包

按 IP 地址过滤桥接数据包

我使用一个小型 Ubuntu 12.04 盒子作为 Wi-Fi 接入点。该盒子有两个桥接在一起的接口,如下所示:

brctl addbr br0
brctl stp br0 off
brctl addif br0 wlan0
brctl addif br0 eth0

一切都运转良好。但是,我需要根据源和目标 IP 地址过滤(并丢弃)数据包。根据这个页面:

http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html#section5

桥接数据包确实通过 IP 表链。但是当我添加规则时,它似乎不起作用。例如:

iptables -I INPUT -s 192.168.1.23 -d 216.58.216.14 -j REJECT

我已经在 INPUT、OUTPUT 和 FORWARD 链上尝试过此操作。如果可能的话,我还尝试过 --in-interface 和 --out-interface 。在这些情况下,我指定了桥接端口(wlan0 和 eth0)而不是 br0。

内核确实启用了 BRIDGE、NETFILTER 和 MATCH_PHYSDEV(作为模块支持)。

是否可以以这种方式使用 iptables?有更好的方法吗?

相关内容