首页/安全/安全加固速查/firewalld 放行服务与端口(permanent+reload 流程)
防火墙与访问控制50 条

firewalld 放行服务与端口(permanent+reload 流程)

放行优先选“服务”(自带协议与描述语义),非标端口/端口段再用 add-port;任何变更都走 permanent + reload 的固定流程。

安全加固速查安全更新于 2026-10-13

放行的两种写法与固定流程

firewalld 里放行有两种写法:add-service 引用预定义服务(自带协议与端口定义,语义清晰、便于审计对账),add-port 直接指定端口或端口段(适合非标端口)。同一需求尽量只用一种口径,避免对账时两套表述打架。所有变更都必须走同一条流程:--permanent 写入持久化配置,再 --reload 生效,然后在列表命令里复核结果,最后从另一台机器实测连通性。

基本信息

加固项最小化放行与规范化变更流程
适用平台Linux(firewalld)
权限要求root 或已授权的 polkit 用户
达标判据每条放行都能对应到业务必要性记录
自定义服务可放 /etc/firewalld/services/ 自定义 XML 定义

典型使用场景

  • 新业务上线时按需放行端口,而非整段放开
  • 把临时排障放行改写成限源限端口的正式规则
  • 巡检时对账实际放行项与业务清单
  • 同一服务多端口场景用自定义服务定义统一管理
  • 回收下线业务的放行项,减少暴露面

查询与放行

查询与放行
firewall-cmd --get-services | tr ' ' '\n' | grep -i http    # 确认服务名与定义
firewall-cmd --info-service=https                            # 看该服务包含哪些端口与协议
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=8443/tcp                 # 非标端口
firewall-cmd --permanent --add-port=5000-5010/tcp            # 端口段
firewall-cmd --reload                                        # 使配置生效

复核与回收

复核与回收
firewall-cmd --list-services
firewall-cmd --list-ports
firewall-cmd --permanent --remove-port=8443/tcp && firewall-cmd --reload   # 回收
ss -lntp | grep -E ':8443|:443'   # 反向确认服务确实在监听,放行才有的放矢

两种写法怎么选

写法适用场景注意事项
--add-service标准服务,端口定义随发行版更新对方报的端口与服务定义不一致时要复核
--add-port非标端口、端口段、临时业务数量多时难以对账,建议登记业务用途
自定义服务 XML同一业务多端口多协议文件放 /etc/firewalld/services/,改后需 reload
rich rule需要限定来源地址或限速求值顺序为 log、deny、allow,与书写顺序无关
最高频的坑是忘写 --permanent:只加运行时规则时当前连接正常,reload 或重启后规则消失,表现为“昨天还能访问今天不通”。反过来,写完 --permanent 不 reload 也不会立即生效,两个动作要成套执行并复核列表输出。
--reload 是原子重载:已建立的连接通常不会被中断,但没有持久化的临时改动会被清掉,这是排障时用临时规则、收尾时忘记落盘就会踩到的坑。把临时规则和持久规则分开记录,可以避免两者混淆。

易错点

  • 忘写 --permanent,reload 或重启后规则消失,是 firewalld 最典型的“灵异事件”
  • 只加规则不删除旧的宽放行:同一端口同时存在 0.0.0.0/0 的放行,限源规则形同虚设
  • 端口段放行范围写得过大(如 1-65535),等于放弃防火墙的作用,应逐端口核对
  • 用 add-port 放行后再用 add-service 放同一业务,两套口径并存导致审计对账困难

数据来源与参考

  • firewall-cmd(1) 手册
  • firewalld 官方文档:Opening ports and services

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