问题: iptables在服务器重新启动后重置为默认设置。
我正试图像这样制定规则:
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
在那之后,我会:
service iptables save
它会写回像这样的东西
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
在这之后我就跑了(这只做过一次):
chkconfig iptables on
(我已经读到,为了在重新启动后恢复设置,必须这样做)
之后,我重新启动并运行以下命令:
systemctl list-unit-files | grep iptables
而且我看到iptables.service是启用的,然而,规则(打开端口3000)不再工作了。
如何持久化这些设置?
发布于 2014-09-05 14:13:17
CentOS 7现在正在使用FirewallD!使用--permanent
标志保存设置。
示例:
firewall-cmd --zone=public --add-port=3000/tcp --permanent
然后重新加载规则:
firewall-cmd --reload
发布于 2015-11-28 12:58:39
通过以下命令禁用firewalld:
systemctl disable firewalld
然后通过以下命令安装iptables-service:
yum install iptables-services
然后启用iptable作为服务:
systemctl enable iptables
现在,您可以通过以下命令保存您的iptable规则:
service iptables save
发布于 2015-01-04 17:19:06
在CentOS 7上,您可能需要安装iptables-services
包(多亏了建议的@RichieACC ):
sudo yum install -y iptables-services
然后使用systemd
启用服务:
sudo systemctl enable iptables.service
并运行initscript以保存防火墙规则:
sudo /usr/libexec/iptables/iptables.init save
https://serverfault.com/questions/626521
复制相似问题