在当今网络安全形势日益严峻的背景下,Linux防火墙作为守护服务器与个人设备的第一道防线,其状态监控和管理显得尤为重要。无论是运维工程师、开发人员还是普通用户,掌握如何正确查看Linux防火墙状态,都是保障系统安全的基础技能。

本文将为您详细解析Linux防火墙状态查看的完整方法,涵盖主流防火墙工具(firewalld、iptables、ufw)的操作命令,并结合不同Linux发行版进行说明,助您快速定位问题、提升系统安全性。
为什么需要查看Linux防火墙状态?
防火墙通过预设规则控制进出系统的网络流量,防止未经授权的访问和潜在攻击。定期检查防火墙状态可以帮助您:
✅ 确认防火墙服务是否正常运行
✅ 检查关键端口是否已开放或被阻止
✅ 验证安全策略是否生效
✅ 快速排查网络连接异常问题
📌 小贴士:即使您未手动配置防火墙,现代Linux系统通常默认启用某种防火墙服务,忽略其存在可能导致服务无法访问或安全漏洞。
主流Linux防火墙工具及状态查看方法
Linux系统中常见的防火墙管理工具有三种:firewalld(CentOS/RHEL/Fedora)、ufw(Ubuntu/Debian)和传统的iptables。以下是针对每种工具的详细查看方法。
1. 使用 firewalld(适用于 CentOS 7+、RHEL、Fedora 等)
firewalld 是目前大多数主流发行版的默认防火墙管理工具,支持动态更新规则而无需重启服务。
✅ 查看防火墙运行状态
输出示例:
Active: active (running):表示防火墙正在运行。Active: inactive (dead):表示防火墙已关闭。
✅ 快速判断状态(仅返回 running 或 not running)
输出:
✅ 查看当前防火墙规则详情
该命令将显示当前区域(通常是 public)的所有开放端口、服务、富规则等信息,便于全面了解配置。
✅ 常用辅助命令
| 功能 | 命令 |
|---|---|
| 查看所有开放端口 | firewall-cmd --list-ports |
| 查看允许的服务 | firewall-cmd --list-services |
| 查看活跃区域 | firewall-cmd --get-active-zones |
| 重启防火墙 | systemctl restart firewalld |
| 开启防火墙 | systemctl start firewalld |
| 关闭防火墙 | systemctl stop firewalld |
| 开机自启 | systemctl enable firewalld |
2. 使用 ufw(适用于 Ubuntu、Debian 等)
Ubuntu系统默认使用 UFW(Uncomplicated Firewall),它是一个简化iptables配置的前端工具,非常适合新手使用。
✅ 查看防火墙状态
输出示例:
Status: active:防火墙已启用。Status: inactive:防火墙未运行。
✅ 以详细模式查看状态
可查看更详细的规则信息,如日志状态、默认策略等。
✅ 常用UFW命令
| 功能 | 命令 |
|---|---|
| 启用防火墙 | sudo ufw enable |
| 禁用防火墙 | sudo ufw disable |
| 允许端口 | sudo ufw allow 80/tcp |
| 拒绝IP访问 | sudo ufw deny from 192.168.1.100 |
| 删除规则 | sudo ufw delete allow 22/tcp |
3. 使用 iptables(传统工具,适用于旧系统或自定义环境)
尽管firewalld已成为主流,但在一些老旧系统或特定场景下,仍使用iptables直接管理规则。
✅ 查看当前iptables规则
参数说明:
-L:列出规则-n:以数字形式显示IP和端口(加快显示速度)-v:显示详细信息(如数据包和字节数)
输出将显示 INPUT、FORWARD、OUTPUT 三个链的规则列表。
✅ 保存和恢复iptables规则(部分系统)
⚠️ 注意:
iptables在CentOS 7及以上版本中默认不启用,需安装iptables-services包后方可使用。
如何判断你的系统使用哪种防火墙?
不同Linux发行版默认使用的防火墙工具不同,可通过以下命令判断:
| 发行版 | 默认防火墙 |
|---|---|
| CentOS 7/8/9, RHEL, Fedora | firewalld |
| Ubuntu 16.04+, Debian | ufw(可选) |
| CentOS 6 及更早版本 | iptables |
四、实用技巧与最佳实践
定期检查防火墙状态:建议将
sudo firewall-cmd --list-all或sudo ufw status加入日常巡检脚本。避免误关防火墙:生产环境中不要随意执行
stop或disable命令,可能导致服务中断。使用永久规则:在
firewalld中添加规则时使用--permanent参数,确保重启后仍有效。日志审计:启用防火墙日志功能,便于追踪异常访问行为。
最小权限原则:只开放必要的端口和服务,减少攻击面。
常见问题解答(FAQ)
Q1:执行 firewall-cmd --state 报错怎么办?
A:可能是 firewalld 服务未启动或未安装。请先运行 systemctl start firewalld。
Q2:ufw 命令不存在?
A:Ubuntu系统可能未安装UFW,请使用 sudo apt install ufw 安装。
Q3:如何查看某个端口是否开放?
A:
掌握 Linux防火墙状态查看 的方法,是每位Linux用户必备的技能。无论您使用的是 firewalld、ufw 还是 iptables,本文提供的命令和技巧都能帮助您高效管理网络安全策略。
🔐 安全提醒:防火墙只是安全体系的一部分,建议结合SSH密钥登录、定期更新系统、关闭无用服务等措施,构建多层次防御体系。
如果您觉得这篇文章对您有帮助,欢迎点赞、收藏并分享给更多需要的朋友!关注我,获取更多实用的Linux运维与安全知识。





















