文章目录
  1. 1. iptables-save
  2. 2. iptables-persistent (Debian/Ubuntu)
    1. 2.1. 安装
    2. 2.2. 保存规则
  3. 3. RHEL 和 CentOS 保存规则

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
* Saving rules... * IPv4... * IPv6...

ls -1 /etc/iptables/
rules.v4
rules.v6

cat /etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Thu Aug 20 08:59:52 2015
*filter
:INPUT ACCEPT [5726:774869]
:FORWARD ACCEPT [170:27598]
:OUTPUT ACCEPT [5467:789045]
COMMIT
# Completed on Thu Aug 20 08:59:52 2015
# Generated by iptables-save v1.4.21 on Thu Aug 20 08:59:52 2015
*nat
:PREROUTING ACCEPT [23:1596]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [9:540]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.0.0/16 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Aug 20 08:59:52 2015

RHEL 和 CentOS 保存规则

RHEL/CentOS 提供了简单的方式来持久化存储iptables规则,可以直接通过iptables服务的命令来完成:

chkconfig --list | grep iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

# 如果不是开机启动,需要执行下面命令
chkconfig iptables on

# 保存规则
service iptables save

IPv4规则信息会保存到 /etc/sysconfig/iptables 文件中,IPv6 规则保存到 /etc/sysconfig/ip6tables 文件中。 必须执行service iptables save 命令才会保存,保存后系统重启后会自动加载。

文章目录
  1. 1. iptables-save
  2. 2. iptables-persistent (Debian/Ubuntu)
    1. 2.1. 安装
    2. 2.2. 保存规则
  3. 3. RHEL 和 CentOS 保存规则