2.9. 使用 IP 集为允许列表配置动态更新


您可以进行接近实时的更新,来灵活地允许 IP 集中特定的 IP 地址或范围,即使在无法预计的情况下也是如此。这些更新可以被各种事件触发,如检测安全威胁或更改网络行为。通常,此类解决方案利用自动化来减少手工工作,并通过快速响应情况来提高安全性。

先决条件

  • firewalld 服务在运行。

流程

  1. 创建一个有有意义名称的 IP 集:

    # firewall-cmd --permanent --new-ipset=allowlist --type=hash:ip
    Copy to Clipboard

    名为 allowlist 的新 IP 集包含您希望防火墙允许的 IP 地址。

  2. 向 IP 集添加动态更新:

    # firewall-cmd --permanent --ipset=allowlist --add-entry=198.51.100.10
    Copy to Clipboard

    此配置使用新添加的 IP 地址更新防火墙允许传输网络流量的allowlist IP 集。

  3. 创建一个引用之前创建的 IP 集的防火墙规则:

    # firewall-cmd --permanent --zone=public --add-source=ipset:allowlist
    Copy to Clipboard

    没有此规则,IP 集不会对网络流量有任何影响。默认防火墙策略将占先。

  4. 重新载入防火墙配置以应用更改:

    # firewall-cmd --reload
    Copy to Clipboard

验证

  1. 列出所有 IP 集:

    # firewall-cmd --get-ipsets
    allowlist
    Copy to Clipboard
  2. 列出活跃的规则:

    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s1
      sources: ipset:allowlist
      services: cockpit dhcpv6-client ssh
      ports:
      protocols:
      ...
    Copy to Clipboard

    命令行输出的 sources 部分提供了对哪些流量源(主机名、接口、IP 集、子网等)被允许或拒绝访问特定防火墙区域的见解。在这种情况下,包含在 allowlist IP 集中的 IP 地址被允许通过防火墙,为 public 区域传输流量。

  3. 探索 IP 集的内容:

    # cat /etc/firewalld/ipsets/allowlist.xml
    <?xml version="1.0" encoding="utf-8"?>
    <ipset type="hash:ip">
      <entry>198.51.100.10</entry>
    </ipset>
    Copy to Clipboard

后续步骤

  • 使用脚本或安全工具获取您的威胁情报源,并以一种自动化的方式更新 allowlist
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat