报错“FirewallD is not running”怎么办,如何解决?防火墙未开启怎么整
3条回答 默认 最新
檀越@新空间 2025-11-30 15:53关注下午好🌅🌅🌅
本答案参考通义千问当您遇到错误信息 “FirewallD is not running” 时,这意味着 Firewalld 服务没有在您的系统上运行。Firewalld 是一个动态管理防火墙的工具,常用于基于 Systemd 的 Linux 发行版(如 CentOS、Fedora、RHEL 和某些 Ubuntu 版本)。
🛡️ 问题原因
- Firewalld 服务未启动。
- Firewalld 未安装。
- 系统使用了其他防火墙工具(如
iptables或ufw),而 Firewalld 被禁用或未配置。
✅ 解决方法
以下是详细的解决方案:
1. 检查 Firewalld 是否已安装
首先确认 Firewalld 是否已经安装在您的系统中:
sudo dnf list installed | grep firewalld或者使用
yum(适用于 CentOS/RHEL):sudo yum list installed | grep firewalld如果未安装,可以使用以下命令进行安装:
sudo dnf install firewalld -y或
sudo yum install firewalld -y
2. 启动 Firewalld 服务
如果 Firewalld 已安装但未运行,可以使用以下命令启动它:
sudo systemctl start firewalld注意: 如果是第一次使用,建议先执行此步骤。
3. 设置 Firewalld 开机自启
确保 Firewalld 在系统启动时自动运行:
sudo systemctl enable firewalld
4. 检查 Firewalld 状态
确认 Firewalld 是否正在运行:
sudo systemctl status firewalld如果输出显示
active (running),说明 Firewalld 正常运行。
5. 配置防火墙规则(可选)
您可以使用
firewall-cmd命令来添加规则,例如开放 SSH 端口:sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
6. 检查是否与其他防火墙冲突
有些系统默认使用
iptables或ufw,可能导致 Firewalld 无法正常工作。您可以检查并关闭这些服务:检查
iptables是否运行:sudo systemctl status iptables如果运行着,可以暂时停止:
sudo systemctl stop iptables sudo systemctl disable iptables检查
ufw是否启用:sudo ufw status如果启用,可以禁用:
sudo ufw disable
🔧 总结:解决问题的步骤(有序列表)
-
确认 Firewalld 是否安装
sudo dnf list installed | grep firewalld -
如果未安装,安装 Firewalld
sudo dnf install firewalld -y -
启动 Firewalld 服务
sudo systemctl start firewalld -
设置开机自启
sudo systemctl enable firewalld -
检查 Firewalld 状态
sudo systemctl status firewalld -
如有冲突,关闭其他防火墙服务(如 iptables/ufw)
sudo systemctl stop iptables && sudo systemctl disable iptables sudo ufw disable
📌 常见错误修复示例
如果您尝试运行
firewall-cmd时仍然报错,可以尝试:sudo systemctl restart firewalld或查看日志排查问题:
journalctl -u firewalld
📌 最终验证
运行以下命令确认防火墙状态:
sudo firewall-cmd --state如果返回
running,表示 Firewalld 正常运行。
如有更多关于防火墙配置的问题,欢迎继续提问!
解决 无用评论 打赏 举报