首先得确认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”或空白。