无法解析 Azure 专用 DNS 区域中域的外部 DNS 记录

无法解析 Azure 专用 DNS 区域中域的外部 DNS 记录

--- 已编辑以反映我在一个域上运行该应用程序的多个副本的事实 ----

遇到了一个无法解决的问题,想知道这里是否有好心人有经验!

我在 Azure VM(Windows Server 2019)上的单个域的各个子域上运行多个基于 Web 的 .NET 应用程序。比如说 app.clientdomain.com、app-test.clientdomain.com、app-dev.clientdomain.com。我无法控制此域的公共 DNS,因为客户端拥有该域(他们有一个 CNAME 记录,将 app.clientdomain.com 指向位于 VM 前面的 Azure 应用程序网关的 FQDN)。

应用程序需要本地 DNS 环回才能使某些功能正常工作,我使用了 Azure 私有 DNS 区域,将 clientdomain.com 作为主域,app.clientdomain.com、app-test.clientdomain.com 和 app-dev.clientdomain.com 的 A 记录都指向虚拟机的私有 IP 地址。这对于本地 DNS 环回来说非常有效。

我现在还需要能够访问同一域中的 FTP 服务器,例如 ftp.clientdomain.com。所涉及的特定 sFTP 服务器位于我的 Azure 订阅之外,不受我控制。

然而,我遇到的问题是,DNS 可以很好地解析外部世界的 ftp.clientdomain.com,但无法从 VNet 内部解析(NSLookup 报告“不存在的域”)。

我理想情况下不想在我的私有区域中放置 ftp.clientdomain.com 的 A 记录,因为客户端可能会在没有通知的情况下更改 IP 地址,这会破坏我的应用程序访问 sFTP 服务器的能力。

如果在私有区域中找不到匹配的 DNS 记录,我期望它应该到达外部公共 DNS,这是否不合理?是我做错了什么,还是出了什么问题?

提前感谢您的任何意见!

答案1

您已创建与公共区域匹配的私有区域。如果名称在私有区域中无法解析,则返回 NXDOMAIN。DNS 客户端或解析器不会尝试公共区域。

解决方案:为私有区域选择不同的区域名称,以便私有名称和公共名称都可以解析。

答案2

因此,您可以做的就是专门为 app.clientdomain.com 创建 Azure 私有 DNS 区域。我们有完全相同的要求 - 一个公共区域,该区域也具有内部存在的记录。我们通过此设置克服了这个问题。

私有 DNS 区域仅对该子域具有权威性,其他所有域都将在外部解析。只需指向根记录(子域的根记录,即@根据需要指向 IP 地址)。请参阅下面的示例,我已在我的环境中进行了设置。我刚刚注意到打字错误!

在此处输入图片描述

相关内容