Azure 防火墙 DNS 代理详细信息

可以将Azure 防火墙配置为充当 DNS 代理。 DNS 代理是从客户端虚拟机到 DNS 服务器的 DNS 请求的中介。

以下信息描述了Azure 防火墙 DNS 代理的一些实现详细信息。

具有多个 A 记录的 FQDN

Azure 防火墙充当标准 DNS 客户端。 如果响应中包含多条 A 记录,则防火墙会将所有记录存储在缓存中,并在响应中将其提供给客户端。 如果每个响应都有一条记录,则防火墙只存储一条记录。 客户端无法提前知道它是否应该在响应中预期有一条或多条 A 记录。

FQDN 生存时间 (TTL)

防火墙会根据其 TTL 缓存并过期记录。 由于防火墙不使用预提取,因此在 TTL 过期之前不会执行查找以刷新记录。

客户端未配置为使用防火墙 DNS 代理

如果将客户端计算机配置为使用不是防火墙 DNS 代理的 DNS 服务器,则结果可能不可预知。

这种情况很常见,客户端为何应使用防火墙的 DNS 代理功能。 如果你在网络规则中使用 FQDN,则客户端应使用防火墙作为解析程序。 可以确保客户端和防火墙本身的 IP 地址解析一致性。

在此示例中,如果在网络规则中配置了 FQDN,则防火墙会将 FQDN 解析为 IP1(IP 地址 1),并更新网络规则以允许访问 IP1。 如果客户端由于 DNS 响应的差异而将相同的 FQDN 解析为 IP2,则其连接尝试与防火墙上的规则不匹配,并且被拒绝。

对于应用程序规则中的 HTTP/S FQDN,防火墙将从主机或 SNI 头分析 FQDN,解析它,然后连接到该 IP 地址。 将忽略客户端尝试连接到的目标 IP 地址。

后续步骤