FirewallD 是一个完整的防火墙解决方案,它动态管理网络连接和接口的信任级别。它让您完全控制允许或禁止与系统之间的流量。

从 CentOS 7 开始,FirewallD 取代 iptables 成为默认的防火墙管理工具。

强烈建议保持 FirewallD 服务启用,但在某些情况下,例如测试时,您可能需要完全停止或禁用它。

在本教程中,我们将向您展示如何在 CentOS 7 系统上禁用 FirewallD。

前提条件

在开始本教程之前,请确保您已使用具有 sudo 权限的用户登录。

如果您是因为遇到连接问题或配置防火墙有困难而禁用防火墙,请查看此关于如何在 centos 7 上使用 firewalld 设置防火墙的指南。

检查防火墙状态

要查看 FirewallD 服务的当前状态,您可以使用 firewall-cmd 命令:

sudo firewall-cmd --state

如果您的 CentOS 系统正在运行 FirewallD 服务,上述命令将打印以下消息:

running

禁用防火墙

您可以使用以下命令临时停止 FirewallD 服务:

sudo systemctl stop firewalld

但是,此更改仅对当前运行时会话有效。

要在您的 CentOS 7 系统上永久禁用防火墙,请按照以下步骤操作:

  1. 首先,使用以下命令停止 FirewallD 服务:

    sudo systemctl stop firewalld
  2. 禁用 FirewallD 服务以使其在系统启动时自动启动:

    sudo systemctl disable firewalld

    上述命令的输出看起来像这样:

    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  3. 屏蔽 FirewallD 服务,这将防止其他服务启动防火墙:

    sudo systemctl mask --now firewalld

    从输出中可以看到,mask 命令只是创建了一个从 firewalld 服务到 /dev/null 的符号链接:

    Created symlink from /etc/systemd/system/firewalld.service to /dev/null.