保存iptable规则并开机自动加载
iptables-save
利用iptables-save命令可以将iptable规则保存到一个持久化存储的目录中,不同的系统保存的目录也有所不同(IPv4):
Debian/Ubuntu: iptables-save
> /etc/iptables/rules.v4
RHEL/CentOS: iptables-save
> /etc/sysconfig/iptables
保存之后,可以通过iptables-restore命令载入(IPv4):
Debian/Ubuntu: iptables-restore
< /etc/iptables/rules.v4
RHEL/CentOS: iptables-restore
< /etc/sysconfig/iptables
上面是针对IPv5的规则,如果你有使用IPv6的规则,通常需要执行下面对应的IPv6保存和恢复的命令(IPv4:
Debian/Ubuntu: ip6tables-save
> /etc/iptables/rules.v6
RHEL/CentOS: ip6tables-save
> /etc/sysconfig/ip6tables
注意: 这种方式只是保存规则和恢复的一种方式,并不是说保存规则后下次启动就会自动加载。一定要记住这点,如果要想系统启动后自动加载请看下面的方式。
iptables-persistent (Debian/Ubuntu)
从 Ubuntu 10.04 LTS (Lucid) 和 Debian 6.0 (Squeeze) 版本开始,可以通过安装一个名为 “iptables-persistent” 的包,安装后它以守护进程的方式来运行,系统重启后可以自动将保存的内容加载到iptables中。当然前提也是需要先保存规则。
安装
apt-get install iptables-persistent |
保存规则
service iptables-persistent save |
RHEL 和 CentOS 保存规则
RHEL/CentOS 提供了简单的方式来持久化存储iptables规则,可以直接通过iptables服务的命令来完成:
chkconfig --list | grep iptables |
IPv4规则信息会保存到 /etc/sysconfig/iptables 文件中,IPv6 规则保存到 /etc/sysconfig/ip6tables 文件中。 必须执行service iptables save
命令才会保存,保存后系统重启后会自动加载。