我无法删除任何预先配置的区域。
[root@fabian ~]# firewall-cmd --permanent --delete-zone=block
Error: BUILTIN_ZONE: block
[root@fabian ~]#
我有办法做到这一点吗?如果我只是删除相应的区域文件,firewalld 将不会启动。
如果不能做到这一点,为什么人们无法摆脱这个内置区域呢?光是看看预定义的空防火墙就让我感到恶心:
[root@fabian ~]# firewall-cmd --list-all-zones
block
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
dmz
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
drop
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
external (active)
interfaces: enp0s26u1u1
sources:
services:
ports:
masquerade: yes
forward-ports:
icmp-blocks:
rich rules:
home
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
internal (default, active)
interfaces: enp4s0
sources:
services: ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
public
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
trusted
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
work
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@fabian ~]#
请救救我。
答案1
默认区域存储在此目录中:
/usr/lib/firewalld/区域
在谷歌搜索firewall-cmd默认区域后提取以下内容:
[https://www.linode.com/docs/security/firewalls/introduction-to-firewalld-on-centos]
配置FirewallD
Firewalld 使用 XML 文件进行配置。除了非常具体的配置之外,您不必处理它们,而应该使用firewall-cmd。
配置文件位于两个目录中:
/usr/lib/FirewallD holds default configurations like default zones and common services. Avoid updating them because those files will be overwritten by each firewalld package update.
/etc/firewalld holds system configuration files. These files will overwrite a default configuration.
话虽如此......我从 /usr/lib/FirewallD/zones 中删除了一个名为internal的内置区域并重新加载了firewalld,并且在执行--list-all-zones时该区域仍然存在。
因此,我从 /etc/firewalld/zones 中删除了内部区域并重新加载了防火墙,现在内部区域已经消失了。
包更新后会不会回来,不知道也没有尝试过。
答案2
我的 Debian bullseye 系统有一个文件/etc/firewalld/zones/docker.xml
,这导致我的防火墙有一个区域docker
(执行时可见firewall-cmd --list-all-zones
)。
摆脱区域的唯一方法docker
是删除该文件:
rm /etc/firewalld/zones/docker.xml
答案3
在 GitHub 上,对此的功能请求被跟踪为第897章。似乎并非所有内置区域都可以由用户删除,因为 firewalld 预计它们的存在会在极少数情况下使用它们。尽管对该问题的讨论表明消除这些案例应该是可能的。
(我相当新,希望将此链接与该解释放在一起作为其自己的答案是合适的。)