如何测试我的委派子域是否正确解析?
我想要测试并确认我的委派子域是否正确解析。如果子域未正确解析,那么我想对其进行故障排除。
简短描述
您可以使用 Amazon Route 53 或第三方 DNS 提供商为顶点域(例如 example.com)配置父区域。您也可以使用您的 DNS 提供商为子域(例如 **
如果您为子域使用单独的委派集,则可以具有以下配置:
- 均使用 Route 53 的顶点域和子域
- 使用第三方 DNS 服务的顶点域和使用 Route 53 的子域
- 使用 Route 53 的顶点域和委派给第三方 DNS 服务的子域
要验证您的子域是否正确解析并根据需要进行故障排除,请根据您的 DNS 提供商和配置完成以下步骤。
解决方法
注意: 以下命令仅适用于 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例。如果您使用 Amazon EC2 for Windows,则可以使用 DiG GUI 和 Dig Web 界面等第三方 Web 工具进行故障排除。
均使用 Route 53 的顶点域和子域
1. 要检查您的子域是否正确解析,请运行 dig 命令:
dig RECORD_TYPE DESIRED_SUBDOMAIN_RECORD
**注意:**请将 RECORD_TYPE 和 DESIRED_SUBDOMAIN_RECORD 替换为您的相关详细信息。
2. 在输出中,验证您在子域的托管区下是否有您选择的记录类型。在以下示例输出中,子域下有 的 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 返回 NOERROR 状态,没有 ANSWER 部分,而 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 状态
您的顶点域的托管区下您的委派子域的 Route 53 名称服务器在 NS 记录中不正确。使用 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 中的方法进行操作。
相关信息
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前