无法使用 --permanent 保存防火墙规则

无法使用 --permanent 保存防火墙规则

我刚刚安装了 Fedora 23 Server。我默认创建了一个区域:

# firewall-cmd --get-active-zones
FedoraServer
  interfaces: eth0

如果我向该区域添加服务,它可以正常工作:

# firewall-cmd --zone=FedoraServer --add-service=http
success

# firewall-cmd --zone=FedoraServer --list-all
FedoraServer (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client http ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

但跑步的时候就丢了firewall-cmd --reload

如果我尝试按照建议将其永久化这个答案,出现以下错误:

# firewall-cmd --zone=FedoraServer --add-service=http --permanent
Error: INVALID_SERVICE: 'cockpit' not among existing services

我很惊讶,因为这是基于 OVH 模板的全新安装。

如何解决此错误?

答案1

正如迈克尔·汉普顿 (Michael Hampton) 在评论中所建议的,这似乎特定于 OVH Fedora 23 服务器模板。

cockpit我在 中搜索/etc,并找到以下文件:

/etc/firewalld/zones/FedoraServer.xml

其中包含以下几行:

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
</zone>

我删除了此行并保存了文件:

<service name="cockpit"/>

现在它起作用了!

他们基本上似乎已经向firewalld添加了一个默认服务,但该服务并未安装在他们的模板中。

相关内容