共用方式為


使用 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。

匯入區域檔案

  1. 針對您要匯入的區域,取得其區域檔案複本。

    此範例中使用下列小型區域檔案和資源記錄:

    $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	5.4.3.2
    dns2	IN	A	4.3.2.1		       
    server1	IN	A	4.4.3.2        
    server2	IN	A	5.5.4.3
    ftp	IN	A	3.3.2.1
         IN	A	3.3.3.2
    mail	IN	CNAME	server1
    mail2	IN	CNAME	server2
    www	    IN	CNAME	server1
    

    使用的名稱:

    • 原始區域名稱:adatum.com
    • 目的地區域名稱:adatum.com
    • 區域檔案名稱:adatum.com.txt
    • 資源群組︰myresourcegroup
  2. 開啟 [DNS 區域] 概觀頁面,然後選取 [建立]

  3. 在 [建立 DNS 區域] 頁面上,輸入或選取下列值:

    • 資源群組:選取現有資源群組,或選取 [新建],輸入 myresourcegroup,然後選取 [確定]。 資源群組名稱在 Azure 訂用帳戶中必須是唯一的。
    • 名稱:在此範例中輸入 adatum.com。 DNS 區域名稱可以是任何尚未在 Azure DNS 伺服器上設定的值。 實際值將是您向網域名稱註冊機構購買的網域。
  4. 選取 [檢閱建立],然後選取 [建立]

  5. 當部署完成時,請選取 [前往資源]。 與 Azure 公用 DNS 相容的 NS 和 SOA 記錄會自動新增至區域。 請參閱下列範例:

    adatum.com 區域概觀

  6. 選取 [匯入],然後在 [匯入 DNS 區域] 頁面上,選取 [瀏覽]

  7. 選取 adatum.com.txt 檔案,然後選取 [開啟]。 區域檔案會顯示在 [DNS 區域編輯器] 中。 請參閱下列範例:

    DNS 區域編輯器中顯示的 adatum.com 區域

  8. 繼續進行下一個步驟前,請先編輯區域資料值。

    注意

    如果區域檔案中有舊的 NS 記錄,則區域匯入期間會顯示非封鎖錯誤。 Azure NS 記錄不會遭到覆寫。 在理想情況下,匯入之前就會移除舊的 NS 記錄。
    如果您想要重設區域序號,請在匯入之前從 SOA 刪除舊序號。

  9. 選取 [檢閱建立],然後檢閱 [DNS 區域 Diff 檢視器] 中的資訊。 請參閱下列範例:

    DNS 區域差異查看器中顯示的 adatum.com 區域

  10. 選取 建立。 系統會顯示提示,在覆寫現有區域之前,先將現有區域儲存到本機裝置。 選取 [ 下載後繼續]。 匯入區域資料並顯示區域。

  11. 選取 [記錄集 ] 以檢視新匯入的資源記錄。 請參閱下列範例:

    概觀窗格中顯示的 adatum.com 區域

匯出區域檔案

  1. 開啟 [DNS 區域] 概觀頁面,然後選取您要匯出的區域。 例如,adatum.com。 請參閱下列範例:

    準備導出的 adatum.com 區域

  2. 選取匯出。 該檔案將以文字檔格式下載至預設下載目錄,名稱為 AzurePublicDnsZone-adatum.comnumber.txt,其中 number 是自動產生的索引編號。

  3. 開啟檔案以檢視內容。 請參閱下列範例:

    ; 	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	5.4.3.2
    dns2	3600	IN	A	4.3.2.1
    ftp	3600	IN	A	3.3.2.1
    ftp	3600	IN	A	3.3.3.2
    server1	3600	IN	A	4.4.3.2
    server2	3600	IN	A	5.5.4.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
    

下一步