如何測試我委派的子網域是否正確解析?

3 分的閱讀內容
0

我想測試並確認我委派的子網域是否正確解析。如果子網域並未正確解析,那麼我想對其進行疑難排解。

簡短說明

您可以使用 Amazon Route 53 或第三方 DNS 供應商為您的頂點網域 (例如** example.com**) 設定上層區域。您也可以使用 DNS 供應商為子網域 (例如** www.example.com**) 設定委派集。

如果您使用子網域的個別委派集,則可以獲得以下組態:

  • 頂點網域和子網域都使用 Route 53
  • 使用第三方 DNS 服務與使用 Route 53 之子網域的頂點網域
  • 使用 Route 53 的頂點網域,以及委派給第三方 DNS 服務的子網域

若要確認您的子網域是否正確解析以及視需要進行疑難排解,請根據您的 DNS 供應商和組態完成下列步驟。

解決方法

注意: 下列命令僅適用於 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體。如果您使用適用於 Windows 的 Amazon EC2,則可以使用第三方 Web 工具 (例如 DiG GUIDig Web 介面) 進行疑難排解。

頂點網域和子網域都使用 Route 53

1.    若要檢查子網域是否正確解析,請執行** dig** 命令:

dig RECORD_TYPE DESIRED_SUBDOMAIN_RECORD

**注意:**使用您的相關詳細資料取代 RECORD_TYPEDESIRED_SUBDOMAIN_RECORD

2.    在輸出中,確認您在子網域的託管區域下具有您選擇的記錄類型。在下列範例輸出中,子網域下有一個 www.example.com 的 A 記錄:

$ dig www.example.com
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48170
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.example.com.                IN         A
;; ANSWER SECTION:
www.example.com.     60          IN         A          127.0.0.1

3.    如果在其他 DNS 伺服器上查詢成功,則您的本機解析程式可能會出現快取問題。要略過本機解析程式,請使用其他解析程式和您的網域名稱執行 dig @ 命令。例如,以下查詢使用 Google 的公用解析程式:

dig @8.8.8.8 www.example.com

直接對頂點網域託管區域的其中一個授權 AWS 名稱伺服器執行查詢:

dig @ns-***.awsdns-**.com www.example.com

4.    如果 DNS 查詢失敗,則使用 dig +trace 命令:

dig +trace www.example.com

然後,檢閱輸出以識別 DNS 鏈結中查詢失敗的位置。有關 dig +trace 命令,請參閱以下範例輸出:

$dig +trace www.example.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.56.amzn1 <<>> +trace www.example.com
;; global options: +cmd
.                                   518400 IN         NS        G.ROOT-SERVERS.NET.
.....
.                                   518400 IN         NS        F.ROOT-SERVERS.NET.
;; Received 228 bytes from 169.xxx.xxx.xxx#53(169.xxx.xxx.xxx) in 21 ms
com.                            172800 IN         NS        c.gtld-servers.net.
.....
com.                            172800 IN         NS        i.gtld-servers.net.
;; Received 498 bytes from 199.xxx.xxx.xxx #53(199.xxx.xxx.xxx) in 198 ms
.example.com.   172800          IN         NS        ns-xxx.awsdns-xx.com.
.example.com.   172800          IN         NS        ns-xxx.awsdns-xx.net.
.example.com.   172800          IN         NS        ns-xxx.awsdns-xx.co.uk.
.example.com.   172800          IN         NS        ns-xxx.awsdns-xx.org.
;; Received 207 bytes from 192.xxx.xxx.xxx #53(192.xxx.xxx.xxx) in 498 ms
www.example.com.     172800 IN         NS        ns-xxx.awsdns-xx.com.
www.example.com.     172800 IN         NS        ns-xxx.awsdns-xx.net.
www.example.com.     172800 IN         NS        ns-xxx.awsdns-xx.co.uk.
www.example.com.     172800 IN         NS        ns-xxx.awsdns-xx.org.
;; Received 175 bytes from 205.xxx.xxx.xxx #53(205.xxx.xxx.xxx) in 345 ms
www.example.com.     900      IN         SOA      ns-xxx.awsdns-xx.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
$ dig www.example.com.com
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22072
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
www.example.com.com.          IN         A
;; AUTHORITY SECTION:
www.example.com.com. 60       IN         SOA      ns-xxx.awsdns-xx.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

5.    視輸出中的資訊而定,請依照相關的疑難排解步驟執行。

dig 傳回一個沒有 ANSWER 區段的 NOERROR 狀態,dig +trace 輸出僅包括頂點網域的名稱伺服器

您的頂點網域的託管區域中缺少委派子網域的 NS 記錄。此外,根網域下子網域的記錄類型也是錯誤的。例如,列出的是 MX 記錄而不是 A 記錄。

若要修正此問題,請使用正確的名稱伺服器,在您的頂點網域的託管區域下,為子網域建立 NS 記錄。此外,移除頂點網域託管區域下子網域的非 NS 記錄。然後,將非 NS 記錄置於子網域的託管區域下方。

dig 傳回 NXDOMAIN 狀態和 dig +trace 輸出僅包含頂點網域的名稱伺服器

您委派子網域的 NS 記錄在頂點網域的託管區域下遺失。

若要修正此問題,請使用正確的名稱伺服器,在頂點網域的託管區域下建立 NS 記錄。

dig +trace 傳回您委派子網域的名稱伺服器,但是 dig 傳回 NOERROR 狀態,不含 ANSWER 區段

託管區域包含的記錄是您委派子網域的錯誤類型。例如,TXT 記錄存在,而不是子網域託管區域下子網域的 A 記錄。

若要修正此問題,請在子網域的託管區域下為委派子網域建立新的 A 記錄。

dig +trace 傳回委派子網域的名稱伺服器,但 dig 傳回 SERVFAIL 狀態

NS 記錄中,頂點網域託管區域下的委派子網域之 Route 53 名稱伺服器不正確。使用 dig @ 命令,對其中一個委派子網域的名稱伺服器進行 DNS 查詢,以確認此問題。不正確的名稱伺服器會傳回 REFUSED 狀態。

若要修正此問題,請使用子網域託管區域的正確名稱伺服器修改 NS 記錄。

使用第三方 DNS 服務與使用 Route 53 之子網域的頂點網域

1.    檢查子網域的名稱伺服器是否在上層區域中正確設定。

2.    如果名稱伺服器設定不正確,請查詢子網域託管區域的 NS 記錄。然後,透過第三方 DNS 供應商將這些記錄新增至頂點網域的託管區域或區域檔案。

3.    若要驗證子網域是否正確解析,請使用 dig @ 命令搭配子網域的其中一個託管區域名稱伺服器:

dig @ns-***.awsdns-**.com www.example.com

注意:如果 DNS 解析失敗,請遵循頂點網域和子網域都使用 Route 53 的步驟 4 中的方法。

使用 Route 53 的頂點網域,以及委派給第三方的子網域

1.    檢查子網域的名稱伺服器是否在上層區域中正確設定。

2.    如果名稱伺服器設定不正確,請在 Route 53 中的頂點網域的託管區域下新增 NS 記錄。

3.    若要驗證子網域是否正確解析,請搭配第三方 DNS 服務的授權名稱伺服器使用** dig @** 命令:

dig @THIRD_PARTY_NAME_SERVER www.example.com

注意:如果 DNS 解析失敗,請遵循頂點網域和子網域都使用 Route 53 的步驟 4 中的方法。

相關資訊

如何為我在 Route 53 中託管的網域建立子網域?

AWS 官方
AWS 官方已更新 1 年前