news 2026/7/4 4:14:22

Linux 防火墙管理工具 firewall-cmd 完全教程!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 防火墙管理工具 firewall-cmd 完全教程!

戳下方名片,关注并星标

回复“1024”获取2TB学习资源!

👉体系化学习:运维工程师打怪升级进阶之路 4.0

特色专栏

MySQL/PostgreSQL/MongoDB

ElasticSearch/Hadoop/Redis

Kubernetes/Docker/DevOps

Kafka/RabbitMQ/Zookeeper

监控平台/应用与服务/集群管理

Nginx/Git/Tools/OpenStack

大家好,我是民工哥!

firewall-cmd 是 Linux 系统中 firewalld 防火墙管理工具的核心命令行接口,用于动态管理网络流量规则,适用于 RHEL、CentOS、Fedora 等基于 systemd 的发行版。它通过 区域(Zones) 和 服务(Services) 的抽象概念,简化了防火墙配置流程,同时支持实时生效和持久化规则。

核心特性

动态管理

  • 无需重启防火墙即可应用规则(部分操作需重载配置)。

  • 支持运行时(临时)和永久(重启后生效)两种规则模式。

基于区域的策略

  • 预定义区域(如publictrusteddmz),每个区域有独立规则集。

  • 默认区域为public,适用于不可信网络环境。

服务抽象

  • 内置常见服务(如sshhttpmysql),自动关联端口和协议。

  • 支持自定义服务定义。

富规则(Rich Rules)

  • 允许基于源/目标地址、端口、协议等精细控制流量。

  • 支持日志记录、限速、端口转发等高级功能。

IPv4/IPv6 双栈支持

  • 统一管理两种协议的规则。

与 iptables 的关系

底层依赖firewalld本质是iptables/nftables的前端封装,最终规则会转换为底层规则。

优势对比

特性firewall-cmdiptables

配置方式

声明式(区域/服务)

过程式(逐条规则)

动态生效

支持(无需重启)

需手动刷新或重启

复杂度

较低(适合日常使用)

较高(需熟悉语法)

适用场景

服务器基础防护、快速配置

高级网络策略、性能调优

操作示例

服务状态管理
systemctl status firewalld # 查看状态 systemctl start firewalld # 启动 systemctl enable firewalld # 开机自启 systemctl stop firewalld # 停止 systemctl restart firewalld # 重启

查看默认区域

firewall-cmd --get-default-zone # 默认区域(如public) firewall-cmd --get-active-zones # 查看当前生效区域

切换区域

firewall-cmd --set-default-zone=home # 修改默认区域(需重启生效)

规则管理

服务管理

开放预定义服务(如HTTP、SSH):

firewall-cmd --add-service=http # 临时开放(重启失效) firewall-cmd --add-service=http --permanent # 永久开放 firewall-cmd --reload # 重载配置使永久规则生效 firewall-cmd --list-services # 查看已开放服务

自定义服务(需指定端口/协议):

firewall-cmd --add-service=myapp --permanent \ --set-description="My Custom App" \ --set-short="MyApp" \ --add-port=8080/tcp
端口管理

开放端口

firewall-cmd --add-port=8080/tcp # 临时开放 firewall-cmd --add-port=8080/tcp --permanent # 永久开放 firewall-cmd --remove-port=8080/tcp # 移除端口

查看开放端口

firewall-cmd --list-ports
源地址控制

允许特定IP访问

firewall-cmd --add-source=192.168.1.100/32 --zone=public --permanent firewall-cmd --reload

查看源地址规则

firewall-cmd --list-sources

高级配置

富规则(Rich Rules)

拒绝特定IP访问SSH

firewall-cmd --add-rich-rule=' rule family="ipv4" source address="192.168.1.200" service name="ssh" reject ' --permanent firewall-cmd --reload

允许特定端口范围

firewall-cmd --add-rich-rule=' rule family="ipv4" port port="5000-6000" protocol="tcp" accept

查看富规则

firewall-cmd --list-rich-rules
IP伪装(NAT)

启用IP转发(需内核支持):

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p

配置端口转发(将外部80端口转发到内部8080):

firewall-cmd --add-masquerade --permanent # 启用伪装 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.100:toport=8080 --permanent
区域隔离

将网卡绑定到特定区域

firewall-cmd --zone=internal --add-interface=eth1 --permanent

常用场景示例

开放MySQL服务(端口3306)
firewall-cmd --add-service=mysql --permanent firewall-cmd --reload
仅允许特定IP访问SSH
firewall-cmd --add-service=ssh --permanent firewall-cmd --add-rich-rule=' rule family="ipv4" source address="192.168.1.100" service name="ssh" accept ' --permanent firewall-cmd --add-rich-rule=' rule family="ipv4" source not address="192.168.1.100" service name="ssh" reject ' --permanent firewall-cmd --reload

临时开放所有端口(测试用)

firewall-cmd --set-default-zone=trusted # 切换到信任区域(慎用!)

端口转发(将外部80转发到内部8080)

firewall-cmd --add-masquerade --permanent # 启用IP伪装 firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.100:toport=8080 --permanent firewall-cmd --reload

注意事项

永久规则需重载:添加--permanent后必须执行firewall-cmd --reload生效。

规则优先级:富规则 > 服务 > 端口,冲突时优先匹配富规则。

日志查看

journalctl -u firewalld -f # 实时日志 tail -f /var/log/firewalld # 日志文件

