如何配置 Azure DNS 以将域请求转发到没有公共 IP 地址的服务器?

如何配置 Azure DNS 以将域请求转发到没有公共 IP 地址的服务器?

我有一个通过外部提供商注册的域,x.y.com并且希望将对该域的请求传递到没有公共 IP 的 Azure VM。

我已经创建了一个与我的 VM 同名资源组的 Azure DNS 资源x.y.com,并安排我的域的管理员将域的名称服务器指向给定的 Azure 名称服务器。

然后我将 A 记录指向我的服务器的内部/私有 IP - 10.0.0.4- 但是当我从外部计算机 ping 域时,我得到了10.0.0.4,这显然在 Azure 私有网络之外是不可见的。

我怎样才能让它工作?

答案1

即使您以这种方式使名称解析工作,也没有公共端点供您的流量进入您的 vNET 并到达您的服务器。如果您的服务器上没有公共 IP,我会部署一个 Azure 防火墙,它将对流量进行 NAT 并将 DNS 指向防火墙公共 IP

https://www.petri.com/understanding-and-creating-nat-rules-in-azure-firewall

答案2

我按照我想要的方式完成了这项工作,如下所示:

  1. 确保您的虚拟机具有与之关联的“公共 IP 地址”资源(正如您将看到的,“公共 IP”是一个误称)。
    • 赋予这个“公共 IP 地址”资源一个可识别的名称,例如。{VM-name}-dynamic-ip
    • 将分配类型设置为“动态”。执行此操作时,没有静态公共 IP 地址- 相反,Azure 会提供一个域名,例如,xy.cloudapp.azure.com它们会将其路由到您的 VM。
    • 现在我们还想将外部域路由x.y.com到该 VM - 但这通常需要提供静态 IP 地址,而我们没有。以下是使用 Azure 的内部基础架构执行此操作的方法。
  2. x.y.com在与您想要将流量引导到的 VM(或负载均衡器)相同的资源组中为您的域设置一个 Azure DNS 区域。
  3. DNS 区域概览屏幕的右上角将显示 4 个名称服务器的列表。如果您的域是在 Azure 之外管理的,则需要更改其链接到的名称服务器以匹配这些 Azure 服务器。例如,我的第一个是ns1-02.azure-dns.com
  4. 创建/编辑ADNS 区域的记录。其默认名称应为@.x.y.com
    • 在“别名记录集”下选择“是”
    • 在“别名类型”下选择“Azure 资源”
    • 选择您当前的订阅
    • 现在,在“Azure 资源”下,您将能够选择“公共”IP 地址,{VM-name}-dynamic-ip
  5. 您可能也想为您的资源设置 CNAME 记录,就像您通常所做的那样。不过,我认为这不是必需的。

据我了解,此 DNS 区域已在 Azure 名称服务器中注册,并且能够将流量路由到 Azure 虚拟网络专用的资源。

相关内容