Iptables 在桥接设置下不起作用

Iptables 在桥接设置下不起作用

我正在尝试使用 Ubuntu 机器阻止 DNS 请求。我已经创建了一个网桥,数据包正在按预期转发。只有当我添加 iptables 规则时,它才被考虑在内。我尝试不使用任何规则,只是将每个表的策略设置为 DROP,但即使这样也不起作用:数据包仍然会不间断地传输。我应该明确指出,我在 ISP 环境中工作,因此,从网络角度来看,网桥位于 WAN 端,位于 CPE 和 telindus 之间。感谢您的帮助。

iptables 版本:1.4.21

# iptables -L -n -v

0 packets in forward and input, 16 in output(因为我用的是手机,所以感觉比较合成)

所有策略都处于 DROP 模式。

/proc/sys/net/bridge/bridge-nf-call-iptables= 1

这座桥的配置相当简单:

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1

ifconfig eth0 up
ifconfig eth1 up
ifconfig br0 up

答案1

与我们分享 iptables -L -n -v 会很有用

为了丢弃桥接接口上的流量,只需使用:

iptables -A FORWARD -p tcp --dport 53 -j DROP
iptables -A FORWARD -p udp --dport 53 -j DROP

请随意使用

tcpdump -i any -n port 53

查看流量真正经过服务器的地方。

您还可以使用:

iptables -A FORWARD -j LOG --log-prefix "IPTables: " --log-level 4

记录通过 iptables 的流量。

答案2

我正在回答我自己的问题:问题来自以下参数:

/proc/sys/net/bridge/bridge-nf-filter-pppoe-tagged
/proc/sys/net/bridge/bridge-nf-filter-vlan-tagged

我将它们设置为 1,这样就可以将后续帧/数据包转发到 iptables FORWARD 表中。谢谢您的帮助。

相关内容