解决方案:
默认情况下,使用 iptables 命令创建的规则存储在内存中。
如果在保存iptables规则集之前重启系统,所有规则都会丢失。
为了让 netfilter 规则在系统重启后保持不变,需要保存它们。
为此,请以 root 身份登录并键入:
# service iptables save
这将执行 iptables init 脚本,该脚本运行 iptables-save 程序并将当前的 iptables 配置写入 /etc/sysconfig/iptables。
现有的 /etc/sysconfig/iptables 文件保存为 /etc/sysconfig/iptables.save。
下次系统启动时,iptables init 脚本使用 iptables-restore 命令重新应用保存在 /etc/sysconfig/iptables 中的规则。
确保 iptables 服务在启动时启动
用户通常面临的另一个问题是 iptables 服务无法在启动时启动。
为避免这种情况,请验证该服务是否设置为在启动时启动
# chkconfig iptables --list iptables 0:off 1:off 2:off 3:on 4:on 5:on 6:off
如果 iptables 关闭,则为运行级别 3-5 启用该服务
# chkconfig iptables on
问题:
我设置了防火墙/数据包过滤规则,但在重新启动后规则不再存在。
on
it
road
.com
另一种保存iptables规则的方法
另一种选择是使用 iptables-save 和 iptables-restore 命令。
要将当前的 iptables 规则集保存到我们选择的文件中:
# iptables-save > /tmp/rules.backup
恢复规则
我们可以稍后通过运行来恢复规则集
# iptables-restore < /tmp/rules.backup
请记住,要恢复工作,我们应该首先备份现有的 iptables 规则。
日期:2020-09-17 00:11:52 来源:oir作者:oir