0

0

firewalld rich rule 添加后不生效或被其他 zone 覆盖的优先级调试

冰川箭仙

冰川箭仙

发布时间:2026-01-22 20:07:27

|

750人浏览过

|

来源于php中文网

原创

firewalld rich rule 是否生效取决于流量是否进入对应 zone 及规则在 zone 内的匹配顺序;需确认接口/源绑定、zone 优先级、规则添加顺序及 reload 状态。

firewalld rich rule 添加后不生效或被其他 zone 覆盖的优先级调试

Firewalld 的 rich rule 生效问题,核心在于规则的匹配顺序和 zone 的优先级逻辑。rich rule 本身不决定优先级,而是依赖它所在的 zone 以及该 zone 的接口/源绑定关系;如果规则没生效,大概率是流量根本没走到这个 zone,或者被更高优先级的 zone 拦截了。

确认流量实际进入的是你配置 rich rule 的 zone

firewalld 按照“接口 > 源地址 > 默认 zone”的顺序匹配 zone,不是按规则内容排序。例如:你给 public zone 加了 rich rule,但网卡 eth0 实际绑定在 trusted zone,那所有从 eth0 进来的包都走 trusted,public 的规则完全不参与处理。

  • 运行 firewall-cmd --get-active-zones 查看当前各 zone 绑定的接口和源
  • firewall-cmd --zone=xxx --list-all 确认目标 zone 确实包含你添加的 rich rule(注意:--permanent 添加后需 reload 才生效)
  • 检查接口归属:firewall-cmd --get-zone-of-interface=eth0

rich rule 的匹配顺序取决于所在 zone 的规则列表顺序

同一 zone 内,rich rule 按添加顺序从上到下匹配,**先匹配上的规则立即执行动作(accept/drop),不再继续匹配后续规则**。但要注意:rich rule 是插在该 zone 的“自定义规则”区,排在默认服务/端口规则之后、masquerade/forward-port 等高级规则之前。

ColorMagic
ColorMagic

AI调色板生成工具

下载
  • 查看完整规则链:firewall-cmd --zone=xxx --list-rich-rules(注意顺序)
  • 若想让某条 rich rule 优先,可先 --remove-rich-rule 清空,再按期望顺序重新添加
  • 避免写冲突规则,比如前面 accept 了 8080,后面又 drop 8080 —— 后者永远不会触发

检查是否被 default zone 或 system-configured zone 覆盖

未显式绑定接口或源的流量,会落入 default zone(通常是 public)。如果你在 custom zone(如 myzone)里加了 rich rule,但忘了把接口或源分配过去,流量就进了 default zone,你的规则自然不生效。

  • 查 default zone:firewall-cmd --get-default-zone
  • 临时将接口切到目标 zone 测试:firewall-cmd --zone=xxx --add-interface=eth0
  • 永久设置(需 --permanent + reload):firewall-cmd --permanent --zone=xxx --add-interface=eth0

调试技巧:用 --query-rich-rule 快速验证 + 日志辅助

光看 list 不够,要确认规则是否真正加载进内核链。firewalld 基于 nftables,可用底层命令交叉验证。

  • 查某条规则是否存在(返回 0 表示存在):firewall-cmd --query-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
  • 开启 debug 日志:firewall-cmd --set-log-denied=all,然后查 /var/log/firewalld 看拒绝记录对应哪个 zone
  • 直查 nft 链:nft list chain inet firewalld filter_IN_public(替换为你的 zone 名),确认 rich rule 对应的 handle 是否出现
不复杂但容易忽略:reload 后记得检查 active zones 和 rule 列表,别只信 permanent 配置。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1923

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

656

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2392

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

47

2026.01.19

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

78

2025.09.10

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

236

2023.12.07

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

22

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

48

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

93

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 13.2万人学习

CSS3 教程
CSS3 教程

共18课时 | 7万人学习

Vue 教程
Vue 教程

共42课时 | 9.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号