如何通过私有 DNS 名称从虚拟网络中的应用服务访问 Azure VM?

How to access Azure VM from App Service in virtual network by private DNS name?

问题是我无法通过 nameresolver.exe

从 App Service 控制台解决 myvm1myvm1.priv.zone

更新: 实际上,这个问题更大。应用服务无法通过其专用 IP (10.1.x.x) 向虚拟网络中的 VM 发送请求,即使在 VM 的子网上允许所有内容也是如此。如果将相同的请求发送到 VM 的 Public IP,则没有问题。

从今天开始,您需要使用 DNS 代理或转发器来实现您的请求。在场景 table 中记录了 here

对于场景"Name resolution from App Service Web Apps to VMs in the same virtual network.",解决方案是"Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy)."

关于如何执行 "Name resolution with your own DNS" 检查 here,其中描述了您的情况。

作为现有的答案,对于这个DOC中的场景Name resolution from App Service Web Apps to VMs in the same virtual network.,您需要部署自己的DNS服务器来帮助名称解析。

这是步骤

  1. 在VNet中的Azure VM上,添加一个服务器角色DNS server,安装完成后,配置DNS服务器,在我的示例中添加Zone名称如qaz.lab。您还可以在此区域中为您的 Azure VM 手动添加 A 记录。
  2. 在Azure VNet 的自定义DNS 服务器中添加DNS 服务器私有IP 地址。然后重启Azure VM使其生效。
  3. Configure VNet Integration with your app,在这种情况下,select 新的 VNet 集成。之后,刷新您的 VNet 集成。您将在您的应用服务计划---网络中看到 DNS 服务器更新。
  4. 导航您的应用服务,运行 nameresolver FQDN 以验证 DNS 解析。目前,仅支持 FQDN 解析。

如果您有任何问题,请告诉我。