首页主机资讯CentOS防火墙恢复配置的方法

CentOS防火墙恢复配置的方法

时间2026-01-21 03:18:03发布访客分类主机资讯浏览362
导读:CentOS 防火墙恢复配置的方法 一、先确认防火墙栈与当前状态 查看 firewalld 服务状态:sudo systemctl status firewalld(Active 为 active (running 表示运行中,inac...

CentOS 防火墙恢复配置的方法

一、先确认防火墙栈与当前状态

  • 查看 firewalld 服务状态:sudo systemctl status firewalld(Active 为 active (running) 表示运行中,inactive (dead) 表示已停止)。
  • 查看 firewalld 运行状态:firewall-cmd --state(返回 running/not running)。
  • 查看当前生效规则:sudo firewall-cmd --list-all(按区域展示,如 public 区域)。
  • 若为 CentOS 6 或使用 iptables 的场景:sudo service iptables status
    以上命令用于判断当前使用的是 firewalld 还是 iptables,从而选择对应的恢复路径。

二、使用 firewalld 的恢复路径

  • 重启服务以恢复运行态配置:sudo systemctl restart firewalld(适用于规则已变更但未生效或出现异常时)。
  • 完全重置为默认区域与空规则(会清空现有规则,谨慎):
    1. 将默认区域设为 publicsudo firewall-cmd --set-default-zone=public
    2. 获取当前区域:cur_zone=$(firewall-cmd --get-default-zone)
    3. 清空该区域的服务、端口、转发、富规则:sudo firewall-cmd --permanent --zone=$cur_zone --remove-service=all & & sudo firewall-cmd --permanent --zone=$cur_zone --remove-port=all & & sudo firewall-cmd --permanent --zone=$cur_zone --remove-forward-port=all & & sudo firewall-cmd --permanent --zone=$cur_zone --remove-rich-rule=all
    4. 使重置生效:sudo firewall-cmd --reload
  • 确保开机自启处于期望状态:sudo systemctl enable --now firewalld(开启并立即启动),或 sudo systemctl disable firewalld(禁止开机自启)。
  • 验证:firewall-cmd --list-all 应仅保留默认区域的基础设置。

三、使用 iptables 的恢复路径(CentOS 6 或已切换到 iptables 的场景)

  • 重启服务以恢复规则:sudo service iptables restart(读取 /etc/sysconfig/iptables 的当前配置)。
  • 将规则恢复到系统安装后的默认空规则:
    1. 保存现有规则(可选,备份):sudo service iptables save(写入 /etc/sysconfig/iptables
    2. 写入最小化默认规则(示例):
      • 清空:sudo iptables -F & & sudo iptables -X & & sudo iptables -Z
      • 允许回环:sudo iptables -I INPUT 1 -i lo -j ACCEPT
      • 允许已建立连接:sudo iptables -I INPUT 2 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      • 允许 SSH(示例端口 22):sudo iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT
      • 默认拒绝入站:sudo iptables -A INPUT -j DROP
    3. 保存为默认配置:sudo service iptables save
  • 确保开机自启:sudo chkconfig iptables on;如需临时放行某端口,可在规则中插入相应 ACCEPT 规则后再保存。

四、回滚到已备份配置

  • firewalld:
    • 若之前导出了规则:sudo firewall-cmd --permanent --new-zone=backup
    • 导入到备份区域:sudo firewall-cmd --permanent --zone=backup --load-zone-from-file=/path/backup.xml
    • 切换默认区域或复制规则回默认区域,然后 sudo firewall-cmd --reload
  • iptables:
    • 直接使用备份文件覆盖:sudo cp /path/iptables.bak /etc/sysconfig/iptables & & sudo service iptables restart(路径与文件名以实际备份为准)。

五、验证与注意事项

  • 验证:
    • firewalld:firewall-cmd --state 应为 runningfirewall-cmd --list-all 应显示预期的服务/端口;必要时 sudo firewall-cmd --reload
    • iptables:sudo service iptables status 显示规则已加载;sudo iptables -L -n 可查看链规则。
  • 注意事项:
    • 执行清空或重置规则前,务必保留一份当前规则备份,并确保 SSH(22/TCP) 等关键通道在重置后仍然可达,避免被锁死。
    • 修改规则后,firewalld 需要 firewall-cmd --reload 或重启服务;iptables 需要 service iptables restart 才会生效。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS防火墙恢复配置的方法
本文地址: https://pptw.com/jishu/788028.html
CentOS防火墙如何限制用户访问 Node.js在CentOS上如何配置防火墙

游客 回复需填写必要信息