使用 iptables 或 ebtables 阻止 Linux 桥接流量(仅单向)

使用 iptables 或 ebtables 阻止 Linux 桥接流量(仅单向)

我正在使用 openwrt 路由器。它有一个桥接器 br-lan,wlan0、wlan1 连接到此桥接器。eth0 充当 WAN 接口。当数据包来自 wlan0 或 wlan1 时,它会从桥接器发出,进行 NAT 并通过 eth0 发出到互联网,回复来自 eth0,再次进行 NAT 并进入 br-lan,然后根据原始数据包的来源通过 wlan0 或 wlan1 发出。

wlan0/wlan1 --> br-lan --> NAT --> eth0 --> internet

互联网--> unNAT--> br-lan--> wlan0/wlan1

现在我有一个应用程序通过原始套接字监听 br-lan 接口,我想对从 br-lan 到 wlan0/wlan1 的数据包进行一些处理。因此,我想停止/阻止从 br-lan 到 wlan0/wlan1 的所有数据包,因为我将在我的应用程序中将其转发到 wlan0/wlan1。如何使用 iptables 或 ebtables 来实现这一点?

我尝试了下面这样的一些规则,但是没有效果,所有流量都正常流动 -

ebtables -I FORWARD -i br-lan -o wlan1 -j DROP
ebtables -I OUTPUT -o br-lan -j DROP
iptables -I FORWARD -i br-lan -o wlan1 -j DROP
iptables -I OUTPUT -o br-lan -j DROP

答案1

所以我看了看这一页他们所做的大多数丢包操作都涉及链式操作。所以我想知道你是否先尝试过制作链式操作?例如

iptables -N zone_wan_block
iptables -I FORWARD -i br-lan -o wlan1 -j zone_wan_block
iptables -A zone_wan_block -j DROP

(我想对此发表评论,因为我自己在这方面缺乏经验(并且没有时间进行测试),但我没有足够的代表......)

此外,如果需要的话,使用OUTPUT。

希望这能有所帮助,但我还是缺乏经验。祝您有美好的一天!

相关内容