Red Hat Training

A Red Hat training course is available for RHEL 8

6.6.5. 使用区和源来允许一个服务只适用于一个特定的域

要允许特定网络的流量在机器上使用服务,请使用区和源。以下步骤只允许来自 192.0.2.0/24 网络的 HTTP 流量,而任何其他流量都被阻断。

警告

配置此场景时,请使用具有默认目标的区域。使用将目标设置为 ACCEPT 的区域存在安全风险,因为对于来自 192.0.2.0/24 的流量,所有网络连接都将被接受。

流程

  1. 列出所有可用区:

    # firewall-cmd --get-zones
    block dmz drop external home internal public trusted work
  2. 将 IP 范围添加到内部区,以通过区路由来自源的流量:

    # firewall-cmd --zone=internal --add-source=192.0.2.0/24
  3. 在内部区中添加 http 服务:

    # firewall-cmd --zone=internal --add-service=http
  4. 使新设置具有持久性:

    # firewall-cmd --runtime-to-permanent

验证

  • 检查内部区是否活跃,且该服务是否允许:

    # firewall-cmd --zone=internal --list-all
    internal (active)
      target: default
      icmp-block-inversion: no
      interfaces:
      sources: 192.0.2.0/24
      services: cockpit dhcpv6-client mdns samba-client ssh http
      ...

其它资源

  • firewalld.zones(5) man page