使用 Azure 入口網站匯入和匯出 DNS 區域檔案
本文會介紹如何使用 Azure 入口網站在 Azure DNS 中匯入和匯出 DNS 區域檔案。 您也可以使用 Azure PowerShell 匯入和匯出區域檔案。
DNS 區域移轉簡介
DNS 區域檔案是文字檔,其中包含該區域中每筆 DNS 記錄的資訊。 它會遵循標準格式,使其適合於在 DNS 系統之間傳送 DNS 記錄。 若要將 DNS 區域匯入 Azure DNS,使用區域檔案是最便捷的方式。 也可以從 Azure DNS 匯出區域檔案,如此便能搭配其他 DNS 系統使用。
Azure DNS 支援透過 Azure CLI 和 Azure 入口網站匯入和匯出區域檔案。
取得現有的 DNS 區域檔案
將 DNS 區域檔案匯入 Azure DNS 之前,您必須取得區域檔案的複本。 此檔案的來源取決於裝載 DNS 區域的位置。
- 若 DNS 區域託管於合作夥伴的服務,該服務應提供 DNS 區域檔案的下載方式。 合作夥伴服務包含網域註冊商、專門的 DNS 託管服務提供者,或是其他雲端服務提供者。
- 如果 DNS 區域託管在 Windows DNS 上,區域檔案的預設資料夾是 %systemroot%\system32\dns。 在 DNS 主控台的 [一般] 索引標籤上,也會顯示每個區域檔案的完整路徑。
- 如果使用 BIND 託管 DNS 區域,則 BIND 組態檔 named.conf 中會指定每個區域的區域檔案位置。
重要
如果您匯入的區域檔案包含指向私人區域中名稱的 CNAME 項目,除非也匯入另一區域或修改了 CNAME 項目,否則 CNAME 的 Azure DNS 解析會失敗。
將 DNS 區域檔案匯入 Azure DNS
匯入區域檔案會在 Azure DNS 中建立新區域 (如果區域不存在)。 如果區域已經存在,則區域檔案中的記錄集會與現有的記錄集合併。
合併行為
- 預設會將新記錄集與現有記錄集合併。 相同的記錄在合併記錄集內不會重複。
- 合併記錄集時,會使用較早存在之記錄集的存留時間 (TTL)。
- 起始授權 (SOA) 參數 (
host
除外) 一律取自匯入的區域檔案。 至於位於區域頂點的名稱伺服器記錄集,也會一律使用取自匯入區域檔案的 TTL。 - 匯入的 CNAME 記錄會取代具有相同名稱的現有 CNAME 記錄。
- 當某一筆 CNAME 記錄與另一筆名稱相同但類型不同的記錄衝突時,會使用現有的記錄。
匯入的其他資訊
下列幾點提供有關區域匯入流程的進一步詳細資訊。
$TTL
指示詞為選擇性且受到支援。 若未提供$TTL
指示詞,會匯入沒有明確 TTL 的記錄,並設定為預設 TTL 3600 秒。 如果相同資料錄集中有兩筆記錄指定不同的 TTL,則會使用較低的值。$ORIGIN
指示詞為選擇性且受到支援。 若未設定$ORIGIN
,則使用的預設值是在命令列上指定的區域名稱,其中包含結尾點 (.)。$INCLUDE
與$GENERATE
指示詞不受支援。- 支援下列記錄類型:A、AAAA、CAA、CNAME、MX、NS、SOA、SRV 及 TXT。
- Azure DNS 會在建立區域時,自動建立 SOA 記錄。 當您匯入區域檔案時,所有 SOA 參數都會取自該區域檔案,但
host
參數除外。 此參數會使用 Azure DNS 所提供的值,因為其需要參考 Azure DNS 提供的主要名稱伺服器。 - Azure DNS 也會在建立區域時,自動建立位於區域頂點的名稱伺服器記錄集。 只會匯入此記錄集的 TTL。 這些記錄包含 Azure DNS 所提供的名稱伺服器名稱。 所匯入區域檔案中包含的值不會覆寫記錄資料。
- Azure DNS 僅支援單一字串 TXT 記錄。 Multistring TXT 記錄會串連起來並截斷為 255 個字元。
- 要匯入的區域檔案必須包含 10k 或更少行,且記錄集不超過 3k。
匯入區域檔案
針對您要匯入的區域,取得其區域檔案複本。
此範例中使用下列小型區域檔案和資源記錄:
$ORIGIN adatum.com. $TTL 86400 @ IN SOA dns1.adatum.com. hostmaster.adatum.com. ( 2023091201 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day IN NS dns1.adatum.com. IN NS dns2.adatum.com. IN MX 10 mail.adatum.com. IN MX 20 mail2.adatum.com. dns1 IN A 203.0.113.2 dns2 IN A 203.0.113.1 server1 IN A 192.0.2.2 server2 IN A 192.0.2.3 ftp IN A 198.51.100.1 IN A 198.51.100.2 mail IN CNAME server1 mail2 IN CNAME server2 www IN CNAME server1
使用的名稱:
- 原始區域名稱:adatum.com
- 目的地區域名稱:adatum.com
- 區域檔案名稱:adatum.com.txt
- 資源群組︰myresourcegroup
開啟 [DNS 區域] 概觀頁面,然後選取 [建立]。
在 [建立 DNS 區域] 頁面上,輸入或選取下列值:
- 資源群組:選取現有資源群組,或選取 [新建],輸入 myresourcegroup,然後選取 [確定]。 資源群組名稱在 Azure 訂用帳戶中必須是唯一的。
- 名稱:在此範例中輸入 adatum.com。 DNS 區域名稱可以是任何尚未在 Azure DNS 伺服器上設定的值。 實際值將是您向網域名稱註冊機構購買的網域。
選取 [檢閱建立],然後選取 [建立]。
當部署完成時,請選取 [前往資源]。 與 Azure 公用 DNS 相容的 NS 和 SOA 記錄會自動新增至區域。 請參閱下列範例:
選取 [匯入],然後在 [匯入 DNS 區域] 頁面上,選取 [瀏覽]。
選取 adatum.com.txt 檔案,然後選取 [開啟]。 區域檔案會顯示在 [DNS 區域編輯器] 中。 請參閱下列範例:
繼續進行下一個步驟前,請先編輯區域資料值。
注意
如果區域檔案中有舊的 NS 記錄,則區域匯入期間會顯示非封鎖錯誤。 Azure NS 記錄不會遭到覆寫。 在理想情況下,匯入之前就會移除舊的 NS 記錄。
如果您想要重設區域序號,請在匯入之前從 SOA 刪除舊序號。選取 [檢閱建立],然後檢閱 [DNS 區域 Diff 檢視器] 中的資訊。 請參閱下列範例:
選取 建立。 系統會顯示提示,在覆寫現有區域之前,先將現有區域儲存到本機裝置。 選取 [ 下載後繼續]。 匯入區域資料並顯示區域。
選取 [記錄集 ] 以檢視新匯入的資源記錄。 請參閱下列範例:
匯出區域檔案
開啟 [DNS 區域] 概觀頁面,然後選取您要匯出的區域。 例如,adatum.com。 請參閱下列範例:
選取匯出。 該檔案將以文字檔格式下載至預設下載目錄,名稱為 AzurePublicDnsZone-adatum.com
number
.txt,其中number
是自動產生的索引編號。開啟檔案以檢視內容。 請參閱下列範例:
; Exported zone file from Azure DNS ; Zone name: adatum.com ; Date and time (UTC): Tue, 12 Sep 2023 21:33:17 GMT $TTL 86400 $ORIGIN adatum.com ; SOA Record @ 3600 IN SOA SOA dns1.adatum.com. ( 0 ;serial 21600 ;refresh 3600 ;retry 604800 ;expire 86400 ;minimum ttl ) ; NS Records @ 172800 IN NS ns1-36.azure-dns.com. @ 172800 IN NS ns2-36.azure-dns.net. @ 172800 IN NS ns3-36.azure-dns.org. @ 172800 IN NS ns4-36.azure-dns.info. ; MX Records @ 3600 IN MX 10 mail.adatum.com. @ 3600 IN MX 20 mail2.adatum.com. ; A Records dns1 3600 IN A 203.0.113.2 dns2 3600 IN A 203.0.113.1 ftp 3600 IN A 198.51.100.1 ftp 3600 IN A 198.51.100.2 server1 3600 IN A 192.0.2.2 server2 3600 IN A 192.0.2.3 ; AAAA Records ; CNAME Records mail 3600 IN CNAME server1 mail2 3600 IN CNAME server2 www 3600 IN CNAME server1 ; PTR Records ; TXT Records ; SRV Records ; SPF Records ; CAA Records ; DS Records ; Azure Alias Records
下一步
- 了解如何在 DNS 區域中管理記錄集和記錄。
- 了解如何將您的網域委派給 Azure DNS。