Linux iptables最新模块--set选项

Linux iptables最新模块--set选项,linux,firewall,iptables,Linux,Firewall,Iptables,我读了一个防火墙脚本,包括以下几行 iptables -A pfc -p udp --dport 5060 -m recent --name badguy --update --seconds 60 -hitcount 600 -j DROP iptables -A pfc -p udp --dport 5060 -m recent --name badguy --set 这是默认拒绝防火墙脚本的一部分,pfc是用户定义的输入子链 这里有什么不对吗?第二行不会跳到链子上。除非第一行匹配,否

我读了一个防火墙脚本,包括以下几行

iptables -A pfc -p udp --dport 5060 -m recent --name badguy --update --seconds 60 -hitcount 600 -j DROP 

iptables -A pfc -p udp --dport 5060 -m recent --name badguy --set
这是默认拒绝防火墙脚本的一部分,pfc是用户定义的输入子链

这里有什么不对吗?第二行不会跳到链子上。除非第一行匹配,否则数据包的命运如何

我认为应该这样做

iptables -A pfc -p udp --dport 5060 -m recent --name badguy --set **-j ACCEPT**
是吗?

如前所述,这条规则:

iptables -A pfc -p udp --dport 5060 -m recent --name badguy --set 
设置数据包的
recent
条目,然后继续处理可能决定显式拒绝或接受数据包的其他
iptables
规则

另一方面,您建议的修改

iptables -A pfc -p udp --dport 5060 -m recent --name badguy --set -j ACCEPT

…立即接受数据包,无需进一步处理。这是行为上的一个实质性差异,它是否合适完全取决于您当地的情况。

这应该是云雀的问题吗?我想知道这一点;根据下面的一行-->#iptables-A pfc-p udp--dport 5060-m recent--name badguy--set规则将在链上匹配,所以我不希望它继续?你怎么认为?设置最近的条目与规则不匹配?我想我已经准确地描述了这些规则的行为。如果没有显式的
-j
选项,则规则不会确定数据包的处置,处理将在下一个规则处继续。您可能需要设置一个简单的防火墙来测试这种行为。从答案转换为注释:Larsks是正确的,并且给出了一个很好的答案。根据“man iptables”页面-“如果在规则中省略了此选项(并且未使用-g),则匹配规则将不会影响数据包的命运,但规则上的计数器将增加。”我测试了这一点,确实如此,因此它将只匹配您的默认规则,并相应地被接受/删除/拒绝。