iptables 命令所创建的规则被存储在内存中。如果在保存 iptables 规则前重新启动系统,则所有的规则将会丢失。要想在系统重新启动后不丢失 netfilter 过滤规则,这些规则必须被保存。要保存 netfilter 规则,以根用户的身份输入以下命令:
/sbin/service iptables save
这个命令执行 iptables 初始脚本,它运行 /sbin/iptables-save 程序,并把当前的 iptables 配置写入到 /etc/sysconfig/iptables。存在的 /etc/sysconfig/iptables 文件被存为 /etc/sysconfig/iptables.save。
当系统下一次启动时,iptables 初始脚本会使用 /sbin/iptables-restore 命令来重新应用存储在 /etc/sysconfig/iptables 中的规则。
在把新的 iptables 规则写入到 /etc/sysconfig/iptables 文件前,最好对它进行测试。您可以把另外一个系统版本中的这个文件复制到这个系统上来复制 iptables 规则。这个方法可以被用来在多个系统上实施一组 iptables 规则。
您还可以把 iptables 规则保存到一个单独的文件中来发布它们,对它们进行备份或用于其它目的。要保存您的 iptables 规则,以根用户的身份运行以下命令:
[root@myserver ~]# iptables-save > <filename> 在这里,<filename> 是由用户定义的、您的规则的名称。
如果把 /etc/sysconfig/iptables 文件传送到其它系统上,输入 /sbin/service iptables restart 来使新规则生效。
请注意 iptables命令(/sbin/iptables - 它被用来处理规则表和 chain 来实现 iptables 的功能)和 iptables服务(/sbin/iptables service - 它被用来启用或禁用 iptables 服务)间的不同。