温馨提示×

centos怎么恢复iptables规则

小樊
41
2026-08-29 10:01:31
栏目: 智能运维

CentOS 恢复 iptables 规则,常见有几种情况,下面按 CentOS 7/8(使用 firewalld 或 iptables 服务)CentOS 6 分别说明。


一、检查当前 iptables 状态

iptables -L -n
systemctl status iptables
systemctl status firewalld

⚠️ CentOS 7 以后默认是 firewalld,iptables 可能被 firewalld 接管。


二、恢复 iptables 规则(常见方式)

✅ 方法 1:从备份文件恢复(最常用)

如果你之前备份过规则:

iptables-restore < /etc/sysconfig/iptables

或者:

iptables-restore < iptables.backup

立即生效


✅ 方法 2:使用 iptables 服务(CentOS 7)

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-restore < /etc/sysconfig/iptables

✅ 方法 3:手动重新加载规则文件

CentOS 规则默认保存在:

/etc/sysconfig/iptables

直接恢复:

iptables-restore < /etc/sysconfig/iptables

三、如果规则文件丢失怎么办?

1️⃣ 查看是否有自动备份

ls /etc/sysconfig/iptables*
ls /var/lib/iptables/

2️⃣ 从系统初始化配置恢复(全新规则)

iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

保存:

service iptables save
# 或
iptables-save > /etc/sysconfig/iptables

四、CentOS 6 恢复方式(老系统)

service iptables restart

或:

iptables-restore < /etc/sysconfig/iptables

五、如何防止下次丢失?

✅ 开机自动加载:

systemctl enable iptables

✅ 定期备份:

iptables-save > /root/iptables-$(date +%F).bak

六、firewalld 与 iptables 冲突说明

系统 推荐
CentOS 6 iptables
CentOS 7/8 firewalld(不用 iptables)
需要 iptables 关闭 firewalld

七、常见报错

iptables: No config file

iptables-save > /etc/sysconfig/iptables

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

  • ✅ CentOS 版本
  • ✅ 是否有 /etc/sysconfig/iptables
  • ✅ 是误删还是重启后丢失

我可以给你 精确恢复方案

0