訓練
認證
Microsoft Certified: Azure Network Engineer Associate - Certifications
示範 Azure 網路基礎結構的設計、實作和維護、負載平衡流量、網路路由等等。
本文會介紹如何使用 Azure CLI 在 Azure DNS 中匯入和匯出 DNS 區域檔案。 您也可以使用 Azure 入口網站匯入和匯出區域檔案。
DNS 區域檔案是文字檔,其中包含該區域中每筆網域名稱系統 (DNS) 記錄的資訊。 它會遵循標準格式,使其適合於在 DNS 系統之間傳送 DNS 記錄。 若要將 DNS 區域匯入 Azure DNS,使用區域檔案是最便捷的方式。 也可以從 Azure DNS 匯出區域檔案,如此便能搭配其他 DNS 系統使用。
Azure DNS 支援透過 Azure CLI 和 Azure 入口網站匯入和匯出區域檔案。
Azure CLI 是用於管理 Azure 服務的跨平台命令列工具。 適用於 Windows、Mac 及 Linux,可於 Azure 下載頁面取得。
將 DNS 區域檔案匯入 Azure DNS 之前,您必須取得區域檔案的複本。 此檔案的來源取決於裝載 DNS 區域的位置。
重要
如果您匯入的區域檔案包含指向另一個私人區域中名稱的 CNAME 項目,除非也匯入另一區域或修改了 CNAME 項目,否則 CNAME 的 Azure DNS 解析會失敗。
匯入區域檔案會在 Azure DNS 中建立新區域 (如果區域不存在)。 如果區域已經存在,則區域檔案中的記錄集會與現有的記錄集合併。
host
除外) 一律取自匯入的區域檔案。 至於位於區域頂點的名稱伺服器記錄集,也會一律使用取自匯入區域檔案的 TTL。下列幾點提供有關區域匯入流程的進一步技術詳細資訊。
$TTL
指示詞為選擇性且受到支援。 若未提供 $TTL
指示詞,會匯入沒有明確 TTL 的記錄,並設定為預設 TTL 3600 秒。 如果相同資料錄集中有兩筆記錄指定不同的 TTL,則會使用較低的值。$ORIGIN
指示詞為選擇性且受到支援。 若未設定 $ORIGIN
,則使用的預設值是在命令列上指定的區域名稱,其中包含結尾點 (.)。$INCLUDE
與 $GENERATE
指示詞不受支援。host
參數除外。 此參數會使用 Azure DNS 所提供的值,因為其需要參考 Azure DNS 提供的主要名稱伺服器。用來匯入 DNS 區域的 Azure CLI 命令格式為:
az network dns zone import -g <resource group> -n <zone name> -f <zone file name>
值:
<resource group>
是 Azure DNS 中區域的資源群組名稱。<zone name>
是區域的名稱。<zone file name>
是要匯入之區域檔案的路徑/名稱。如果資源群組中尚未存在具有此名稱的區域,則會為您建立一個。 若已有區域存在,則會將匯入的記錄集與現有記錄集合併。
匯入 contoso.com區域的區域檔案。
如果您還沒有資源群組,請加以建立。
az group create --resource-group myresourcegroup -l westeurope
若要將 contoso.com.txt 檔案中的 contoso.com 區域匯入至 myresourcegroup 資源群組中的新 DNS 區域,請執行命令 az network dns zone import
。
此命令會載入並剖析該區域檔案。 此命令會在 Azure DNS 服務上執行一系列作業,以建立區域和區域中的所有記錄集。 此命令會在主控台視窗中報告進度,以及任何的錯誤或警告。 由於記錄集是以序列方式建立,可能需要幾分鐘的時間來匯入大型的區域檔案。
az network dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
若要在匯入檔案之後確認 DNS 區域,可使用以下任一種方法:
若要列出記錄,請使用下列 Azure CLI 命令:
az network dns record-set list -g myresourcegroup -z contoso.com
也可使用 Azure CLI 命令 az network dns record-set ns list
列出記錄。
可使用 nslookup
來驗證記錄的名稱解析。 若尚未委派區域,則需明確指定正確的 Azure DNS 名稱伺服器。 下列範例顯示如何擷取已指派給區域的名稱伺服器名稱。
az network dns record-set ns list -g myresourcegroup -z contoso.com --output json
[
{
.......
"name": "@",
"nsRecords": [
{
"additionalProperties": {},
"nsdname": "ns1-03.azure-dns.com."
},
{
"additionalProperties": {},
"nsdname": "ns2-03.azure-dns.net."
},
{
"additionalProperties": {},
"nsdname": "ns3-03.azure-dns.org."
},
{
"additionalProperties": {},
"nsdname": "ns4-03.azure-dns.info."
}
],
"resourceGroup": "myresourcegroup",
"ttl": 86400,
"type": "Microsoft.Network/dnszones/NS"
}
]
可使用 Windows 命令提示字元,以 nslookup
命令來查詢 "www" 記錄。
nslookup www.contoso.com ns1-03.azure-dns.com
Server: ns1-01.azure-dns.com
Address: 40.90.4.1
Name:www.contoso.com
Addresses: 134.170.185.46
134.170.188.221
確認已正確匯入區域之後,必須更新 DNS 委派以指向 Azure DNS 名稱伺服器。 如需詳細資訊,請參閱更新 DNS 委派。
若要匯出 DNS 區域,請使用下列 Azure CLI 命令:
az network dns zone export -g <resource group> -n <zone name> -f <zone file name>
值:
<resource group>
是 Azure DNS 中區域的資源群組名稱。<zone name>
是區域的名稱。<zone file name>
是要匯出之區域檔案的路徑/名稱。和區域匯入時一樣,您必須先登入,選擇訂用帳戶,然後設定 Azure CLI 以使用資源管理員模式。
若要將 myresourcegroup 資源群組中的現有 Azure DNS 區域 contoso.com 匯出至 contoso.com.txt 檔案 (在目前資料夾中),請執行 azure network dns zone export
。 此命令會呼叫 Azure DNS 服務,以列舉區域中的記錄集,並將結果匯出為 BIND 相容的區域檔案。
az network dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt
訓練
認證
Microsoft Certified: Azure Network Engineer Associate - Certifications
示範 Azure 網路基礎結構的設計、實作和維護、負載平衡流量、網路路由等等。