首页/新闻资讯/正文详情

Firewalld 入门:概念、原理与常用命令实战

发布时间:2026/9/25 20:55:34 来源:云帆数科 栏目:资讯中心
Firewalld 入门:概念、原理与常用命令实战
什么是 firewalldfirewalld 是 Red Hat 系CentOS / Rocky / Alma / Fedora默认的动态防火墙管理器底层还是调用内核的 netfilter/nftables只是它在上面包了一层更易用的区域Zone模型。和老式 iptables 直接写规则不同firewalld 的核心思想是把网络接口和流量按信任等级分到不同区域每个区域预置一套放行策略。你不用去记复杂的数据包匹配语法只要告诉防火墙这块网卡属于 public 区域、开放 80 和 443即可。它有两个容易踩坑的特性也是本文重点配置分**运行时Runtime和永久Permanent**两套互不影响直到你主动同步规则按区域 → 富规则 → 服务 → 端口的顺序匹配理解这个顺序才能预测一条流量到底放不放行。原理一数据包是怎么被处理的这是一个数据包进来后firewalld 先决定它属于哪个区域再在该区域内按优先级依次检查三层规则最后给出放行或拒绝的裁决。原站配图数据包处理流程分步说明数据包到达来自公网或内网的流量进入服务器网卡firewalld 开始接管。判定区域先按源地址绑定、再按网卡绑定、最后用默认区域决定该流量归属哪个 Zone。匹配富规则在 Zone 内富规则优先级最高可精确到来源 IP、端口与动作allow/reject/drop。匹配服务其次检查 Zone 开放的预定义服务如 http、ssh命中即放行。匹配端口再检查手动开放的裸端口如 8080/tcp命中即放行。默认策略裁决若富规则、服务、端口都未命中则按该 Zone 的默认策略public 默认拒绝裁决。放行或拒绝最终流量被 accept 或丢弃。注意只有命中规则才会放行这正是 firewalld 默认安全的设计。记住这个顺序富规则 服务 端口 区域默认策略。比如你既开放了ssh服务又写了一条拒绝某个 IP 的 22 端口的富规则那该 IP 依然会被拒——因为富规则优先级更高。原理二区域Zone到底是什么Zone 本质上是一组预定义的信任模板。把网卡或来源 IP 关联到某个 Zone就等于套用了那套模板里的放行策略。常用 Zone 的信任度从低到高大致是Zone信任度典型用途drop最低丢弃所有入站包只出不进像隐形block很低拒绝入站回icmp-host-prohibitedpublic默认公开网络只开放你显式放行的服务internal较高内网默认放行更多服务home/work高可信的家用/办公网络trusted最高接受所有流量几乎不设防判定一条流量属于哪个 Zone顺序是先看源地址绑定 → 再看网卡绑定 → 最后用默认区域。这就是为什么有时候你明明开放了 public 的端口却不通——那块网卡可能根本不在 public 里。bash代码解读复制代码# 看默认区域、活跃区域、所有区域 firewall-cmd --get-default-zone firewall-cmd --get-active-zones firewall-cmd --get-zones # 把某 IP 网段绑定到指定区域常用在区分内外网信任度 firewall-cmd --zonepublic --add-source192.168.1.0/24 --permanent原理三运行时配置 vs 永久配置这是新人翻车最多的地方。firewalld 把配置存在两个地方运行时内存和永久磁盘。不带--permanent的改动只活在内存里立刻生效但重启即丢带--permanent的写入磁盘重启后保留但不会立刻生效必须--reload同步进运行时。原站配图运行时与永久配置的区别分步说明执行命令你在终端敲下一条 firewall-cmd 规则。不带 --permanent规则只写进运行时内存立即生效但服务器重启后消失。带 --permanent规则写入磁盘配置文件重启后依然保留但不会立刻生效。--reload 同步执行 firewall-cmd --reload把永久配置加载到运行时使改动当前生效。常见坑改了规则重启却没生效多半是漏了 --permanent或改完忘了 --reload。实战建议生产环境养成习惯——所有持久化规则都加--permanent然后用一条firewall-cmd --reload统一生效临时排障想立刻试效果又不污染配置时才用不带--permanent的版本。原理四端口转发是怎么工作的端口转发Port Forwarding常用于公网只暴露 80内部实际跑在 8080的场景。firewalld 通过--add-forward-port把进来的流量重定向而跨主机转发还需要--add-masqueradeIP 伪装来正确改写地址否则后端回包时源地址不对连接起不来。原站配图端口转发流程公网 80 转发到内网 8080分步说明外部请求公网客户端向防火墙的公网 IP:80 发起请求。命中转发规则firewalld 命中--add-forward-portport80:prototcp:toport8080决定把流量转到 8080。开启 IP 伪装跨主机转发需要--add-masquerade否则回包地址会错、连接建立不起来。转发到后端流量被送到内网后端 192.168.1.100:8080 处理。响应回包后端响应经防火墙 NAT 改写后原路返回客户端。效果外部只看到 :80内网服务被安全地暴露出来无需在公网直接开放后端端口。常见使用方法配合工具前面这些参数--zone、--add-port、--add-service、--add-forward-port、--add-rich-rule、--permanent一个个记很容易错。站内的 Firewalld 命令生成器 把这些做成可视化表单选好区域、协议、端口、是否永久直接生成可复制的命令还能在常用命令速查里一键拷贝。下面几个场景都是高频需求开放 / 关闭端口bash代码解读复制代码# 永久开放 8080/tcp最常用 firewall-cmd --zonepublic --add-port8080/tcp --permanent # 临时开放重启失效 firewall-cmd --zonepublic --add-port8080/tcp # 关闭端口 firewall-cmd --zonepublic --remove-port8080/tcp --permanent # 开放一段端口 firewall-cmd --zonepublic --add-port8000-9000/tcp --permanent # 改完必须重载 firewall-cmd --reload开放 / 关闭服务等价于一堆预定义端口比如http就是 80/tcpbash代码解读复制代码firewall-cmd --zonepublic --add-servicehttp --permanent firewall-cmd --zonepublic --add-servicehttps --permanent firewall-cmd --zonepublic --remove-servicehttp --permanent # 看看有哪些内置服务名可用 firewall-cmd --get-services端口转发bash代码解读复制代码# 把公网 80 转到本机 8080 firewall-cmd --zonepublic --add-forward-portport80:prototcp:toport8080 --permanent # 转到另一台机器的 8080必须开 masquerade firewall-cmd --zonepublic --add-forward-portport80:prototcp:toport8080:toaddr192.168.1.100 --permanent firewall-cmd --zonepublic --add-masquerade --permanent firewall-cmd --reload富规则精细到 IP 的访问控制当开放整个端口给所有人太危险时用富规则Rich Rule可以精确到哪个来源 IP、哪个端口、允许还是拒绝。它的优先级高于服务和端口适合做白名单。bash代码解读复制代码# 只允许 192.168.1.100 访问 3306 firewall-cmd --zonepublic --add-rich-rulerule familyipv4 source address192.168.1.100 port port3306 protocoltcp accept --permanent # 拒绝某个 IP 的所有流量 firewall-cmd --zonepublic --add-rich-rulerule familyipv4 source address10.0.0.5 reject --permanent # 查看 / 移除富规则 firewall-cmd --zonepublic --list-rich-rules firewall-cmd --zonepublic --remove-rich-rulerule familyipv4 source address192.168.1.100 port port3306 protocoltcp accept --permanent日常排错Q命令敲了外网还是连不上先确认两点规则是否带了--permanent且已--reload网卡到底在哪个 Zonefirewall-cmd --get-active-zones。再firewall-cmd --zonepublic --list-ports看端口确实在里面。Q改完重启规则没了漏了--permanent或改了永久配置没--reload。运行时配置重启即失这是设计如此。Q端口转发不生效跨主机转发忘开--add-masquerade是最常见的坑回包地址不对导致三次握手失败。Q怎么应急锁死所有入站firewall-cmd --panic-on会拒绝一切入站仅本机可操作--panic-off解除。Q服务和端口有什么区别服务是 firewalld 预定义的一组端口 辅助配置的别名如http80/tcp端口是裸的协议/端口号。开放http服务比手动写80/tcp更语义化也便于统一管理。相关工具Firewalld 命令生成器可视化生成上述所有命令并内置常用命令速查。安全常见端口排错时快速确认端口对应的服务与风险。Linux 常用命令系统/网络/权限等配套运维命令。作者MiracleHuang链接https://juejin.cn/post/7687499915136385078来源稀土掘金著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。

