温馨提示×

怎样恢复CentOS iptables配置

小樊
49
2026-08-03 00:43:20
栏目: 智能运维

要恢复 CentOS 的 iptables 配置,取决于你是要恢复默认规则从备份还原,还是解决因规则错误导致的网络问题。下面按常见场景给你完整说明(适用于 CentOS 6 / 7 / 8)。


一、确认当前 iptables 状态

systemctl status iptables
iptables -L -n -v

如果是 CentOS 7/8,默认可能使用 firewalld,而不是 iptables 服务。


二、方式一:恢复为默认(清空)iptables 规则 ✅(最常用)

1️⃣ 清空所有规则

iptables -F        # 清除所有规则
iptables -X        # 删除自定义链
iptables -Z        # 清零计数器

2️⃣ 设置默认策略(推荐)

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

⚠️ 远程服务器务必先 ACCEPT,否则可能断网

3️⃣ 保存规则(避免重启失效)

CentOS 6

service iptables save

CentOS 7/8

iptables-save > /etc/sysconfig/iptables

三、方式二:从备份文件恢复 iptables 规则 ✅

1️⃣ 如果你有备份文件(如 iptables.bak)

iptables-restore < /root/iptables.bak

2️⃣ 永久保存

iptables-save > /etc/sysconfig/iptables

四、方式三:恢复 CentOS 安装时的默认 iptables 规则

CentOS 没有“系统默认”规则,但通常:

  • INPUT / OUTPUT / FORWARD 都是 ACCEPT
  • 没有任何限制

所以最简恢复就是:

iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

五、如果服务器已经断网(紧急恢复)⚠️

方法 1:通过控制台执行

在云厂商或物理控制台执行:

iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

方法 2:重启进入单用户模式

systemctl set-default multi-user.target
reboot

然后清空规则。


六、CentOS 7/8 使用 firewalld 的情况

如果你之前切换过 firewalld:

systemctl stop iptables
systemctl disable iptables
systemctl start firewalld
systemctl enable firewalld

恢复原 firewalld 规则:

firewall-cmd --reload

七、推荐的安全恢复流程 ✅(生产环境)

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -X
iptables-save > /etc/sysconfig/iptables

八、常见错误提醒 ❌

错误 说明
先 DROP INPUT 可能立刻断网
重启前未保存 规则丢失
混淆 firewalld 和 iptables 规则不生效

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

  • ✅ CentOS 版本
  • ✅ 是本地还是云服务器
  • ✅ 是否还能 SSH 登录

我可以给你精确到命令级别的恢复方案。

0