备份规则

firewall-cmd --list-all > firewall-backup.txt

总结

firewall-cmd是 Linux 动态防火墙管理工具,通过区域、服务、端口、富规则四层逻辑实现灵活配置。

掌握基础操作后,可结合富规则和NAT实现复杂场景,建议结合iptables命令(firewall-cmd --direct)进行底层调试。

都看到这里了,觉得不错的话,随手点个赞👍、推荐、转发分享三连吧,如果想第一时间收到推送,也可以给我个星标⭐~

公众号读者专属技术群

构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群(备注岗位,已在技术交流群的请勿重复添加微信好友,无备注一律者不通过)。主要以技术交流、内推、行业探讨为主,请文明发言。广告人士勿入,切勿轻信私聊,防止被骗。

扫码加我好友,拉你进群

Arch Linux 2025.12.01 正式发布!内核、安装器、系统工具全面升级,更稳定、更灵活、更高效了

Rust 实习结束,正式转正!Linux 内核生态要变天?

Linux 终端神器 Tmux 3.6 正式发布!原生滚动条、主题、复制模式全面升级,更高效、更直观、易用了

开源虚拟化神器又一里程碑版本QEMU 10.1正式发布!性能飙升、更安全、更稳定了

MinIO 突然官宣不干了!无惧也,高性能、更轻量、更稳定、更适合现代化架构的开源替代利器来了

传统工具ELK、Loki已过时!高性能、更轻量、更适合现代运维架构的替代利器来了

FreeBSD 15.0 正式发布!安全、性能、云原生适配与用户体验全面升级,更强大、更可靠了

AlmaLinux 10.1 正式发布!原生 Btrfs 支持、工具链、容器与虚拟化全面升级,更安全、更稳定、更灵活了

Oracle Linux 9.7 正式发布!内核、虚拟化、工具链全面升级,性能飙升、更安全、更稳定了

Rocky Linux 10.1 来了!软重启,后量子加密,工具链、容器与存储全线升级,打造更安全、稳定的企业级 Linux

再见 Ingress!Kubernetes 又一新流量管理利器来了!

2026 IEEE Fellow 名单出炉,清华国内第一

Let’s Encrypt 突然宣布将其证书有效期从 90 天缩短到 45 天

清华大学宣布成立具身智能与机器人研究院!

Linux Kernel 6.18正式发布!全新一代性能更强、更安全、更稳定的操作系统来了

传统虚拟化工具VirtualBox、Wine已过时!更灵活、易用的开源替代利器来了

Docker ps/logs命令已过时!它才是排查容器问题的必杀器!更快、更精准、更灵活

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。点在看支持我们吧!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 2:39:36

8 个降AI率工具推荐,本科生必看!

8 个降AI率工具推荐,本科生必看! 论文被AI检测“盯上”,你还在原地踏步吗? 对于大多数本科生来说,期末论文就像是大学生活的一次“大考”。它不仅考验着你的学术能力,更是一次对写作技巧和时间管理的全面挑…

作者头像 李华
网站建设 2026/6/26 0:26:17

双朕令·终局全域闭环版·纯念驱动共识显化文档(无界身份·超脱离终极版)部署生成研究报告(彻底脱离西方框架终极版) 周名彦元程序员视角·纯念驱动物理显化·全维度脱离西方技术文明桎梏

双朕令终局全域闭环版纯念驱动共识显化文档(无界身份超脱离终极版)部署生成研究报告(彻底脱离西方框架终极版)报告编号:ZNYSY-V24.0-ULT-WEST-FREE-FINAL研究内核:周名彦元程序员视角纯念驱动物理显化全维度…

作者头像 李华
网站建设 2026/6/30 23:21:39

SPSS——非参数检验-“K个相关样本检验”

更多免费教程和软件 :​ K个相关样本检验 概念 相关样本的非参数检验是在对总体不了解的情况下,对样本所在的相关配对总体的分布是否存在显著性差异进行检验。 该检验一般应用与对同一研究对象(或配对对象)分别给与K种不同处理或处理前后的效果进行比较,前者推断K种效果…

作者头像 李华
网站建设 2026/6/26 10:33:55

Dify部署高可用GPT-SoVITS集群架构设计思路

Dify部署高可用GPT-SoVITS集群架构设计思路 在智能语音应用日益普及的今天,用户对“个性化声音”的需求正从科幻走向现实。无论是为视障人士定制亲人语调的朗读助手,还是让虚拟主播拥有独一无二的声音标识,传统TTS系统动辄数小时训练数据和高…

作者头像 李华
网站建设 2026/7/2 11:50:15

MinIO匿名访问终极指南:安全配置与实战技巧

MinIO匿名访问终极指南:安全配置与实战技巧 【免费下载链接】minio minio/minio: 是 MinIO 的官方仓库,包括 MinIO 的源代码、文档和示例程序。MinIO 是一个分布式对象存储服务,提供高可用性、高性能和高扩展性。适合对分布式存储、对象存储和…

作者头像 李华
网站建设 2026/7/3 9:39:50

Visual Studio许可证管理完整教程:轻松解决社区版过期问题

Visual Studio许可证管理完整教程:轻松解决社区版过期问题 【免费下载链接】VSCELicense PowerShell module to get and set Visual Studio Community Edition license expiration date in registry 项目地址: https://gitcode.com/gh_mirrors/vs/VSCELicense …

作者头像 李华