完全限定域名 (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 对象,请考虑以下事项:
由于 FQDN 对象会映射到 IP 地址并以 IP 地址的形式进行编程,因此当两个或更多个 FQDN 对象映射到同一 IP 地址时,Cloud NGFW 会采用以下行为。假设您有以下两条适用于同一目标的防火墙规则:
- 规则 1:优先级
100,允许来自来源 FQDNexample1.com的入站流量 - 规则 2:优先级
200,允许来自来源 FQDNexample2.com的入站流量
如果
example1.com和example2.com都解析为同一 IP 地址,则来自example1.com和example2.com的入站数据包都会匹配第一条防火墙规则,因为该规则的优先级更高。- 规则 1:优先级
使用 FQDN 对象时需注意以下几点:
DNS 查询可以根据请求客户端的位置提供唯一的答案。
如果涉及基于 DNS 的负载均衡系统,DNS 回答可能会有很大差异。
DNS 回答可能包含超过 32 个 IPv4 地址。
DNS 回答可能包含超过 32 个 IPv6 地址。
在上述情况下,由于 Cloud NGFW 会在包含应用防火墙规则的虚拟机网络接口的每个区域中执行 DNS 查询,因此防火墙规则中已编入程序的 IP 地址不包含与 FQDN 关联的所有可能 IP 地址。
大多数 Google 域名(例如
googleapis.com)都属于上述一种或多种情况。请改用 IP 地址或地址组。请避免将 FQDN 对象与存留时间 (TTL)小于 90 秒的 DNS
A记录结合使用。
设置域名格式
FQDN 对象必须遵循标准 FQDN 格式。此格式在 RFC 1035、RFC 1123 和 RFC 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 会将它们视为等效域名。