Azure 反向 DNS 和支援概觀

本文會概要介紹反向 DNS 的運作方式,以及 Azure 在何種情況下可支援反向 DNS。

什麼是反向 DNS?

傳統的 DNS 記錄會將 DNS 名稱對應到 IP 位址,例如 www.contoso.com 會解析至 64.4.6.100。 反向 DNS 則相反,會將 IP 位址轉譯為名稱。 舉例來說,查詢 64.4.6.100 時會解析至 www.contoso.com

反向 DNS 記錄適用於多種不同的情況。 例如,透過驗證電子郵件訊息的寄件者,反向 DNS 記錄廣泛用於對抗垃圾電子郵件。 接收郵件伺服器會擷取寄信伺服器 IP 位址的反向 DNS 記錄。 然後接收郵件伺服器會確認該主機是否有權從來源網域寄送電子郵件。

反向 DNS 的運作方式

反向 DNS 記錄託管於特殊的 DNS 區域,稱為 'ARPA' 區域。 這些區域會形成獨立的 DNS 階層,與一般的階層託管網域 (例如 contoso.com) 平行。

例如,DNS 記錄 www.contoso.com 是使用 DNS 'A' 記錄,以名稱 'www' 在區域 contoso.com 中實作。 此 A 記錄會指向對應的 IP 位址,在此情況下為 64.4.6.100。 反向查閱則是在區域 '6.4.64.in-addr.arpa' 中使用名為 '100' 的 'PTR' 記錄分別實作。 請注意,ARPA 區域中的 IP 位址會反向。 若設定正確,此 PTR 記錄會指向名稱 www.contoso.com

當組織獲指派 IP 位址區塊時,也會取得管理對應的 ARPA 區域的權限。 對應至 Azure 所使用 IP 位址區塊的 ARPA 區域會由 Microsoft 託管並管理。 您的 ISP 可能會為了您所擁有的 IP 位址而為您託管 ARPA 區域。 也可能會允許您將 ARPA 區域託管在自選的 DNS 服務內,例如 Azure DNS。

注意

正向 DNS 對應與反向 DNS 對應會在個別的平行 DNS 階層中實作。 'www.contoso.com' 的反向對應不是在區域 'contoso.com' 中託管,而是在對應的 IP 位址區塊的 ARPA 區域中託管。 IPv4 和 IPv6 位址區塊使用不同的區域。

IPv4

IPv4 反向對應區域的名稱格式應該如下:<IPv4 network prefix in reverse order>.in-addr.arpa

例如,在建立反向區域託管 IP 前置詞為 192.0.2.0/24 的主機記錄時,會先取出位址的網路首碼 (192.0.2),然後反轉順序 (2.0.192) 並加上尾碼 .in-addr.arpa,以這種方式建立區域名稱。

子網路類別 網路首碼 反轉的網路首碼 標準後置詞 反向區域名稱
類別 A 203.0.0.0/8 203 .in-addr.arpa 203.in-addr.arpa
類別 B 198.51.0.0/16 51.198 .in-addr.arpa 51.198.in-addr.arpa
類別 C 192.0.2.0/24 2.0.192 .in-addr.arpa 2.0.192.in-addr.arpa

無類別 IPv4 委派

在某些情況下,提供給組織的 IP 範圍會小於類別 C (/24) 範圍。 此種狀況下,IP 範圍不是落在 .in-addr.arpa 區域階層的區域界限內,因此無法委派為子區域。

透過不同的方法可以將每個反向查閱記錄傳輸到專用的 DNS 區域。 這種方法會為每個 IP 範圍委派子區域。 再使用 CNAME 記錄,將該範圍內的各個 IP 位址分別對應到子區域。

