我有一個帶有內部部署 DNS 伺服器的虛擬私有雲端 (VPC)。我設定了 Amazon Route 53 Resolver 反向規則和出埠端點解析來自此伺服器的反向 DNS 查詢。但是,它們並未按照預期運作。
解決方法
識別預期和實際的 DNS 回應
使用 dig 或 nslookup,直接查詢內部部署 DNS 伺服器的 IP 地址。這些工具會嘗試解析正確的記錄名稱。
若要使用 dig 執行反向 DNS 解析,請使用 -x 參數。使用該參數時,dig 會自動新增名稱、類別和類型引數。請參閱問題部分,檢查 dig 是否自動查詢正確的名稱、類別和記錄類型。
例如,您要使用下列值解析 IP 地址 172.31.2.23:
名稱: 23.2.31.172.in-addr.arpa。
類別: IN
記錄類型: PTR
在此範例中,命令 dig -x 172.31.2.23 回傳下列輸出:
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> -x 172.31.2.23;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58812
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;;
OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;23.2.31.172.in-addr.arpa. IN PTR
;;
ANSWER SECTION:
23.2.31.172.in-addr.arpa. 60 IN PTR example.com.
對於 nslookup,命令 nslookup 172.31.2.23 回傳下列輸出:
23.2.31.172.in-addr.arpa. name = example.com.
注意: 非預期的回應代碼可能無法指出規則或端點組態的問題:
- NXDOMAIN 可能是非預期但有效的 DNS 回應。此回應表示查詢的伺服器不包含請求的記錄。
- SERVFAIL 顯示查詢路徑上出現逾時或其他問題。此回應需要進一步調查。
- 「答案部分」的非預期答案可能代表使用不同的規則。
確定查詢是否會送達 VPC DNS 解析器
要讓查詢符合 VPC 規則,查詢必須送達 VPC DNS 解析器。檢查 VPC 設定以確認您已啟用 DNS 支援。
若要檢查解析器 IP 地址,請參閱 dig 或 nslookup 中的伺服器欄位:
dig
;; SERVER: 172.16.0.2#53(172.16.0.2)
nslookup
Server: 172.16.0.2
注意: 針對 VPC,VPC DNS 是 VPC CIDR 加二。在這些範例中,VPC 的 IP 地址為 171.16.0.2。
尋找比對的最特定規則
查詢送達 VPC DNS 解析器時,必須比對該 VPC 規則。評估規則時,比對最特定規則。若要尋找此規則,請完成下列步驟:
- 識別 VPC 和連線 VPC 的任何自動定義規則。對於透過傳輸閘道 連線 (具有 DNS 支援) 的對等 VPC 或 VPC,請注意每個連線 CIDR 反向解析的所有規則。
注意: DNS 主機名稱設定為 true 時,解析器會建立這些自動定義規則。如果您想要覆寫自動定義規則,則可為相同的網域名稱建立條件式轉送規則。您也可以停用自動定義的規則。
- 如果您開啟了 DNSSupport 和 DNSHostnames,請注意與 VPC 相關聯的任何私有託管區域。
注意: 如果解析器轉寄站規則和私有託管區域重疊,則解析器規則的優先順序更高。在這種情況下,查詢會轉寄至內部部署伺服器。
- 若要確定選取的規則及查詢位置,請將您的規則清單和關聯的私有託管區域與查詢進行比對。
對出埠端點進行疑難排解
若要對出埠端點進行疑難排解,請確認下列組態:
- 您的出埠端點必須將查詢傳送到規則指定的目標 IP 地址。確定解析器規則具有內部部署 DNS 伺服器的正確 IP。
- 傳出端點的安全群組必須允許將 TCP 和 UDP 流量傳出至內部部署 DNS 伺服器的 IP 地址和連接埠。
- 存取控制清單 (ACL) 必須允許 TCP 和 UDP 流量傳送至內部部署 DNS 伺服器的 IP 地址和連接埠。ACL 還必須允許流量傳送至臨時連接埠 (1024-65535)。
- 出埠端點的子網路路由表必須具有內部部署伺服器 IP 地址至 VPN 或 AWS Direct Connect 連線的路由。
如需詳細資訊和疑難排解步驟,請參閱如何對 Route 53 解析器端點的 DNS 解析問題進行疑難排解?
檢查出埠端點是否可透過其路由表中指定的連線傳送查詢
確認 VPN 或 Direct Connect 連線是否允許通訊。若要執行此操作,請直接對內部部署 DNS 解析器的 IP 地址執行 dig 或 nslookup 命令。若要進一步解決連線問題,請將 ping 傳送至允許網際網路控制訊息通訊協定 (ICMP) 的內部部署主機。
注意: 您必須從與出埠端點相同的子網路中的 EC2 執行個體執行此測試。