use*_*822 73 iptables centos centos7
问题:服务器重启后 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)不再起作用。
如何保留这些设置?
小智 95
通过以下命令禁用 firewalld:
systemctl disable firewalld
Run Code Online (Sandbox Code Playgroud)
然后通过以下命令安装 iptables-service:
yum install iptables-services
Run Code Online (Sandbox Code Playgroud)
然后启用 iptables 作为服务:
systemctl enable iptables
Run Code Online (Sandbox Code Playgroud)
现在您可以通过以下命令保存您的 iptable 规则:
service iptables save
Run Code Online (Sandbox Code Playgroud)
sgo*_*ohl 73
CentOS 7现在正在使用FirewallD!使用该--permanent标志来保存设置。
例子:
firewall-cmd --zone=public --add-port=3000/tcp --permanent
Run Code Online (Sandbox Code Playgroud)
然后重新加载规则:
firewall-cmd --reload
Run Code Online (Sandbox Code Playgroud)
qri*_*ris 30
在 CentOS 7 Minimal 上,您可能需要安装该iptables-services软件包(感谢@RichieACC的建议):
sudo yum install -y iptables-services
Run Code Online (Sandbox Code Playgroud)
然后使用systemd以下方法启用服务:
sudo systemctl enable iptables.service
Run Code Online (Sandbox Code Playgroud)
并运行 initscript 以保存您的防火墙规则:
sudo /usr/libexec/iptables/iptables.init save
Run Code Online (Sandbox Code Playgroud)
iptables-save > /etc/sysconfig/iptables
Run Code Online (Sandbox Code Playgroud)
将保存当前配置,而无需安装任何其他库或服务。
| 归档时间: |
|
| 查看次数: |
249056 次 |
| 最近记录: |