无法使用 iptables 丢弃接口的传入数据包

无法使用 iptables 丢弃接口的传入数据包

我正在尝试使用 iptables 以特定的概率丢弃某个接口的传入数据包。

我一直在使用:

sudo iptables -A INPUT -m statistic --mode random --probability 0.1 -j DROP

一切按预期进行。但是,由于我还想指定接口,因此我尝试了:

sudo iptables -A INPUT -m statistic --mode random --probability 0.1 -i eth1 -j DROP

但当我这么做的时候,规则就被忽略了。

使用 iptables 或其他工具丢弃接口的传入数据包的正确方法是什么?

答案1

在我看来,这是一个错误。

有趣的是作品对于 IPv6:aliceping bob,其中已设置丢弃规则:

首先,没有规则(编辑以删除真实地址!)

alice# ping6 -f bob
PING XXXX 56 data bytes
.^C
--- XXXX ping statistics ---
4798 packets transmitted, 4797 received, 0% packet loss, time 4274ms
rtt min/avg/max/mdev = 0.435/1.143/203.132/6.988 ms, pipe 17, ipg/ewma 0.890/0.679 ms

安装规则bob

bob# ip6tables -i eth1 -A INPUT -m statistic --mode random --probability 0.1 -j DROP

再次运行测试alice

alice# $ sudo ping6 -f bob
PING XXXX 56 data bytes
.......................................................^C
--- XXXX ping statistics ---
1003 packets transmitted, 906 received, 9% packet loss, time 2324ms
rtt min/avg/max/mdev = 0.461/0.907/21.699/0.993 ms, pipe 2, ipg/ewma 2.319/0.811 ms

我会尽量记得稍后检查源代码。同时,我们应该提交错误报告。

相关内容