温馨提示×

centos iptables为何重启

小樊
46
2026-09-08 17:06:51
栏目: 智能运维

在 CentOS 中,iptables 规则重启后丢失(或“重启”),通常有以下几种原因和含义,取决于你说的“重启”是指什么:


一、你指的是:服务器重启后 iptables 规则没了

这是最常见情况

原因

  • CentOS 默认 iptables 规则是内存中的,不会自动持久化
  • 系统重启后,iptables 服务重新加载,规则清空

解决方案(保存规则)

CentOS 6 / 旧版

service iptables save
# 或
/etc/init.d/iptables save

规则会保存到:

/etc/sysconfig/iptables

CentOS 7(使用 iptables-services)

yum install iptables-services
systemctl enable iptables
systemctl start iptables

iptables-save > /etc/sysconfig/iptables

或:

service iptables save

二、你指的是:iptables 服务被重启了

可能原因包括:

1. 手动执行了重启命令

systemctl restart iptables
service iptables restart

2. 网络服务重启触发

systemctl restart network

在某些版本中会重新加载 iptables

3. 系统更新或脚本触发

  • yum 更新
  • 安全软件
  • 自写脚本

三、你指的是:CentOS 7 默认不是 iptables,而是 firewalld

重要说明

  • CentOS 7 默认使用 firewalld
  • 如果你没装 iptables-services,iptables 实际是由 firewalld 管理的

查看:

systemctl status firewalld

如果 firewalld 重启,iptables 规则也会变:

systemctl restart firewalld

四、如何确认当前是谁在管 iptables

iptables -L -n
systemctl status firewalld
systemctl status iptables

五、推荐做法(总结)

✅ 如果你要用 iptables:

  1. 关闭 firewalld
    systemctl stop firewalld
    systemctl disable firewalld
    
  2. 安装并启用 iptables-services
  3. 每次改完规则执行:
    iptables-save > /etc/sysconfig/iptables
    

如果你能补充一句:

  • 规则丢失
  • 还是 iptables 服务自动重启
  • 还是 CentOS 几

我可以给你更精准的答案。

0