在不重新启动的情况下添加iptables规则是否足够?


24

(Ubuntu服务器)我正在运行

sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 4/sec -j ACCEPT

然后

sudo iptables-save

要获得iptables规则的功能,仅执行上述命令就足够了(无需重新启动iptables)吗?

Answers:


15

为了清楚起见,该iptables-save命令的功能不是激活规则,其目的是保存规则供以后使用。常见用途是:

iptables-save > iptables.dat

这会将当前规则保存到iptables.dat。您可以使用以下命令恢复此规则集:

iptables-restore < iptables.dat

您可以rc.local在重新启动后放入此行以还原规则,因为默认情况下重新启动会清除所有规则。


7
而且,不要忘了iptables-apply是否要保持冷静。(默认10秒)
gertas,

13

@cewebugil就您最初的问题而言,只要应用IPTABLE规则就足够了。应用IPTABLE规则的那一刻,它立即变为活动状态,但是重启后将无法生存。

为了使IPTABLES能够在网络配置文件/ etc / network / interfaces文件(我指的是Debian / Ubuntu系统)中重新启动,您需要在其中添加一些
pre-up iptables-restore < firewall.txt

在桥接器上设置防火墙时检查此线程是否混乱,以及此链接 http://www.debian-administration.org/articles/445

从锁中解脱自我的两种良好做法

1)在测试IPTABLES时,最好有一个cron作业条目,该条目每15分钟左右刷新一次规则,这样一来,如果您偶然在15分钟后应用了错误的规则,该规则将被删除,然后您可以再次登录。如果某些IPTABLE规则错误,将使您免于锁定。

2)这也可以通过

 iptables-restore < iptables_rules; sleep 30; iptables-restore < clean_rules

想法是应用规则,等待30秒,然后应用一组规则以允许所有访问。执行此行时,按Enter键几次,可能会发生两件事:

您的规则将您拒之门外(按Enter键不会显示在屏幕上,因此请等待一段时间以将其清除;如果您的规则有效并且您可以在屏幕上看到新行,请在睡眠结束之前按CTRL + C而且你很好。


15
您也可以使用iptables-apply -t 30 iptables_rulesiptables-apply将等待您积极确认所应用的规则,如果30秒钟后您不回复,它将恢复为以前的规则。
pepoluan 2011年

@pepoluan感谢您提供的信息,我不知道。
注册用户

是的,上个星期才发现有关我自己的信息。现在我离不开它:-)
pepoluan 2011年

12

是的,一旦您将规则添加到iptables中,它就会立即变为活动状态-这就是为什么您应该谨慎使用规则的原因,因为这有可能将您自己锁定在外。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.