iptables 传出丢弃有效,但传入丢弃似乎不起作用。为什么?

iptables 传出丢弃有效,但传入丢弃似乎不起作用。为什么?

我有这个设置:

主机:10.40.10.3 连接到主机的设备:10.40.10.6

我捕获的流量反复是这样的:

IP 10.40.10.3.53258 > 10.40.10.6.2883: UDP, length 12
IP 10.40.10.6.2883 > 10.40.10.3.53258: UDP, length 9

当我在 iptables 中写入此内容时,流量被阻止(我不再捕获任何内容):

sudo iptables -A OUTPUT -d 10.40.10.6 -p udp --sport 53258 --dport 2883 -j DROP

但实际上我想阻止的是“传入”数据包。所以,我在 iptables 中写了这个,但这不起作用:

sudo iptables -A INPUT -s 10.40.10.6 -p udp --sport 2883 --dport 53258 -j REJECT

从字面上看,根据这条规则,我尝试做的是:阻止从 IP 10.40.10.6 - 端口 2883 的设备到主机端口 53258 的所有传入流量。

在这两种情况下,iptables 只有 1 条规则。

为什么第二个不起作用?怎么做?

答案1

-D 选项删除规则。尝试 -I 在 INPUT 开头插入规则,或 -A 将其附加。

相关内容