舉例來說,假設您的 IPS 授予貴組織 192.0.2.128/26 的 IP 範圍。 此位址區塊代表 64 個 IP 位址,從 192.0.2.128 到 192.0.2.191。 此範圍的反向 DNS 實作如下:

  • 貴組織建立名為 128-26.2.0.192.in-addr.arpa 的反向查閱區域。 前置詞 '128-26' 代表在類別 C (/24) 範圍內指派給貴組織的網路區段。

  • 您的 ISP 會建立 NS 記錄,從類別 C 的父系區域設定上述區域的 DNS 委派。 ISP 也會在父系 (類別 C) 反向查閱區域中建立 CNAME 記錄。 接著會將 IP 範圍中的每個 IP 位址對應到貴組織建立的新區域:

    $ORIGIN 2.0.192.in-addr.arpa
    ; Delegate child zone
    128-26    NS       <name server 1 for 128-26.2.0.192.in-addr.arpa>
    128-26    NS       <name server 2 for 128-26.2.0.192.in-addr.arpa>
    ; CNAME records for each IP address
    129       CNAME    129.128-26.2.0.192.in-addr.arpa
    130       CNAME    130.128-26.2.0.192.in-addr.arpa
    131       CNAME    131.128-26.2.0.192.in-addr.arpa
    ; etc
    
  • 再由貴組織管理自身子系區域內的個別 PTR 記錄。

    $ORIGIN 128-26.2.0.192.in-addr.arpa
    ; PTR records for each UIP address. Names match CNAME targets in parent zone
    129      PTR    www.contoso.com
    130      PTR    mail.contoso.com
    131      PTR    partners.contoso.com
    ; etc
    

IP 位址 '192.0.2.129' 的反向對應會查詢名為 '129.2.0.192.in-addr.arpa' 的 PTR 記錄。 此查詢以父系區域中的 CNAME 解析至子系區域的 PTR 記錄。

IPv6

IPv6 反向對應區域的名稱格式應該如下:<IPv6 network prefix in reverse order>.ip6.arpa

舉例來說,若建立反向區域用於託管主機記錄,而其 IP 位於 2001:db8:1000:abdc::/64 前置詞, 建立該區域名稱的方式是將該位址 (2001:db8:abdc::) 的網路前置詞隔離。 接著展開 IPv6 網路首碼以移除零壓縮,如果它用來縮短 IPv6 位址首碼 (2001:0db8:abdc:0000::)。 反轉順序,前置詞中每個十六進位數字之間使用句點為分隔符號,建置反轉的網路前置詞 (0.0.0.0.c.d.b.a.8.b.d.0.1.0.0.2),再加上尾碼 .ip6.arpa

網路首碼 已展開並反轉的網路首碼 標準後置詞 反向區域名稱
2001:db8:abdc::/64 0.0.0.0.c.d.b.a.8.b.d.0.1.0.0.2 .ip6.arpa 0.0.0.0.c.d.b.a.8.b.d.0.1.0.0.2.ip6.arpa
2001:db8:1000:9102::/64 2.0.1.9.0.0.0.1.8.b.d.0.1.0.0.2 .ip6.arpa 2.0.1.9.0.0.0.1.8.b.d.0.1.0.0.2.ip6.arpa

Azure 的反向 DNS 支援

Azure 支援與反向 DNS 相關的兩種不同案例:

託管與 IP 位址區塊對應的反向查閱區塊:Azure DNS 可用來託管反向查閱區域並管理 PTR 記錄,IPv4 與 IPv6 均可。 建立反轉對應 (ARPA) 區域、設定委派,以及設定 PTR 記錄的程序與一般的 DNS 區域相同。 差異在於必須透過您的 ISP 來設定委派作業,而非 DNS 註冊機構,而且僅能使用 PTR 記錄類型。

為指派到 Azure 服務的 IP 位址設定反向 DNS 記錄:Azure 可用來為指定給 Azure 服務的 IP 位址設定反向查閱。 此反向查閱是由 Azure 所設定,做為對應 ARPA 區域中的 PTR 記錄。 對應至 Azure 所使用 IP 位址範圍的這些 ARPA 區域會由 Microsoft 託管

下一步