針對 Amazon Route 53 以 IP 為基礎的路由政策測試 DNS 解析時,系統顯示預期以外的結果。
解決方法
範例案例
您的用戶端 CIDR 172.32.0.0/16 和 172.33.0.0/16 分別指向兩個 Elastic Load Balancing (ELB) 負載平衡器,而這些用戶端都具有以 IP 為基礎的路由記錄。一個 ELB 負載平衡器位於維吉尼亞州 (us-east-1),另一個位於愛爾蘭 (eu-west-1)。用戶端 CIDR 172.32.0.0/16 會解析網域,傳送給 us-east-1 的負載平衡器。用戶端 CIDR 172.33.0.0/16 會解析網域,傳送給 eu-west-1 的負載平衡器。然而,用戶端並未收到預期中的輸出內容。
**注意:**私有託管區域不支援以 IP 為基礎的路由。
若要針對以 IP 為基礎的路由執行疑難排解,請完成以下步驟:
1. 確認您已依照您的使用案例,正確設定 Route 53 託管區域以 IP 為基礎的資源記錄。開啟 Route 53 主控台,查看 Route 53 託管區域組態所指定的預設位置。
注意:
- 如果與來源 IP 地址相符的 CIDR 集合中未指定 CIDR 區塊,Route 53 會回覆預設的「*」位置。
- 如果以下條件為真,Route 53 會回覆 NODATA:
未指定預設的「*」位置。
查詢的來源 CIDR 區塊與 CIDR 集合中指定的 CIDR 區塊無一相符。
- Route 53 會將 CIDR 長度超過指定 CIDR 的 DNS 查詢與 CIDR 集合中指定的較短 CIDR 相互比對。例如,如果您在 CIDR 集合中指定 2001:db8::/32 作為 CIDR,並接收來自 2001:0db8:1234::/48 的查詢,則 CIDR 相符。如果您在 CIDR 集合中指定 2001:db8:1234::/48,但接收的查詢來自 2001:db8::/32,則不相符。Route 53 會回覆「*」位置的記錄。
如需了解 CIDR 集合和 CIDR 區塊限制配額,請參閱記錄配額。
2. 檢查用戶端是否正確解析。
如果用戶端是在虛擬私有雲端 (VPC) 解析,並使用 VPC DNS .2 解析程式,以 IP 為基礎的路由將無法正常運作,原因是 .2 解析器不支援 EDNS 用戶端子網路 (ECS)。
如果用戶端是在 VPC 以外的位置解析,請執行下列命令,確認您的 DNS 解析程式是否支援 EDNS0:
Linux 或 macOS
dig TXT o-o.myaddr.google.com -4
Windows
nslookup -type=txt o-o.myaddr.google.com
以下範例輸出內容顯示不支援 EDNS0 的 DNS 解析程式:
$ dig TXT o-o.myaddr.google.com -4
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> TXT o-o.myaddr.google.com -4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38328
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;o-o.myaddr.google.com. IN TXT
;; ANSWER SECTION:
o-o.myaddr.google.com. 60 IN TXT "3.209.83.70"
以下範例輸出內容顯示支援 EDNS0 的 DNS 解析程式:
$ dig TXT o-o.myaddr.google.com -4 @8.8.8.8
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> TXT o-o.myaddr.google.com -4 @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30624
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;o-o.myaddr.google.com. IN TXT
;; ANSWER SECTION:
o-o.myaddr.google.com. 60 IN TXT "172.253.8.137"
o-o.myaddr.google.com. 60 IN TXT "edns0-client-subnet 54.82.0.0/24"
3. 若要檢查 DNS 解析,請使用託管區域的授權名稱伺服器來解析記錄。執行以下命令。在下列範例命令中,將 example.com 改成您的網域。
dig A example.com +subnet=172.3.0.0/16 @ns-1875.awsdns-42.co.uk
或者,您也可以使用 dig 或 nslookup 來驗證 DNS 解析是否如預期中運作。在以下範例命令中,將 example.com 改成您的網域。
dig example.com @8.8.8.8
nslookup example.com 8.8.8.8
4. 如果您要為以 IP 為基礎的資源記錄設定運作狀態檢查記錄,請使用這些記錄驗證運作狀態。如果記錄具有預設 (*) 位置,但運作狀態檢查執行失敗,Route 53 會在 DNS 查詢回應中傳回預設位置。
相關資訊
以 IP 為基礎的路由