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

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

是否可以添加规则,即在表的顶部而不是底部添加规则?

非常感谢。

#1 楼

使用-I开关:

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


这会将规则插入INPUT链中的#1位置。

评论


ang!你把我击败了18秒...我不够快:(

–雅尼克·吉鲁亚德(Yanick Girouard)
2012年3月29日19:28

呵呵呵呵呵呵

– cjc
2012年3月29日19:30

@YanickGirourad,哈哈,你打勾了!

– cjc
2012年3月29日21:56

还要注意,使用-I INPUT 1时,不会覆盖任何规则。而是将所有规则上移一个位置。

–阿卜杜勒(Abdull)
2014年1月12日22:25

阿卜杜勒的重要说明。

– Halsfar
16-2-4在22:19

#2 楼

-I将插入。您可能正在使用-A进行追加。

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

评论


我现在很着急,或者我想查找一下,但是很高兴看到“链”如何在此处工作或链接的示例。

– PJ Brunet
13年7月3日在23:21

//,请参阅fedoraproject.org/wiki/…,以获取有关如何正确插入IPTables规则的更多信息。

– Nathan Basanese
16年6月14日在23:26

#3 楼

为了帮助确定要添加新规则的行号,我使用iptables-save将现有规则输出到控制台。对于初学者,我也可以建议使用Webmin管理您的规则来创建作弊卡。这非常友好,您可以轻松地手动对列表中的规则进行重新排序。它还将处理基于iptables的redhat vs debian实现中的“轻微”变化。

评论


iptables -L --line-numbers与平台无关

– Sirex
13年8月14日在1:32

我不确定为什么要为此使用webmin(或其他任何东西)。学习命令行方式比使用拐杖要好得多。

–猎鹰Momot
13年8月14日在2:14

#4 楼

有一个名为iptables-persistent的程序,可将iptable的规则作为OS服务持久化。此服务包含一个作为iptables-save导出的配置文件。

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

sudo service iptables-persistent restart


太简单了!!!!!