首先要确认firewalld服务是否运行且开机自启:执行sudo systemctl status firewalld查看Active状态,再用sudo systemctl is-enabled firewalld检查是否enabled;未启用需运行sudo systemctl enable firewalld。

在麒麟操作系统中排查网络不通、服务无法访问等问题时,首先要确认系统防火墙是否正在运行,否则后续所有端口配置都无效。
检查firewalld服务是否启用并运行
打开终端,执行以下命令:
sudo systemctl status firewalld
观察输出中的“Active:”字段。若显示 active (running),说明防火墙服务已启动且正常工作;若为 inactive (dead) 或提示“Unit firewalld.service could not be found”,则当前未启用firewalld——此时系统可能使用iptables或其他防火墙机制,需另行确认。
确认firewalld是否开机自启
仅临时启动的服务在重启后会失效。要确保防火墙持续生效,必须开启自启:
执行:sudo systemctl is-enabled firewalld
若返回 enabled,表示已设置开机自启;若返回 disabled,则需手动启用:
sudo systemctl enable firewalld
这一步不做,下次重启后防火墙将自动关闭,所有开放端口策略都会失效。
快速验证防火墙基础状态(一行命令)
方法一:用组合命令直接提取关键状态
sudo systemctl is-active firewalld && echo "运行中" || echo "未运行"
方法二:同时查看运行状态与自启状态
systemctl status firewalld | grep -E "Active:|Loaded:"
注意:【必须加 sudo 才能读取 firewalld 的真实运行状态】,普通用户执行会因权限不足显示“unknown”或空白。

















