設定 Azure 託管服務的反向 DNS
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
本文說明如何設定 Azure 託管服務的反向 DNS 對應。
Azure 中的服務會使用由 Azure 指派並由 Microsoft 所擁有的 IP 位址。 這些反向 DNS 記錄 (PTR 記錄) 必須建立在對應的 Microsoft 擁有之反向 DNS 對應區域中。
此情境不同於能夠針對 Azure DNS 中指派的 IP 範圍託管反向 DNS 查閱區域。 本例中,反向對應區域所代表的 IP 範圍必須指派給您的組織,通常由您的 ISP 指派。
閱讀本文之前,請熟悉 Azure DNS 中的反向 DNS。
在 Azure DNS 中,虛擬機器、虛擬機器擴展集和 Service Fabric 叢集等計算資源具有公用 IP 位址。 反向 DNS 查閱是由公用 IP 位址的「ReverseFqdn」屬性所設定。
Azure App Service 和應用程式閘道目前不支援反向 DNS。
反向 DNS 記錄的驗證
協力廠商應該無權為對應至 DNS 網域的 Azure 服務建立反向 DNS 記錄。 這就是為什麼當正向 DNS 查閱解析為相同的公用 IP 位址,或訂用帳戶中定義的名稱時,Azure 才允許您建立反向 DNS 記錄。 請參閱下列範例。 雲端服務也受此限制。
只有在設定或修改反向 DNS 記錄時,才會執行驗證。 不會定期重新驗證。
例如,假如公用 IP 位址資源的 DNS 名稱為 contosoapp1.northus.cloudapp.azure.com
,IP 位址為 23.96.52.53
。 該公用 IP 位址的反向 FQDN 可指定如下:
- 公用 IP 位址的 DNS 名稱:
contosoapp1.northus.cloudapp.azure.com
。 - 相同訂用帳戶中不同 PublicIpAddress 的 DNS 名稱,例如:
contosoapp2.westus.cloudapp.azure.com
。 - 虛名 DNS 名稱,例如:
app1.contoso.com
。 前提是此名稱「事先」設定為 CNAME,並指向contosoapp1.northus.cloudapp.azure.com
。 此名稱也可以指向相同訂用帳戶中的不同公用 IP 位址。 - 虛名 DNS 名稱,例如:
app1.contoso.com
。 前提是此名稱「事先」設定為 A 記錄,並指向 IP 位址 23.96.52.53。 此名稱也可以指向相同訂用帳戶中的另一個 IP 位址。
相同的條件約束適用於雲端服務的反向 DNS。
公用 IP 位址資源的反向 DNS
本節提供詳細指示,說明如何在 Resource Manager 部署模式中設定公用 IP 位址資源的反向 DNS。 您可以使用 Azure PowerShell、Azure 傳統 CLI 或 Azure CLI 來完成這項工作。 目前不支援在 Azure 入口網站中設定公用 IP 位址資源的反向 DNS。
Azure 目前只支援公用 IPv4 位址資源的反向 DNS。
重要
新的或更新的 PTR 記錄必須通過驗證。 如果公用 IP 位址的 PTR 目前不存在,您必須使用 DomainNameLabel (Azure PowerShell)、-d 參數 (Azure 傳統 CLI) 或 --dns-name 參數 (Azure CLI) 來指定主機名稱,如下列範例所示。
使用現有名稱為公用 IP 位址設定反向 DNS
您的訂用帳戶或透過正向 DNS 查閱中,如果公用 IP 位址已有定義的名稱,請使用下列程序。 將 PTR 更新或新增至現有的公用 IP 位址之後,檢視並確認已設定正確的 PTR。
Azure PowerShell
使用現有 PTR 為公用 IP 位址更新反向 DNS:
$pip = Get-AzPublicIpAddress -Name "PublicIp" -ResourceGroupName "MyResourceGroup"
$pip.DnsSettings.ReverseFqdn = "contosoapp1.westus.cloudapp.azure.com."
Set-AzPublicIpAddress -PublicIpAddress $pip
若要將反向 DNS 新增至還沒有 PTR 的公用 IP 位址,您必須指定 DomainNameLabel:
$pip = Get-AzPublicIpAddress -Name "PublicIp" -ResourceGroupName "MyResourceGroup"
$pip.DnsSettings = New-Object -TypeName "Microsoft.Azure.Commands.Network.Models.PSPublicIpAddressDnsSettings"
$pip.DnsSettings.DomainNameLabel = "contosoapp1"
$pip.DnsSettings.ReverseFqdn = "contosoapp1.westus.cloudapp.azure.com."
Set-AzPublicIpAddress -PublicIpAddress $pip
Azure 傳統 CLI
使用現有 PTR 為公用 IP 位址更新反向 DNS:
azure network public-ip set -n PublicIp -g MyResourceGroup -f contosoapp1.westus.cloudapp.azure.com.
若要將反向 DNS 新增至還沒有 PTR 的公用 IP 位址,您必須指定 DNS 名稱 (-d):
azure network public-ip set -n PublicIp -g MyResourceGroup -d contosoapp1 -f contosoapp1.westus.cloudapp.azure.com.
Azure CLI
使用現有 PTR 為公用 IP 位址更新反向 DNS:
az network public-ip update --resource-group MyResourceGroup --name PublicIp --reverse-fqdn contosoapp1.westus.cloudapp.azure.com.
若要將反向 DNS 新增至還沒有 PTR 的公用 IP 位址,您必須指定 DNS 名稱 (-dns-name):
az network public-ip update --resource-group MyResourceGroup --name PublicIp --reverse-fqdn contosoapp1.westus.cloudapp.azure.com --dns-name contosoapp1
建立具有反向 DNS 的公用 IP 位址
注意
如果您的訂用帳戶中已有公用 IP 位址,請參閱 為具有現有名稱的公用 IP 位址設定反向 DNS
建立已指定反向 DNS 屬性的新 PublicIpAddress:
Azure PowerShell
New-AzPublicIpAddress -Name "PublicIp" -ResourceGroupName "MyResourceGroup" -Location "WestUS" -AllocationMethod Dynamic -DomainNameLabel "contosoapp2" -ReverseFqdn "contosoapp2.westus.cloudapp.azure.com."
Azure 傳統 CLI
azure network public-ip create -n PublicIp -g MyResourceGroup -l westus -d contosoapp3 -f contosoapp3.westus.cloudapp.azure.com.
Azure CLI
az network public-ip create --name PublicIp --resource-group MyResourceGroup --location westcentralus --dns-name contosoapp1 --reverse-fqdn contosoapp1.westcentralus.cloudapp.azure.com
檢視現有公用 IP 位址的反向 DNS
若要檢視現有 PublicIpAddress 已設定的反向 DNS:
Azure PowerShell
Get-AzPublicIpAddress -Name "PublicIp" -ResourceGroupName "MyResourceGroup"
Azure 傳統 CLI
azure network public-ip show -n PublicIp -g MyResourceGroup
Azure CLI
az network public-ip show --name PublicIp --resource-group MyResourceGroup
移除現有公用 IP 位址的反向 DNS
從現有的 PublicIpAddress 移除反向 DNS 屬性:
Azure PowerShell
$pip = Get-AzPublicIpAddress -Name "PublicIp" -ResourceGroupName "MyResourceGroup"
$pip.DnsSettings.ReverseFqdn = ""
Set-AzPublicIpAddress -PublicIpAddress $pip
Azure 傳統 CLI
azure network public-ip set -n PublicIp -g MyResourceGroup –f ""
Azure CLI
az network public-ip update --resource-group MyResourceGroup --name PublicIp --reverse-fqdn ""
設定雲端服務的反向 DNS
本節會詳細說明如何在傳統部署模型中,使用 Azure PowerShell 為雲端服務設定反向 DNS。 不支援透過 Azure 入口網站、Azure 傳統 CLI 或 Azure CLI 為雲端服務設定反向 DNS。
將反向 DNS 新增至現有的雲端服務
將反向 DNS 記錄新增至雲端服務:
Set-AzureService –ServiceName "contosoapp1" –Description "App1 with Reverse DNS" –ReverseDnsFqdn "contosoapp1.cloudapp.net."
建立具有反向 DNS 的雲端服務
建立已指定反向 DNS 屬性的新雲端服務:
New-AzureService –ServiceName "contosoapp1" –Location "West US" –Description "App1 with Reverse DNS" –ReverseDnsFqdn "contosoapp1.cloudapp.net."
檢視現有雲端服務的反向 DNS
檢視現有雲端服務的反向 DNS 屬性:
Get-AzureService "contosoapp1"
移除現有雲端服務的反向 DNS
從現有的雲端服務移除反向 DNS 屬性:
Set-AzureService –ServiceName "contosoapp1" –Description "App1 with Reverse DNS" –ReverseDnsFqdn ""
常見問題集
反向 DNS 記錄的成本為何?
完全免費! 反向 DNS 記錄或查詢無需額外成本。
我的反向 DNS 記錄會從網際網路解析嗎?
是。 對 Azure 服務設定反向 DNS 屬性之後,Azure 會管理所有需要的 DNS 委派和 DNS 區域,以確保能夠為所有網際網路使用者解析。
我的 Azure 服務有沒有建立預設的反向 DNS 記錄?
否。 反向 DNS 是選用的功能。 如果您選擇不設定,則不會建立任何預設反向 DNS 記錄。
完整網域名稱 (FQDN) 有何格式?
FQDN 是以正向順序指定,且必須以點結束 (例如,"app1.contoso.com")。
如果反向 DNS 輸入的驗證檢查失敗,會發生什麼事?
如果反向 DNS 驗證檢查失敗時,設定反向 DNS 記錄的作業也會失敗。 請依要求更正反向 DNS 值,然後再試一次。
Azure App Service 可以設定反向 DNS 嗎?
否。 Azure App Service 不支援反向 DNS。
Azure 服務可以設定多個反向 DNS 記錄嗎?
否。 Azure 雲端服務或 PublicIpAddress,Azure 只支援一筆反向 DNS 記錄。
IPv6 PublicIpAddress 資源可以設定反向 DNS嗎?
否。 Azure DNS 目前不支援公用 IPv6 位址的反向 DNS(PTR 記錄)。
我可以從我的 Azure 計算服務將電子郵件傳送至外部網域嗎?
從 Azure 部署直接傳送電子郵件的技術功能,須視訂用帳戶的類型而定。 不論何種訂用帳戶類型,Microsoft 建議使用信任的郵件轉送服務來傳送外寄郵件。 如需詳細資訊,請參閱增強 Azure 傳送電子郵件的安全性 - 2017 年 11 月更新。
下一步
- 如需反向 DNS 的詳細資訊,請參閱維基百科的 reverse DNS lookup (反向 DNS 對應)。
- 了解如何在 Azure DNS 中為您 ISP 指派的 IP 範圍託管反向對應區域。