在CentOS 7上暂时停止和永久禁用FirewallD防火墙的方法

2020年03月01日23:12:39

在CentOS 7之后,FirewallD取代了iptables作为默认的防火墙管理工具。

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

在本教程中,我们将向你介绍如何在CentOS 7系统上禁用FirewallD。

在开始本教程之前,请确保你以具有sudo特权的用户身份登录。

在CentOS 7上禁用FirewallD防火墙

在CentOS 7上禁用FirewallD防火墙

检查FirewallD防火墙状态

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

[root@myvps ~]# firewall-cmd --state

如果FirewallD服务正在你的CentOS系统上运行,则上面的命令将显示以下消息:

running
暂时停止FirewallD防火墙

你可以使用以下命令暂时停止FirewallD服务:

[root@myvps ~]# systemctl stop firewalld
[root@myvps ~]# systemctl mask firewalld

为了检测它是否被禁用,我们可以使用:

[root@myvps ~]# systemctl status firewalld
firewalld.service
Loaded: masked (/dev/null)
Active: inactive (dead)
Jul 29 13:57:47 myvps systemd[1]: Stopped firewalld - dynamic firewall daemon.
永久禁用FirewallD防火墙

但是,上述方法仅对当前运行时会话有效。

要永久禁用CentOS 7系统上的FirewallD防火墙,需执行以下步骤:

  1. 首先,使用以下命令停止FirewallD服务:
    [root@myvps ~]# systemctl stop firewalld
  2. 禁用FirewallD服务以在系统启动时自动启动:
    [root@myvps ~]# 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服务,这将阻止防火墙被其他服务启动:
    [root@myvps ~]# systemctl mask --now firewalld

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

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

在本教程中,介绍了在CentOS 7计算机上停止及永久禁用FirewallD防火墙的方法。