在Linux系统中,使用iptables命令配置的防火墙规则通常不会自动保存。当系统重启时,这些规则会丢失。为了在重启后保留iptables规则,你需要将它们保存到一个文件中,并在启动时自动加载这些规则。以下是在不同Linux发行版上保存和恢复iptables规则的方法:
在Debian/Ubuntu上:
-
保存规则:
sudo iptables-save > /etc/iptables/rules.v4 -
恢复规则: 在系统启动时自动加载规则,可以创建一个启动脚本:
sudo nano /etc/network/if-pre-up.d/iptables添加以下内容:
#!/bin/sh /sbin/iptables-restore < /etc/iptables/rules.v4赋予脚本执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
在Red Hat/CentOS上:
-
保存规则:
sudo service iptables save或者
sudo iptables-save > /etc/sysconfig/iptables -
恢复规则: 在系统启动时自动加载规则,可以编辑
/etc/rc.d/rc.local文件(在较新的系统中可能是/etc/rc.d/rc.local.d/目录下的文件):sudo nano /etc/rc.d/rc.local在
exit 0之前添加以下行:iptables-restore < /etc/sysconfig/iptables
在Fedora上:
-
保存规则:
sudo service iptables save或者
sudo iptables-save > /etc/firewalld/zones/public.xml -
恢复规则: 使用firewalld服务来管理iptables规则:
sudo firewall-cmd --runtime-to-permanent
在Arch Linux上:
-
保存规则:
sudo iptables-save > /etc/iptables/iptables.rules -
恢复规则: 创建一个启动脚本:
sudo nano /etc/systemd/system/iptables-restore.service添加以下内容:
[Unit] Description=Restore IPTables rules After=network.target [Service] Type=oneshot ExecStart=/sbin/iptables-restore < /etc/iptables/iptables.rules [Install] WantedBy=multi-user.target启用并启动服务:
sudo systemctl enable iptables-restore.service sudo systemctl start iptables-restore.service
请注意,不同的Linux发行版可能会有不同的包和服务名称,例如iptables-services或firewalld。确保你使用的是适合你系统的命令和方法。此外,如果你使用的是SELinux,可能还需要配置相关的策略以允许iptables规则的加载。
以上就是关于“iptables如何保存规则设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm