如何在应用程序网关上使用内部 linux fqdn

How to use an internal linux fqdn on an Application Gateway

我在同一个 Vnet 上有一个应用程序网关 (AG) 和一个 linux VM(没有自定义 DNS 服务器)。

我现在尝试使用此 VM 的 FQDN(而不是 IP 或 NIC)以 VM 为目标的后端池配置 AG。我使用命令 nslookup "$(hostname)".

获取 FQDN

AG 无法解析 VM FQDN。 AG 的连接故障排除在 DNS 解析时失败。同一 Vnet 中的每个 VM 都成功解析了此 FQDN,但 AG 未成功...

如何在应用程序网关上使用内部 linux fqdn?如果可以的话...

谢谢。

How to use an internal linux fqdn on an Application Gateway? If it is possible...

可以使用内部 FQDN。如果您想使用 FQDNhostname.xxx.bx.internal.cloudapp.net,您可以使用具有 SKU V2 的应用程序网关。但是,V2 目前必须有一个 public 前端。

在这种情况下,有两个建议:

  1. 部署自定义 DNS 服务器。 我只是在当前 VNet 中的一个 Windows VM 上使用内置 DNS 服务器,创建一个指向它的 VM IP 地址的记录,确保 DNS 解析有效。然后在 Azure 门户中 VNet 页面的 DNS 服务器 设置中添加 DNS 服务器的 IP 地址。

    注意:您需要删除您的应用程序网关并重新部署它才能在同一个 VNet 中发挥 DNS 作用。添加VM FQDN作为APP GW的后端。

  2. 如果没有自定义 DNS 服务器,您可以部署 Azure DNS 私有区域。注意:无法在非空 VNet 上创建专用区域。 The feature 计划用于 GA。

    我创建了一个像 contoso.local 这样的 DNS 私有区域,并添加了一个映射区域中 Linux 虚拟机的 A 记录。然后将内部 FQDN linuxvmhostname.contoso.local 添加到内部应用程序网关后端。它会起作用。您可以通过App Gw 的前端私有IP 访问后端VM。详细了解 name resolution for resources in Azure virtual networks

    You could follow these steps to create an Azure DNS private zone using the Azure CLI

总的来说,您还可以在编辑后端池时使用虚拟机选择直接定位 VM。