推荐优先使用 systemctl status firewalld 查看服务状态,active: active (running) 表示正常运行;firewall-cmd --state 可快速返回 running 或 not running;再用 --list-services 确认 ssh 等关键服务是否启用。

可以直接用两个命令快速确认 firewalld 是否在运行,推荐优先使用 systemd 方式,结果更明确可靠。
用 systemctl 查看服务状态
这是最标准、最推荐的方法,能同时看到服务是否启用、是否正在运行、以及最近的日志片段:
- sudo systemctl status firewalld —— 输出中若显示 Active: active (running),说明防火墙已启动并正常工作
- 若显示 Active: inactive (dead),表示服务未运行
- 若提示 Unit firewalld.service could not be found,说明 firewalld 未安装
用 firewall-cmd 快速判断
这个命令专用于 firewalld,响应更快,适合脚本或批量检查:
- sudo firewall-cmd --state —— 直接输出 running 或 not running
- 注意:该命令仅反映当前运行状态,不体现开机自启配置
补充验证:确认规则是否生效
即使服务显示 running,也建议顺手检查一条基础规则,排除配置异常:
- sudo firewall-cmd --list-ports —— 查看是否有端口开放(返回空行不代表异常,可能只放行了服务如 ssh)
- sudo firewall-cmd --list-services —— 检查是否至少有 ssh 在列表里(默认安装后通常包含)











