0

0

Linux firewalld 的 zone 与 rich rule 在多网卡服务器中的配置模板

舞姬之光

舞姬之光

发布时间:2026-02-20 09:16:06

|

199人浏览过

|

来源于php中文网

原创

firewalld通过zone绑定网卡实现策略隔离,再用rich rule进行跨zone精细控制;需按接口唯一分配zone,配合--permanent和--reload确保持久生效。

linux firewalld 的 zone 与 rich rule 在多网卡服务器中的配置模板

在多网卡 Linux 服务器中,firewalld 的 zone 是网络接口(或源地址)的逻辑分组,决定其默认行为;rich rule 则用于在 zone 级别上添加精细控制(如指定端口、协议、源 IP、目标网卡等)。二者配合使用,才能实现“不同网卡走不同策略”的安全隔离目标。

按网卡绑定 zone:确保每个接口归属明确

firewalld 不允许一个接口同时属于多个 zone,因此必须为每张物理/逻辑网卡分配唯一 zone。常见做法是:

  • 将内网卡(如 ens192)设为 trusted 或自定义 internal zone,放行内部服务(SSH、HTTP、数据库等)
  • 将公网卡(如 ens224)设为 public zone,仅开放必要端口(如 80/443/22),并启用伪装(masquerade)以支持 SNAT
  • 使用 firewall-cmd --permanent --zone=internal --change-interface=ens192 绑定接口
  • 确认绑定结果:firewall-cmd --get-active-zones 应显示各接口归属清晰

用 rich rule 实现跨 zone 精准控制

默认 zone 策略较粗粒度,rich rule 可突破 zone 边界做定向放行或拒绝。典型场景包括:

NexChatGPT
NexChatGPT

火爆全网的IDEA插件,支持IDEA全家桶

下载
  • 只允许特定内网 IP(如 10.10.5.100)通过 ens192 访问本机 SSH:
    firewall-cmd --permanent --zone=internal --add-rich-rule='rule family="ipv4" source address="10.10.5.100" port port="22" protocol="tcp" accept'
  • 禁止某恶意段(203.0.113.0/24)通过公网卡访问任何服务:
    firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.0/24" reject'
  • 限制某服务(如 Redis)仅响应来自内网卡的请求(即使服务监听 0.0.0.0):
    firewall-cmd --permanent --zone=internal --add-rich-rule='rule family="ipv4" source address="10.10.0.0/16" port port="6379" protocol="tcp" accept'

避免常见陷阱:优先级与持久化

rich rule 按添加顺序匹配(先匹配先生效),且优先级高于 zone 默认策略。务必注意:

  • 所有命令加 --permanent,否则重启 firewalld 后丢失
  • 执行 firewall-cmd --reload 才能生效(不中断连接)
  • 不要混用 --add-service 和 rich rule 控制同一端口——rich rule 会覆盖 service 规则
  • 若需基于出接口过滤(如强制某流量从 ens224 出),rich rule 无法做到,需结合 ip rule + ip route 或 nftables

验证与调试建议

配置完成后,用以下方式确认实际生效逻辑:

  • firewall-cmd --zone=public --list-all 查看 public zone 的 interfaces、services 和 rich rules
  • firewall-cmd --direct --get-all-rules 检查是否有误加的 direct rules 干扰
  • 从不同网段发起测试连接(如 telnet、curl),观察是否符合预期
  • 启用日志记录可疑拒绝:firewall-cmd --permanent --set-log-denied=all,再查 /var/log/firewalld

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

452

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

181

2023.10.30

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

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

1533

2023.10.19

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

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

423

2025.10.17

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

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

2261

2025.12.29

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

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

37

2026.01.19

go中interface用法
go中interface用法

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

77

2025.09.10

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

998

2023.11.02

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

660

2026.02.13

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.4万人学习

Git 教程
Git 教程

共21课时 | 3.7万人学习

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

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