问题
如果将 Azure 防火墙的 DNS 代理与同一防火墙后面的内部 DNS 服务器一起使用,对外部 DNS 记录的请求会发生什么情况(即,这是否会导致无限循环,其中 DNS 服务器从公共 DNS 服务器请求记录,但此请求被FW并发送回内部DNS服务器)?
语境
我们在 Azure 中有一个安全集线器/vwan,其中所有 vnet 间流量都通过防火墙,我们网络的所有入口和出口流量也是如此。
我们希望在防火墙上启用DNS 代理,以允许我们在规则中使用 FQDN。
我们也在我们的固件上指定了自定义 DNS 服务器(根据MS Docs 的屏幕截图,这似乎是可以接受的。在屏幕截图中,它们使用内部 IP 和 MS 的特殊168.63.129.16
IP。对于我们来说,我们有 2 个域控制器的内部 IP ,并且这些设置是有条件转发到168.63.129.16
那些我们拥有带有私有 DNS 区域的私有端点的域。
我担心的是,启用 DNS 代理后,由于从我们的 DC 到互联网的流量会经过此防火墙,它是否会拦截它们对公共 DNS 的查询并导致无限循环,从而导致任何对外部 DNS 信息的请求失败(一旦之前有任何请求)缓存条目过期)?
同样,对 168.63.129.16 的请求(通过条件转发器)是否也会被视为发送至互联网并因此被拦截?
文档中的屏幕截图意味着我们可以168.63.129.16
在防火墙上添加 DNS 服务器...但这是否会被视为与其他 DNS 服务器的循环(即,对内部区域的请求有时会失败,因为不168.63.129.16
知道我们的内部区域超出了 Azure 私有 dns 区域,但有时在访问我们的内部 DNS 服务器时会返回预期的响应),或者是否存在某种优先顺序,仅当168.63.129.16
我们的内部 DNS 服务器没有记录时才会联系?
如果这种无限循环是可能的,那么正确的解决方法是什么?我们是否只是将来自 DC 的出站流量路由为下一跳0.0.0.0/0
(这会影响所有流量,而不仅仅是端口 53),还是有更好的解决方案?
防火墙代理与 2 部分配置一起使用:1)在固件上启用;2) 客户端配置为使用它,即在客户端上它必须指向固件地址作为其 DNS 服务器。
你们的 DC(同时也是 DNS)有自己的互联网/公共域名转发器。DC 将外部查询直接转发到外部 DNS 服务器,这意味着此类查询不会通过 fw。
使用 Azure 防火墙作为部署在中心虚拟网络中的自定义 DNS 转发器虚拟机的 DNS 代理,或直接连接到 Azure 提供的默认 DNS。DNS 代理是从客户端虚拟机到 DNS 服务器的 DNS 请求的中介。如果您配置自定义 DNS 服务器,然后启用 DNS 代理以避免 DNS 解析不匹配,并在网络规则中启用 FQDN(完全限定域名)过滤。此功能需要在网络规则中具有可靠的 FQDN 过滤。如果不启用 DNS 代理,则来自客户端的 DNS 请求可能会在不同的时间传输到 DNS 服务器,或者返回与防火墙不同的响应。DNS 代理将 Azure 防火墙置于客户端请求的路径中以避免不一致。可以在 Azure 防火墙和防火墙策略设置中启用 DNS 代理。有关详细信息,请参阅 Azure 防火墙 DNS 代理。若要了解有关 DNS 代理日志的详细信息,请参阅 Azure 防火墙日志和指标文档。
所以它只是将 dns 查询转发到您的内部 dns 服务器。