Azure 防火墙 DNS 设置

可以为 Azure 防火墙配置自定义 DNS 服务器并启用 DNS 代理。 可以在部署防火墙时配置这些设置,或者以后从“DNS 设置”页进行配置。 默认情况下,Azure 防火墙使用 Azure DNS,而 DNS 代理已禁用。

DNS 服务器

DNS 服务器维护域名并将它解析为 IP 地址。 默认情况下,Azure 防火墙将 Azure DNS 用于名称解析。 通过“DNS 服务器”设置,你可以配置自己的 DNS 服务器来用于 Azure 防火墙名称解析。 你可以配置一台服务器或多台服务器。 如果配置多个 DNS 服务器,则会随机选择所使用的服务器。 最多可在“自定义 DNS”中配置 15 个 DNS 服务器。

注意

对于使用 Azure 防火墙管理器管理的 Azure 防火墙实例,DNS 设置是在关联的 Azure 防火墙策略中配置的。

配置自定义 DNS 服务器

  1. 在 Azure 防火墙的“设置”下,选择“DNS 设置” 。
  2. 在“DNS 服务器”下,可以键入或添加之前在虚拟网络中指定的现有 DNS 服务器
  3. 选择“应用”。

防火墙现在将 DNS 流量定向到指定的 DNS 服务器以进行名称解析。

屏幕截图显示了 DNS 服务器的设置。

DNS 代理

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

如果要在网络规则中启用 FQDN(完全限定的域名)筛选,请启用 DNS 代理并更新虚拟机配置,以将防火墙用作 DNS 代理。

使用自定义 DNS 服务器的 DNS 代理配置。

如果在网络规则中启用 FQDN 筛选,并且未将客户端虚拟机配置为使用防火墙作为 DNS 代理,则来自这些客户端的 DNS 请求可能会在不同的时间到达 DNS 服务器,或者返回与防火墙不同的响应。 建议将客户端虚拟机配置为使用 Azure 防火墙作为 DNS 代理。 此步骤将 Azure 防火墙放置在客户端请求的路径中,以避免不一致。

当 Azure 防火墙是 DNS 代理时,可以使用两种缓存函数类型:

  • 积极缓存:DNS 解析成功。 防火墙会根据响应中的 TTL(生存时间)将这些响应缓存最长 1 小时。

  • 消极缓存:DNS 解析不返回响应,或者不进行解析。 防火墙会根据响应中的 TTL 将这些响应缓存最长 30 分钟。

DNS 代理将存储网络规则中的 FQDN 的所有已解析的 IP 地址。 最佳做法是使用可解析为一个 IP 地址的 FQDN。

策略继承

应用于独立防火墙的策略 DNS 设置替代独立防火墙的 DNS 设置。 子策略继承所有父策略 DNS 设置,但可以替代父策略。

例如,若要在网络规则中使用 FQDN,应启用 DNS 代理。 但是,如果父策略“未”启用 DNS 代理,则子策略将不支持网络规则中的 FQDN,除非在本地替代此设置。

DNS 代理配置

配置 DNS 代理需要三个步骤:

  1. 在 Azure 防火墙 DNS 设置中启用 DNS 代理。
  2. (可选)配置自定义 DNS 服务器或使用提供的默认设置。
  3. 在虚拟网络 DNS 服务器设置中将 Azure 防火墙的专用 IP 地址配置为自定义 DNS 地址,以将 DNS 流量定向到 Azure 防火墙。

注意

如果选择使用自定义 DNS 服务器,请选择虚拟网络中的任何 IP 地址,不包括 Azure 防火墙子网中的任何 IP 地址。

若要配置 DNS 代理,必须将你的虚拟网络 DNS 服务器设置配置为使用防火墙专用 IP 地址。 然后在 Azure 防火墙的“DNS 设置”中启用 DNS 代理。

配置虚拟网络 DNS 服务器
  1. 选择 DNS 流量将通过 Azure 防火墙实例路由到的虚拟网络。
  2. 在“设置”下,选择“DNS 服务器”。
  3. 在“DNS 服务器”下,选择“自定义”。
  4. 输入防火墙的专用 IP 地址。
  5. 选择“保存” 。
  6. 重启已连接到虚拟网络的 VM,以便为其分配新的 DNS 服务器设置。 VM 在重启之前,将继续使用其当前 DNS 设置。
启用 DNS 代理
  1. 选择你的 Azure 防火墙实例。
  2. 在“设置”下,选择“DNS 设置” 。
  3. 默认情况下,“DNS 代理”已禁用。 启用此设置后,防火墙会在端口 53 上进行侦听,并将 DNS 请求转发到配置的 DNS 服务器。
  4. 查看“DNS 服务器”配置以确保设置适用于你的环境。
  5. 选择“保存”。

高可用性故障转移

DNS 代理具有一种故障转移机制,该机制停止使用检测到的不正常的服务器,并使用另一个可用的 DNS 服务器。

如果所有 DNS 服务器都不可用,则不会回退到另一个 DNS 服务器。

运行状况检查

只要上游服务器报告运行不正常,DNS 代理就会执行五秒钟的运行状况检查循环。 运行状况检查是对根名称服务器进行递归 DNS 查询。 上游服务器被视为正常后,防火墙将停止运行状况检查,直至出现下一个错误。 当正常代理返回错误时,防火墙会在列表中选择另一个 DNS 服务器。

具有 Azure 专用 DNS 区域的 Azure 防火墙

将 Azure 专用 DNS 区域与 Azure 防火墙配合使用时,请确保不要创建覆盖存储帐户的默认域名的域映射,以及 Microsoft 创建的其他终结点。 如果重写默认域名,它会中断对 Azure 存储帐户和其他终结点的 Azure 防火墙管理流量访问。 这会中断防火墙更新、日志记录和/或监视。

例如,防火墙管理流量需要使用域名 blob.core.chinacloudapi.cn 访问存储帐户,防火墙依赖于 Azure DNS for FQDN 进行 IP 地址解析。

不要使用域名 *.blob.core.chinacloudapi.cn 创建专用 DNS 区域,并将其与 Azure 防火墙虚拟网络相关联。 如果重写默认域名,所有 DNS 查询将定向到专用 DNS 区域,这会中断防火墙操作。 而是为专用 DNS 区域创建唯一域名,例如 *.<unique-domain-name>.blob.core.chinacloudapi.cn

或者,可以为存储帐户启用专用链接,并将其与专用 DNS 区域集成,请参阅使用 Azure 防火墙检查专用终结点流量

后续步骤