如何使用 iptables 将规则添加到 PREPEND 而不是 APPEND?

如何使用 iptables 将规则添加到 PREPEND 而不是 APPEND?

一个非常基本的问题:如何在 IPTABLES 上将规则添加到 PREPEND 而不是 APPEND?

DROP我的规则底部有语句。我有一个添加新规则的软件,但在DROP语句后添加规则并不好。每次我想添加新规则时,我都必须刷新表(效率低下)。

有没有办法在规则前面添加一条规则,即将规则添加到表格的顶部而不是底部?

非常感谢。

答案1

使用-I开关:

sudo iptables -I INPUT 1 -i lo -j ACCEPT

这会在 INPUT 链中的位置 #1 处插入一条规则。

答案2

-I将插入。您可能正在使用-A附加。

您还可以iptables -I chain rulenum在链“chain”中插入编号为“rulenum”的规则。 -R chain rulenum可用于替换链“chain”中编号为“rulenum”的特定规则。 iptables -L -n --line-numbers将在最左边的列中显示规则编号。

答案3

为了帮助确定要添加新规则的行号,我使用iptables-save将现有规则输出到控制台。

对于初学者,我还可以推荐一个秘籍,即使用 webmin 管理您的规则。它非常友好,您可以轻松地手动重新排序列表中的规则。它还可以处理 redhat 与 debian 的 iptables 实现中的“细微”差异。

答案4

有一个名为的程序iptables-persistent,它使 iptable 的规则作为操作系统服务持久化。该服务包含一个配置文件作为iptables-save导出。

因此,您可以重新排序配置文件中的行并重新启动服务。

sudo service iptables-persistent restart

太简单!!!!!

相关内容