Compartir a través de

Azure Firewall DNS 设置

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

DNS 服务器

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

注意事项

对于使用 Azure Firewall Manager 管理的Azure Firewall实例,DNS 设置在关联的Azure Firewall策略中配置。

配置自定义 DNS 服务器

  1. 在 Azure Firewall Settings 下,选择 DNS 设置
  2. DNS 服务器下,可以键入或添加以前在virtual network中指定的现有 DNS 服务器。
  3. 选择“应用”。

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

DNS 代理

可以将Azure Firewall配置为充当 DNS 代理。 DNS 代理是客户端虚拟机向 DNS 服务器发出的 DNS 请求的中介。

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

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

如果在网络规则中启用 FQDN 筛选,但未将客户端virtual machines配置为使用 Azure Firewall 作为其 DNS 代理,则来自这些客户端的 DNS 请求可能会以不同的时间解析或返回与Azure Firewall看到的结果不同的结果。 若要确保 DNS 解析和 FQDN 筛选一致,请将客户端virtual machines配置为使用 Azure Firewall 作为其 DNS 代理。 此设置可确保所有 DNS 请求都通过防火墙,防止不一致。

当Azure Firewall是 DNS 代理时,可以采用两种缓存函数类型:

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

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

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

策略继承

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

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

DNS 代理配置

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

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

注意事项

如果使用自定义 DNS 服务器,请从您的虚拟网络中选择一个不属于 Azure Firewall 子网的 IP 地址。

若要配置 DNS 代理,必须将virtual network DNS 服务器设置配置为使用防火墙专用 IP 地址。 然后在 Azure Firewall DNS 设置中启用 DNS 代理。

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

高可用性故障转移

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

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

运行状况检查

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

具有Azure Private DNS区域的Azure Firewall

Azure Firewall支持与Azure Private DNS区域的集成,从而允许它解析专用域名。 将Private DNS区域与部署Azure Firewall的virtual network相关联时,防火墙可以解析该区域中定义的名称。

注意事项

此集成适用于Azure Firewall本身执行的名称解析(例如,当防火墙解析网络规则或应用程序规则中的 FQDN 时)。 发送到 Azure 防火墙的 DNS 代理的下游客户端的 DNS 查询不会使用 Azure 专用 DNS 区域进行解析,除非配置的上游 DNS 服务器也能访问这些区域。 DNS 代理只是将客户端查询转发到其配置的上游服务器,并且不会合并来自Azure DNS的结果。

重要

避免在 Private DNS 区域中创建会覆盖 Microsoft 拥有的默认域的 DNS 记录。 覆盖这些域可以防止 Azure Firewall 解析关键终结点,这可能会中断管理流量,并导致日志记录、监视和更新等功能失败。

或者,若要防止Private DNS区域影响Azure Firewall,请在单独的virtual network中部署需要Private DNS区域的服务。 这样,Private DNS区域仅与服务virtual network相关联,不会影响Azure Firewall的 DNS 解析。

后续步骤