温馨提示×

怎样保存CentOS iptables配置

小樊
43
2026-08-03 00:36:18
栏目: 智能运维

在 CentOS 系统中保存 iptables 配置的方式取决于 CentOS 版本 以及是否使用 iptables-services。下面按常见情况说明。


一、CentOS 6 及更早版本(传统方式)

1. 保存当前 iptables 规则

service iptables save

/etc/init.d/iptables save

规则会保存到:

/etc/sysconfig/iptables

2. 设置开机自动恢复

chkconfig iptables on

二、CentOS 7 / 8(使用 iptables-services)

CentOS 7 默认使用 firewalld如果仍想使用 iptables,需要先安装并启用 iptables-services

1. 安装 iptables-services

yum install -y iptables-services

2. 停止并禁用 firewalld

systemctl stop firewalld
systemctl disable firewalld

3. 启用 iptables

systemctl enable iptables
systemctl start iptables

4. 保存 iptables 规则

service iptables save

iptables-save > /etc/sysconfig/iptables

5. 查看保存的规则

cat /etc/sysconfig/iptables

三、手动保存与恢复(通用方式)

保存规则

iptables-save > /root/iptables.rules

恢复规则

iptables-restore < /root/iptables.rules

⚠️ 这种方式 不会自动开机恢复,需要加入启动脚本。


四、开机自动恢复(手动方式)

方法 1:写入 rc.local

chmod +x /etc/rc.d/rc.local
echo "iptables-restore < /root/iptables.rules" >> /etc/rc.d/rc.local

方法 2:systemd 服务(推荐)

创建服务文件:

vi /etc/systemd/system/iptables-restore.service

内容示例:

[Unit]
Description=Restore iptables rules
After=network.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore /root/iptables.rules
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

启用:

systemctl enable iptables-restore

五、确认当前 iptables 状态

iptables -L -n -v

六、总结建议

场景 推荐方式
CentOS 6 service iptables save
CentOS 7/8 使用 iptables iptables-services
临时规则 iptables-save / iptables-restore
新系统 尽量使用 firewalld

如果你愿意,可以告诉我 CentOS 具体版本,我可以给你最精确的命令。

0