在当今的服务器运维领域,CentOS 作为一款稳定、安全且广泛使用的 Linux 发行版,深受企业和开发者的青睐。而防火墙作为系统安全的第一道防线,其配置与管理显得尤为重要。自 CentOS 7 起,系统默认采用 firewalld 替代了传统的 iptables,带来了更灵活、更动态的防火墙管理方式。

本文将为你详细解析 CentOS 防火墙配置 的方方面面,无论你是刚接触 Linux 的新手,还是需要快速查阅命令的运维人员,都能在这里找到你需要的知识点。掌握这些技能,你将能够轻松开放端口、允许服务、设置 IP 白名单,确保你的服务器既安全又畅通。
为什么使用 firewalld?iptables 与 firewalld 的区别
在深入配置之前,我们先来了解为什么 CentOS 7 及以上版本选择 firewalld 作为默认防火墙管理工具。
iptables:基于内核的
netfilter框架,规则静态,修改后需重启服务或重载规则,不支持动态更新。firewalld:基于
nftables框架,支持动态更新,无需重启服务即可生效。它引入了“区域(Zone)”的概念,允许用户根据网络环境快速切换预设的安全策略(如public、trusted、home等),大大简化了配置流程。
✅ 优势总结:firewalld 更现代化、更易用,特别适合动态环境和初学者。
firewalld 基础服务管理
在配置规则前,首先要掌握如何管理 firewalld 服务本身。
1. 查看防火墙状态
或使用 firewall-cmd 命令:
如果返回 running,表示防火墙正在运行。
2. 启动、停止、重启防火墙
3. 设置开机自启或禁用
防火墙核心配置命令详解
1. 查看当前防火墙规则
2. 开放指定端口(TCP/UDP)
✅ 临时开放(重启后失效)
✅ 永久开放(推荐使用)
⚠️ 重要提示:使用
--permanent参数后,必须执行--reload才能生效。
✅ 同时开放多个端口或协议
3. 允许预定义服务(更安全的做法)
相比直接开放端口,允许预定义服务更为安全和便捷。
4. 配置 IP 白名单(限制访问来源)
你可以通过设置 IP 白名单,只允许特定 IP 或 IP 段访问服务器。
5. 删除已配置的规则
高级功能与应急处理
1. 使用 firewall-config 图形化工具
CentOS 提供了图形化防火墙配置工具 firewall-config,适合不熟悉命令行的用户。
2. 应急模式:紧急断开所有流量
在极端情况下,可启用“恐慌模式”断开所有网络连接(仅本地可操作):
常见问题与最佳实践
❓ 为什么配置了端口还是无法访问?
确认服务是否在运行(如
systemctl status nginx)。检查是否使用了
--permanent并执行了--reload。确认云服务器(如阿里云、AWS)的安全组是否也开放了相应端口。
检查 SELinux 是否阻止了服务(可临时
setenforce 0测试)。
✅ 最佳实践建议
优先使用服务名而非端口:更安全,避免端口冲突。
最小权限原则:只开放必要的端口和服务。
定期审查规则:使用
--list-all检查当前策略。备份配置:重要配置可备份
/etc/firewalld/目录。
通过本文,你已经掌握了 CentOS 系统中 firewalld 防火墙的核心配置方法。从服务管理到端口开放,再到 IP 白名单设置,每一步都至关重要。合理配置防火墙,不仅能提升服务器安全性,还能确保业务的稳定运行。
📌 记住关键命令:
--permanent+--reload是永久生效的黄金组合!
如果你觉得这篇文章对你有帮助,欢迎点赞、收藏并分享给更多需要的朋友。关注我,获取更多 Linux 运维与数码科技干货!





