相关推荐

感温电缆在电力电缆隧道中的应用
感温电缆在电力电缆隧道中的应用

电缆隧道作为电力输送重要通道,具有距离长、环境密闭、粉尘潮湿、电磁干扰强、电缆密集等特点。一旦发生过热或火灾,蔓延速度快、扑救难度大。 缆式线型感温火灾探测器(俗称感温电缆)是电缆隧道消防监测的常用消防设备&#xff0c… · 2026/9/25 20:55:28

2026年“华为杯”第二十三届中国研究生数学建模竞赛“E题:复杂场景下多模态情感识别的数学建模与算法设计”思路解析+实现代码+论文撰写+摘要+最终论文
2026年“华为杯”第二十三届中国研究生数学建模竞赛“E题:复杂场景下多模态情感识别的数学建模与算法设计”思路解析+实现代码+论文撰写+摘要+最终论文

复杂场景下多模态情感识别的数学建模与算法设计目 录 摘要 1 问题重述1.1 问题背景1.2 需要解决的问题 2 数据说明2.1 附件1:原始多模态样本2.2 附件2:标准多模态特征文件2.3 附件3:模态局部缺失专项测试集2.4 附件4:可解释性专项… · 2026/9/25 20:55:03

mnt_init 函数
mnt_init 函数

