普通网友 2025-11-30 15:36 采纳率: 0%
浏览 9

报错“FirewallD is not running”怎么办,如何解决?

报错“FirewallD is not running”怎么办,如何解决?防火墙未开启怎么整

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2025-11-30 15:53
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    当您遇到错误信息 “FirewallD is not running” 时,这意味着 Firewalld 服务没有在您的系统上运行。Firewalld 是一个动态管理防火墙的工具,常用于基于 Systemd 的 Linux 发行版(如 CentOS、Fedora、RHEL 和某些 Ubuntu 版本)。


    🛡️ 问题原因

    • Firewalld 服务未启动。
    • Firewalld 未安装。
    • 系统使用了其他防火墙工具(如 iptablesufw),而 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. 检查是否与其他防火墙冲突

    有些系统默认使用 iptablesufw,可能导致 Firewalld 无法正常工作。您可以检查并关闭这些服务:

    检查 iptables 是否运行:

    sudo systemctl status iptables
    

    如果运行着,可以暂时停止:

    sudo systemctl stop iptables
    sudo systemctl disable iptables
    

    检查 ufw 是否启用:

    sudo ufw status
    

    如果启用,可以禁用:

    sudo ufw disable
    

    🔧 总结:解决问题的步骤(有序列表)

    1. 确认 Firewalld 是否安装

      sudo dnf list installed | grep firewalld
      
    2. 如果未安装,安装 Firewalld

      sudo dnf install firewalld -y
      
    3. 启动 Firewalld 服务

      sudo systemctl start firewalld
      
    4. 设置开机自启

      sudo systemctl enable firewalld
      
    5. 检查 Firewalld 状态

      sudo systemctl status firewalld
      
    6. 如有冲突,关闭其他防火墙服务(如 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 正常运行。


    如有更多关于防火墙配置的问题,欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 11月30日