首页主机资讯CentOS防火墙更新指南

CentOS防火墙更新指南

时间2026-01-14 15:57:03发布访客分类主机资讯浏览1013
导读:CentOS 防火墙更新指南 一 适用范围与准备 适用系统:以 CentOS 7 为主,默认使用 firewalld 管理服务与规则;CentOS 6 及更早版本通常使用 iptables,命令与思路不同。操作前建议先确认系统与防火墙组件...

CentOS 防火墙更新指南

一 适用范围与准备

  • 适用系统:以 CentOS 7 为主,默认使用 firewalld 管理服务与规则;CentOS 6 及更早版本通常使用 iptables,命令与思路不同。操作前建议先确认系统与防火墙组件版本:cat /etc/centos-releasefirewall-cmd --versionsystemctl status firewalld。为避免锁死远程连接,务必保留一条当前 SSH 会话,必要时通过 控制台/VNC 备用通道操作。

二 更新防火墙规则的标准流程

  • 查看状态与现有规则
    • 服务状态:systemctl status firewalldfirewall-cmd --state
    • 当前生效规则:firewall-cmd --list-all
    • 区域与接口:firewall-cmd --get-active-zonesfirewall-cmd --get-zone-of-interface=eth0
  • 新增或调整规则(永久生效)
    • 开放端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
    • 关闭端口:firewall-cmd --zone=public --remove-port=80/tcp --permanent
    • 按服务开放:firewall-cmd --permanent --add-service=ssh
    • 端口区间:firewall-cmd --zone=public --add-port=10000-20000/tcp --permanent
    • 特定来源访问某端口(富规则):firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="3306" protocol="tcp" accept'
  • 使配置生效
    • 热加载(不断开现有连接):firewall-cmd --reload
    • 完全重载(类似重启服务,可能中断会话):firewall-cmd --complete-reload
  • 验证
    • 端口是否开放:firewall-cmd --query-port=80/tcp
    • 查看已开放端口:firewall-cmd --list-ports
    • 查看完整规则:firewall-cmd --list-all
  • 服务管理
    • 启动/停止/重启:systemctl start|stop|restart firewalld
    • 开机自启/禁用:systemctl enable|disable firewalld

三 升级 firewalld 软件包

  • 在线升级(推荐)
    • 执行:sudo yum update firewalld -y,随后 sudo systemctl restart firewalld
    • 升级后核对版本:firewall-cmd --versionsystemctl status firewalld
  • 离线升级(无外网环境)
    • 在一台可联网同版本主机下载所需 RPM 包及其依赖,拷贝至目标机
    • 安装(示例):sudo rpm -ivh ebtables-*.rpm libselinux-python-*.rpm python-slip-*.rpm python-slip-dbus-*.rpm firewalld-*.rpm
    • 重启服务:sudo systemctl restart firewalld
    • 注意:离线包需与系统版本、架构匹配,避免依赖冲突;必要时使用 --nodeps --force 仅作应急,随后尽快补齐依赖并回归正常安装方式。

四 回滚与应急

  • 快速回滚到上次持久化配置
    • 重载当前配置:firewall-cmd --reload
    • 重启服务以恢复运行时状态:systemctl restart firewalld
  • 紧急放行与阻断
    • 立即拒绝所有包(应急阻断):firewall-cmd --panic-on
    • 取消紧急模式:firewall-cmd --panic-off
  • 版本回退(离线场景)
    • 使用已保存的旧版 RPM 包执行 rpm -Uvh --oldpackage firewalld-< 旧版本> .rpm,随后重启服务
  • 风险提示
    • 生产环境变更前先备份规则与关键配置,变更窗口内保持控制台/带外管理可达,避免误删 SSH 导致失联。

五 常见问题与排查

  • 规则不生效
    • 检查是否加了 --permanent,修改永久配置后需 firewall-cmd --reload;区分运行时与持久化配置差异。
  • 区域与接口绑定
    • 确认接口所属区域:firewall-cmd --get-zone-of-interface=eth0;必要时在对应区域添加规则或使用 --zone= 显式指定。
  • 端口范围与服务名
    • 端口区间:--add-port=10000-20000/tcp;服务名方式:--add-service=http|https|ssh(可用 firewall-cmd --get-services 查看可用服务)。
  • 配置文件路径
    • 区域配置示例:/etc/firewalld/zones/public.xml,变更后可用 firewall-cmd --reload 使其生效。

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


若转载请注明出处: CentOS防火墙更新指南
本文地址: https://pptw.com/jishu/778707.html
CentOS防火墙与其他服务冲突 怎样查看CentOS的dhclient日志

游客 回复需填写必要信息