# iptables-save - 备份iptables的表配置

iptables-save命令 用于将linux内核中的iptables表导出到标准输出设备商,通常,使用shell中I/O重定向功能将其输出保存到指定文件中。

iptables-save指令可以将内核中当前的iptables配置导出到标准输出。通过IO重定向功能来定向输出到文件。

# 适用范围

RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux

# 语法

iptables-save  [OPTION]

# 选项

-c, --counters            # 指定要保存的iptables表时,保存当权的数据包计算器和字节计数器的值;
-t, --table               # 指定要保存的表的名称。
-M, --modprobe modprobe_program # 指定调制解调器探测程序的路径。默认情况下,iptables-Save将检查“/proc/sys/kernel/modprobe”,以确定可执行文件的路径。

# 举例

显示iptables配置

[root@localhost ~]$ iptables-save –c   #显示计数器信息
# Generated by iptables-save v1.4.7 on Sun Sep 30 16:20:14 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1802:148673]
[14011:18173274] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[27:2268] -A INPUT -p icmp -j ACCEPT
[585:30820] -A INPUT -i lo -j ACCEPT
[4526:2073410] -A INPUT -i eth+ -j ACCEPT
[0:0] -A INPUT -i wlan+ -j ACCEPT
[0:0] -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
[0:0] -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

导出指定表的信息

[root@localhost ~]$ iptables-save -t nat # 输出nat表的信息
# Generated by iptables-save v1.4.7 on Sun Sep 30 16:21:17 2018
*nat
:PREROUTING ACCEPT [6181:2947647]
:POSTROUTING ACCEPT [573:30328]
:OUTPUT ACCEPT [2466:479800]
-A POSTROUTING -o eth+ -j MASQUERADE
-A POSTROUTING -o wlan+ -j MASQUERADE
COMMIT
# Completed on Sun Sep 30 16:21:17 2018

备份iptables的表配置

[root@localhost ~]$ iptables-save -t filter > iptables.bak
[root@localhost ~]$ cat iptables.bak
# Generated by iptables-save v1.3.5 on Thu Dec 26 21:25:15 2013
*filter
:INPUT DROP [48113:2690676]
:FORWARD accept [0:0]
:OUTPUT ACCEPT [3381959:1818595115]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT