在我们的 Azure 环境中,我们有几个虚拟机。对于其中一个,我们要求它需要有一个 DNS 名称才能访问它。过去我们在私有 DNS 区域方面遇到了一些问题,因此我们选择将公共 IP 绑定到机器,这将为我们提供免费的 (.cloudapp.azure.com) DNS。
该虚拟机不应通过互联网访问,因此我们在其所在的子网上添加了一个 NSG,该 NSG 可阻止外部流量但允许虚拟网络流量。
在另一个配对的虚拟网络上,我们有一个 VPN 网关,我可以使用它来访问环境及其内部资源。现在我看到的是,除非我打开前面提到的 NSG 以允许所有流量,否则我无法使用此机器的 DNS 名称连接到它。起初我想:有道理,流量被路由到公共 IP,即使我已经启动并运行了 VPN,它仍被视为“外部”流量。所以我添加了一个本地路由(路由添加...),将流量定向到公共 IP 到我的 VPN 网关地址。我的理由是:流量现在通过 VPN 定向,因此从那里开始,Azure 的内部路由将确保流量被视为虚拟网络流量,一切都会好起来。
足以说明:这不起作用。但我似乎无法弄清楚为什么不起作用,而这正是我想知道的。如果有其他方法可以满足要求,那也行(除了私有 DNS 选项,我认为这对 VPN 也不起作用)。
答案1
我相信您要么需要自己的 DNS,要么至少需要自己的 DNS 代理服务器。
本文对不同的 Azure 名称解析场景及其支持的解决方案进行了详细的介绍:
具体来说,“从本地计算机解析 Azure 主机名”,所述的方法是“将查询转发到相应虚拟网络中客户管理的 DNS 代理服务器,代理服务器将查询转发到 Azure 进行解析”。