温馨提示×

centos防火墙备份怎么操作

小樊
31
2025-12-17 11:12:55
栏目: 智能运维

CentOS 防火墙备份与恢复操作指南

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

  • 查看 firewalld 是否运行:systemctl status firewalld(Active 为 running 表示在用 firewalld)。
  • 查看 firewalld 状态:firewall-cmd --state(返回 running/not running)。
  • 查看 iptables 当前规则:iptables -nvL(有规则输出说明在用 iptables)。
  • 注意:CentOS 7 及以上默认使用 firewalld;若你手动切换到 iptables,备份方法不同。

二、使用 firewalld 的备份与恢复

  • 备份步骤
    1. 备份当前“运行时”配置到永久区(避免丢失最近改动):firewall-cmd --runtime-to-permanent
    2. 拷贝配置目录(含所有 zone 与自定义服务):
      • 全量备份:cp -a /etc/firewalld /path/to/backup/firewalld-$(date +%F)
      • 仅备份区域:cp -a /etc/firewalld/zones /path/to/backup/firewalld-zones-$(date +%F)
      • 如有自定义服务:cp -a /etc/firewalld/services /path/to/backup/firewalld-services-$(date +%F)
    3. 可选:导出默认区域配置到单独文件:firewall-cmd --list-all --permanent > /path/to/backup/zone-$(firewall-cmd --get-default-zone)-$(date +%F).txt
  • 恢复步骤
    1. 先停止 firewalld:systemctl stop firewalld
    2. 恢复配置目录(覆盖前建议先备份现有配置):
      • 全量恢复:cp -a /path/to/backup/firewalld-YYYY-MM-DD /etc/firewalld
      • 或仅恢复区域:cp -a /path/to/backup/firewalld-zones-YYYY-MM-DD /etc/firewalld/zones
    3. 启动并加载:systemctl start firewalld && firewall-cmd --reload
  • 说明:firewalld 的配置主要位于 /etc/firewalld/(含 zones/services/firewalld.conf)。

三、使用 iptables 的备份与恢复

  • 备份步骤
    • 备份 IPv4 规则:iptables-save > /path/to/backup/iptables-$(date +%F).rules
    • 备份 IPv6 规则(如启用):ip6tables-save > /path/to/backup/ip6tables-$(date +%F).rules
    • 传统方式(若系统使用 iptables 服务):service iptables save(会写入 /etc/sysconfig/iptables)。
  • 恢复步骤
    • 从文件恢复:iptables-restore < /path/to/backup/iptables-YYYY-MM-DD.rules
    • IPv6:ip6tables-restore < /path/to/backup/ip6tables-YYYY-MM-DD.rules
    • 使用服务方式恢复:service iptables restart(会读取 /etc/sysconfig/iptables)。
  • 提示:规则顺序很重要,恢复时按正确顺序导入;确保具备 root 权限。

四、自动化与注意事项

  • 建议做法
    • 在备份命令中加入时间戳:$(date +%F),便于多版本留存与回滚。
    • 备份完成做一次校验:firewalld 可对比 –list-all 输出;iptables 可对比 iptables -Siptables -nvL
    • 变更前先备份,变更后用 firewall-cmd --reload(不中断现有连接)或 systemctl restart firewalld 使配置生效。
  • 风险提示
    • 远程操作防火墙存在断连风险,建议通过带外管理或先放行 SSH 22/TCP,并在低峰期执行。
    • 覆盖 /etc/firewalld/ 前务必先备份现有目录;恢复后及时验证业务连通性。

0