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 託管
下一步
- 如需反向 DNS 的詳細資訊,請參閱維基百科的 Reverse DNS lookup (反向 DNS 查閱)。
- 了解如何在 Azure DNS 中為您 ISP 指派的 IP 範圍託管反向對應區域。
- 了解如何管理 Azure 服務的反向 DNS 記錄。