温馨提示×

centos iptables如何保存

小樊
40
2026-07-07 22:25:31
栏目: 智能运维

CentOS 中,iptables 规则默认不会自动保存,重启后会丢失。需要手动保存并配置开机自动恢复。下面按 CentOS 版本说明。


一、CentOS 6(传统方式)

1️⃣ 保存当前 iptables 规则

service iptables save

iptables-save > /etc/sysconfig/iptables

2️⃣ 确认服务开机启动

chkconfig iptables on

3️⃣ 查看已保存的规则

cat /etc/sysconfig/iptables

二、CentOS 7 / 8(systemd,推荐方式)

⚠️ CentOS 7 以后默认使用 firewalld,如果你在用 iptables,需要先确认。

1️⃣ 安装 iptables 服务(如果未安装)

yum install -y iptables-services

2️⃣ 停止并禁用 firewalld(如使用 iptables)

systemctl stop firewalld
systemctl disable firewalld

3️⃣ 启用 iptables 服务

systemctl enable iptables
systemctl start iptables

4️⃣ 保存当前规则

service iptables save

iptables-save > /etc/sysconfig/iptables

5️⃣ 查看保存的规则

cat /etc/sysconfig/iptables

三、手动保存 / 恢复(通用)

✅ 保存规则

iptables-save > /root/iptables.rules

✅ 恢复规则

iptables-restore < /root/iptables.rules

✅ 开机自动恢复(示例)

编辑 /etc/rc.d/rc.local

iptables-restore < /root/iptables.rules

并赋予执行权限:

chmod +x /etc/rc.d/rc.local

四、IPv6(ip6tables)

如果是 IPv6 规则:

ip6tables-save > /etc/sysconfig/ip6tables
service ip6tables save

五、常见问题

❓ 重启后规则丢失?

  • 没执行 service iptables save
  • 没启用 iptables 服务
  • firewalld 覆盖

❓ 查看当前规则

iptables -L -n -v

六、建议

  • 新系统:优先使用 firewalld
  • 老系统 / 运维习惯:使用 iptables-services

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ 是服务器还是云主机
  • ✅ 当前是否启用了 firewalld

我可以给你一套最稳妥的配置方案

0