温馨提示×

centos iptables怎样迁移规则

小樊
35
2026-09-17 21:12:09
栏目: 智能运维

在 CentOS 上迁移 iptables 规则,常见做法是通过导出 / 导入规则文件来完成。下面按使用场景说明。


一、确认当前使用的防火墙类型

CentOS 可能使用:

  • iptables(传统)
  • firewalld(CentOS 7+ 默认)

先确认:

systemctl status firewalld
iptables -L -n

如果主要是 iptables 规则,按下面方法迁移。


二、导出 iptables 规则(原机)

方法 1:使用 iptables-save(推荐)

iptables-save > iptables.rules

可选包含 NAT 表:

iptables-save > iptables.rules

(默认已包含 filter / nat / mangle 等)

查看内容:

cat iptables.rules

三、导入 iptables 规则(目标机)

方法 1:使用 iptables-restore

iptables-restore < iptables.rules

立即生效,但重启后丢失(除非配置持久化)。


四、规则持久化(重要)

CentOS 6

service iptables save

规则保存到:

/etc/sysconfig/iptables

CentOS 7(使用 iptables-services)

  1. 安装:
yum install iptables-services
systemctl disable firewalld
systemctl enable iptables
  1. 保存规则:
service iptables save

或:

iptables-save > /etc/sysconfig/iptables

五、整文件迁移方式(最简单)

原机

iptables-save > /etc/sysconfig/iptables

目标机

scp iptables.rules root@目标IP:/etc/sysconfig/iptables
systemctl restart iptables

六、如果你用的是 firewalld

不能直接用 iptables-save 迁移,建议:

firewall-cmd --list-all-zones > fw.txt

然后在目标机用 firewall-cmd 重新配置,或:

cp /etc/firewalld/zones/* 目标机
systemctl restart firewalld

七、注意事项

  • 网卡名可能不同(如 eth0 → ens192)
  • IP 地址需修改
  • 内核模块是否加载(如 nat)
  • Docker 会修改 iptables,注意顺序

如果你能告诉我:

  • CentOS 版本
  • 是否使用 firewalld / Docker
  • 是单机还是集群

我可以给你更精确的迁移命令

0