如何禁用firewalld并保持这种状态?

如何禁用firewalld并保持这种状态?

我的一个学校项目有一个简单的架构,由 3 台虚拟机组成,全部运行 Fedora 24:一台服务器、一台客户端和一台路由器。我决定使用iptablesoverfirewalld来广泛使用我只知道如何管理的 DNAT/SNAT iptables;因此,我禁用firewalld并启用iptables

dnf install iptables-services &&\
systemctl stop firewalld &&\
systemctl disable firewalld &&\
systemctl start iptables && systemctl start ip6tables &&\
systemctl enable iptables && systemctl enable ip6tables

我通过 保存了一组规则service iptables save,它在我的路由器上完美运行。

我在另外两台机器(服务器和客户端)上使用了相同的方法,但规则没有保存。经过一番研究,我意识到它iptables.service不会在启动时启动;我进一步注意到,firewalld即使它被禁用,如上所述。

firewalld即使被禁用,是否有特殊原因仍会启动?以下是启动后状态显示的内容:

firewalld.service - firewalld - dynamic firewall daemon
  Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset : enabled)
  Active: active (running) since Sun 2017-01-22 23:52:34 PST; 15s ago
    Docs:  man:firewalld(1)
Main PID: 619 (firewalld)
   Tasks: 2 (list:512)
  CGroup: /system.slice/firewalld.service
          └─619 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid

Jan 22 23:52:33 public systemd[1]: Starting firewalld - dynamic firewall daemon
Jan 22 23:52:34 public systemd[1]: Started firewalld - dynamic firewall daemon.

另一方面,这是iptables

iptables.service - IPv4 firewall with iptables
 Loaded: loaded (/usr/lib/systemd/systemd/system/iptables.service; enabled; vendor preset: disabled)
 Active: inactive (dead)

答案1

最安全的摆脱方法firewalld是将其删除:

dnf remove firewalld

对于虚拟机来说这样做是完全可以的。

答案2

屏蔽并禁用firewalld服务:

systemctl mask firewalld
systemctl disable firewalld

答案3

您可以使用以下命令将其关闭:

chkconfig firewalld off &&\
reboot

这样,您将从运行级别关闭该firewalld服务,以便在您启动计算机时它不会启动。

相关内容