完全限定域名对象概览

完全限定域名 (FQDN) 对象包含您以域名格式指定的域名。您可以在分层防火墙政策、全球网络防火墙政策或区域级网络防火墙政策中将 FQDN 对象用作入站流量规则的来源或出站流量规则的目标。

您可以将 FQDN 与其他参数结合使用。如需详细了解入站流量规则中的来源参数组合,请参阅入站流量规则的来源。 如需详细了解出站流量规则中的目的地参数组合,请参阅出站流量规则的目的地

FQDN 对象支持 Cloud DNS 响应政策VPC 网络级代管式专用地区Compute Engine 内部 DNS 名称和公共 DNS 地区。只要虚拟私有云 (VPC) 网络没有指定备用域名服务器出站服务器政策,就支持此功能。 如需了解详情,请参阅 VPC 网络解析顺序

将 FQDN 对象映射到 IP 地址

Cloud Next Generation Firewall 会定期将 FQDN 对象解析为 IP 地址。Cloud NGFW 会遵循包含防火墙规则目标的 VPC 网络中的 Cloud DNS VPC 名称解析顺序

Cloud NGFW 在 IP 地址解析方面具有以下行为:

  • 支持 CNAME 追踪。如果对 FQDN 对象查询的回答是 CNAME 记录,Cloud NGFW 会使用 Cloud DNS CNAME 追踪

  • 节目 IP 地址。Cloud NGFW 在对使用 FQDN 对象的防火墙规则进行编程时,会使用已解析的 IP 地址。每个 FQDN 对象最多可以映射到 32 个 IPv4 地址和 32 个 IPv6 地址。

    如果 FQDN 对象查询的 DNS 答案解析为超过 32 个 IPv4 地址或超过 32 个 IPv6 地址,Cloud NGFW 会将防火墙规则中编排的 IP 地址限制为前 32 个 IPv4 地址和前 32 个 IPv6 地址。

  • 忽略 FQDN 对象。如果 Cloud NGFW 无法将 FQDN 对象解析为 IP 地址,则会忽略该 FQDN 对象。在以下情况下,Cloud NGFW 会忽略 FQDN 对象:

    • 收到 NXDOMAIN 个回答时。NXDOMAIN 回答是来自域名服务器的明确回答,表示 FQDN 对象查询不存在任何 DNS 记录。

    • 当回答中不存在 IP 地址时。在这种情况下,FQDN 对象查询不会返回 Cloud NGFW 可用于对防火墙规则进行编程的 IP 地址。

    • 当 Cloud DNS 服务器无法访问时。如果提供答案的 DNS 服务器无法访问,Cloud NGFW 会忽略 FQDN 对象。

    如果 FQDN 对象被忽略,Cloud NGFW 会尽可能对防火墙规则的其余部分进行编程。

FQDN 对象的注意事项

对于 FQDN 对象,请考虑以下事项:

  1. 由于 FQDN 对象会映射到 IP 地址并以 IP 地址的形式进行编程,因此当两个或更多个 FQDN 对象映射到同一 IP 地址时,Cloud NGFW 会采用以下行为。假设您有以下两条适用于同一目标的防火墙规则:

    • 规则 1:优先级 100,允许来自来源 FQDN example1.com 的入站流量
    • 规则 2:优先级 200,允许来自来源 FQDN example2.com 的入站流量

    如果 example1.comexample2.com 都解析为同一 IP 地址,则来自 example1.comexample2.com 的入站数据包都会匹配第一条防火墙规则,因为该规则的优先级更高。

  2. 使用 FQDN 对象时需注意以下几点:

    • DNS 查询可以根据请求客户端的位置提供唯一的答案。

    • 如果涉及基于 DNS 的负载均衡系统,DNS 回答可能会有很大差异。

    • DNS 回答可能包含超过 32 个 IPv4 地址。

    • DNS 回答可能包含超过 32 个 IPv6 地址。

    在上述情况下,由于 Cloud NGFW 会在包含应用防火墙规则的虚拟机网络接口的每个区域中执行 DNS 查询,因此防火墙规则中已编入程序的 IP 地址不包含与 FQDN 关联的所有可能 IP 地址。

    大多数 Google 域名(例如 googleapis.com)都属于上述一种或多种情况。请改用 IP 地址或地址组

  3. 请避免将 FQDN 对象与存留时间 (TTL)小于 90 秒的 DNS A 记录结合使用。

设置域名格式

FQDN 对象必须遵循标准 FQDN 格式。此格式在 RFC 1035RFC 1123RFC 4343 中定义。如果 FQDN 对象包含的域名不符合以下所有格式设置规则,Cloud NGFW 会拒绝该对象:

  • 每个 FQDN 对象都必须是至少包含两个标签的域名:

    • 每个标签必须与仅包含以下字符的正则表达式匹配:[a-z]([-a-z0-9][a-z0-9])?.
    • 每个标签的长度必须为 1-63 个字符。
    • 标签必须使用点 (.) 串联。

    因此,FQDN 对象不支持通配符 (*) 或顶级(或根)域名(例如 *.example.com..org),因为这些域名仅包含一个标签。

  • FQDN 对象支持国际化域名 (IDN)。您可以采用 Unicode 或 Punycode 格式提供 IDN。请考虑以下事项:

    • 如果您以 Unicode 格式指定 IDN,Cloud NGFW 会在处理之前将其转换为 Punycode 格式。

    • 您可以使用 IDN 转换器创建 IDN 的 Punycode 表示法。

    • 每个标签 1-63 个字符的字符数限制适用于转换为 Punycode 格式后的 IDN。

  • 完全限定域名 (FQDN) 的编码长度不得超过 255 个字节(八位字节)。

Cloud NGFW 不支持同一防火墙规则中的等效域名。例如,如果两个域名(或 IDN 的 Punycode 表示形式)最多相差一个尾随点 (.),Cloud NGFW 会将它们视为等效域名。

后续步骤