iptables配置持久化

iptables的配置持久化,实际是通过 iptables-save / iptables-restore 实现的,简单来说:

iptables-save 和 iptables-restore 结合实现iptables规则持久化
iptables-save > /etc/iptables.rules
iptables-restore < /etc/iptables.rules

不过实际使用,约定俗成会结合网络管理工具来执行

RHEL/CentOS

RHEL/CentOS使用 iptables-services 软件包来实现iptables规则持久化

  • 安装:

RHEL/CentOS安装iptables-services实现持久化
sudo dnf install iptables-services

安装完成后,有两个相应的iptables规则配置文件:

RHEL/CentOS iptables-services持久化配置文件
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables
RHEL/CentOS安装激活iptables-services
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl start iptables
sudo systemctl enable iptables
  • 检查iptables服务:

RHEL/CentOS iptables-services 服务状态
sudo systemctl status iptables
  • 保存iptables规则:

RHEL/CentOS 保存iptables规则
sudo iptables-save > /etc/sysconfig/iptables
# 或者
sudo ip6tables-save > /etc/sysconfig/ip6tables

然后重启系统也可以确保iptables规则恢复

Debian/Ubuntu

Debian/Ubuntu系统可以使用 iptables-persistent 软件包来实现iptables规则持久化(不过安装 Docker Atlas 等应用,也会在各自启动服务中配置自己的iptables规则)

  • 安装:

Debian/Ubuntu安装iptables-persistent实现持久化
sudo apt install iptables-persistent
  • Debian/Ubuntu的iptables-persistent使用以下2个配置文件:

Debian/Ubuntu iptables-persistent持久化配置文件
/etc/iptables/rules.v4
/etc/iptables/rules.v6
  • 所以在Debian/Ubuntu系统上iptalbes规则保存方法如下:

Debian/Ubuntu 保存iptables规则
sudo iptables-save > /etc/iptables/rules.v4
# 或者
sudo ip6tables-save > /etc/iptables/rules.v6

参考