删除重复的iptables规则时,按照什么顺序删除?

删除重复的iptables规则时,按照什么顺序删除?

假设我有一些重复的 iptables 规则:

$ iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -j DROP
-A FORWARD -j DROP
-A FORWARD -j DROP
-A FORWARD -j DROP
-A FORWARD -j DROP

我想逐个删除:

$ iptables -D FORWARD -j DROP

以这种方式删除规则的顺序是什么?使用-D选项?

答案1

这似乎很容易测试。让我们创建一组规则:

[root@fedora ~]# iptables -A FORWARD -j DROP
[root@fedora ~]# iptables -A FORWARD -j ACCEPT
[root@fedora ~]# iptables -A FORWARD -j DROP
[root@fedora ~]# iptables -S FORWARD
-P FORWARD ACCEPT
-A FORWARD -j DROP
-A FORWARD -j ACCEPT
-A FORWARD -j DROP

如果我们运行iptables -D FORWARD -j DROP,哪一个会被删除?

[root@fedora ~]# iptables -D FORWARD -j DROP
[root@fedora ~]# iptables -S FORWARD
-P FORWARD ACCEPT
-A FORWARD -j ACCEPT
-A FORWARD -j DROP

看起来它删除了第一个。

相关内容