Red Hat Training
A Red Hat training course is available for RHEL 8
46.3.4. 添加新服务
可使用图形化的 firewall-config 工具、firewall-cmd
和 firewall-offline-cmd
来添加和删除服务。或者,您可以编辑 /etc/firewalld/services/
中的 XML 文件。如果用户没有添加或更改服务,那么 /etc/firewalld/services/
中没有相应的 XML 文件。如果要添加或更改服务,则可以使用 /usr/lib/firewalld/services/
文件作为模板。
服务名称必须是字母数字,也可以包括 _
(下划线)和 -
(短划线)字符。
流程
要在终端中添加新服务,请使用 firewall-cmd
或 firewall-offline-cmd
(如果没有活跃的 firewalld
)。
运行以下命令以添加新和空服务:
$
firewall-cmd --new-service=service-name --permanent
要使用本地文件添加新服务,请使用以下命令:
$
firewall-cmd --new-service-from-file=service-name.xml --permanent
您可以使用额外的
--name=service-name
选项来更改服务名称。更改服务设置后,服务的更新副本放在
/etc/firewalld/services/
中。作为
root
用户,您可以输入以下命令来手动复制服务:# cp /usr/lib/firewalld/services/service-name.xml /etc/firewalld/services/service-name.xml
firewalld
首先从 /usr/lib/firewalld/services
加载文件。如果文件放在 /etc/firewalld/services
中,并且有效,则这些文件将覆盖 /usr/lib/firewalld/services
中的匹配文件。一旦删除了 /etc/firewalld/services
中的匹配文件,或者要求 firewalld
加载服务的默认值,就会使用 /usr/lib/firewalld/services
中的覆盖文件。这只适用于永久性环境。要在运行时环境中获取这些回退,则需要重新载入。