Red Hat Training

A Red Hat training course is available for RHEL 8

6.3.4. 添加新服务

可以使用图形化的 firewall-config 工具、firewall- cmd 和 firewall- offline-cmd 添加和删除服务。或者,您可以编辑 /etc/firewalld/services/ 中的 XML 文件。如果用户未添加或更改服务,则在 /etc/firewalld/services/ 中没有找到对应的 XML 文件。如果要添加或更改服务,则 /usr/lib/firewalld/services/ 文件可用作模板。

注意

服务名称必须是字母数字,还可仅包含 _ (下划线)和 - (短划线)字符。

流程

要在终端中添加新服务,请使用 firewall-cmdfirewall-offline-cmd (如果未激活 firewalld )。

  1. 运行以下命令以添加新和空服务:

    $ firewall-cmd --new-service=service-name --permanent
  2. 要使用本地文件添加新服务,请使用以下命令:

    $ firewall-cmd --new-service-from-file=service-name.xml --permanent

    您可以使用 additional --name=service-name 选项来更改服务名称。

  3. 更改服务设置后,服务的更新副本将置于 /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 中的覆盖文件。这只适用于永久性环境。要在运行时环境中获取这些回退,则需要重新载入。