mnt_init 通过 kmem_cache_create 函数,初始化全局变量mnt_cache的slab缓存(可供 kmem_cache_zalloc / kmem_cache_free 使用的缓存对象)通过alloc_large_system_hash函数,为全局变量mount_hashtable分配一块连续物理内存并初始化… · 2026/9/25 20:55:03

老旧蓄电池站改造难题?不停机加装蓄电池在线监测方案来了✨
老旧蓄电池站改造难题?不停机加装蓄电池在线监测方案来了✨

很多已投运的老旧蓄电池站,都面临同一个棘手痛点: 没有蓄电池在线监测装置🔋 电池单体电压、内阻、温度、剩余容量 SOC 全靠人工定期现场巡检。人工巡检不仅耗费大量人力,更存在明显短板:无法实时捕捉单体劣化、内阻飙… · 2026/9/25 21:22:44

工业 UPS 监控升级|14 路自定义干接点告警,通讯 + 硬件双重守护供电安全
工业 UPS 监控升级|14 路自定义干接点告警,通讯 + 硬件双重守护供电安全

在机房、工厂配电室、轨道交通、医疗实验室等工业场景中,UPS 作为关键供电保障,一旦出现市电中断、电池低压、过载、逆变器故障等问题,如果告警不及时,极易造成设备停机、数据丢失,带来难以估量的损失。很多传统工业 U… · 2026/9/25 21:22:37

IronClaw Review Readiness:以证据驱动的 PR 合并就绪度看板
IronClaw Review Readiness:以证据驱动的 PR 合并就绪度看板

人工智能AI 应用交互助手AI Agent 【免费下载链接】ironclaw IronClaw is an Agent OS focused on privacy, security and extensibility 项目地址: https://gitcode.com/gh_mirrors/iro/ironclaw 点击查看 免费下载 本文围绕 IronClaw 仓库中的 review-readiness … · 2026/9/25 21:22:37

UltraData-RL-2609 许可证与数据合规须知:Apache 2.0、上游许可与新基准去污完整指南
UltraData-RL-2609 许可证与数据合规须知:Apache 2.0、上游许可与新基准去污完整指南

UltraData-RL-2609 许可证与数据合规须知:Apache 2.0、上游许可与新基准去污完整指南 【免费下载链接】UltraData-RL-2609 项目地址: https://ai.gitcode.com/OpenBMB/UltraData-RL-2609 UltraData-RL-2609 是 OpenBMB 开源社区发布的可验证奖励强化学习&am… · 2026/9/25 21:22:31

客户太多管不过来?SCRM帮你搞定
客户太多管不过来?SCRM帮你搞定

做私域最怕什么? 不是客户太少,是客户太多管不过来。 加了5000个客户,但不知道谁是重点客户;每天要跟进的人一堆,跟着跟着就忘了;客户问过什么、聊过什么,全靠脑子记。 结果:加了一堆… · 2026/9/25 21:22:31

Nemotron-3-Diarization 隐私合规解析:语音训练数据的来源、最小化与数据主体权利
Nemotron-3-Diarization 隐私合规解析:语音训练数据的来源、最小化与数据主体权利

人工智能语音音频 【免费下载链接】Nemotron-3-Diarization 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/Nemotron-3-Diarization 点击查看 免费下载 本指南以 NVIDIA Nemotron-3-Diarization 模型卡中的 privacy.md 子卡为骨架,系统解读该说话… · 2026/9/25 21:22:31

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码