如何解决使用 Route 53 作为 DNS 服务时的 NXDOMAIN 响应问题?
当我尝试解析 Amazon Route 53 中的记录时,我收到了来自 DNS 解析器的 NXDOMAIN(不存在的域)响应或 DNS_PROBE_FINISHED_NXDOMAIN 错误。
简短描述
当 DNS 解析器找不到请求的域名时,您可能会收到 NXDOMAIN 响应或 DNS_PROBE_FINISHED_NXDOMAIN 错误。这可能是由于域暂停、名称服务器配置错误或 DNS 记录缺失导致的。
解决方法
检查域是处于活动状态还是暂停状态
要检查域是处于活动状态还是暂停状态,请完成以下步骤。
- 对域运行 WHOIS 查询。
在运行以下命令之前,请确保已安装 WHOIS。
**对于 Windows:**打开 Windows 命令提示符,然后输入 whois-v example.com。
对于 Linux:打开 SSH 客户端。在命令提示符中,输入 whois example.com。
如果域是通过 Amazon Registrar 注册的,则您可以使用 Amazon Registrar WHOIS 查找工具。 - 查看域的状态。如果“域状态”的值为 clientHold,则表示该域已被暂停。
域暂停的常见原因:
- 域注册后未验证确认电子邮件。
- 自动续费已关闭,域已过期。
- 注册人的电子邮件地址已更改,但从未验证。
有关详细信息,请参阅我的域已暂停(状态为 ClientHold)。
WHOIS 输出结果示例:
whois example.com Domain Name: EXAMPLE.COM Registry Domain ID: 87023946_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.godaddy.com Registrar URL: http://www.godaddy.com Updated Date: 2020-05-08T10:05:49Z Creation Date: 2002-05-28T18:22:16Z Registry Expiry Date: 2021-05-28T18:22:16Z Registrar: GoDaddy.com, LLC Registrar IANA ID: 146 Registrar Abuse Contact Email: abuse@godaddy.com Registrar Abuse Contact Phone: 480-624-2505 Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited Domain Status: clientHold https://icann.org/epp#clientHold Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited Name Server: ns-1470.awsdns-55.org. Name Server: ns-1969.awsdns-54.co.uk. Name Server: ns-736.awsdns-28.net. Name Server: ns-316.awsdns-39.com.
确认配置了正确的名称服务器
您可以使用 WHOIS 输出或 dig +trace 命令来查看权威名称服务器。
要验证 Route 53 中的托管区设置,请完成以下步骤:
- 打开 Amazon Route 53 控制台。
- 在导航窗格中,选择 Hosted zones(托管区)。
- 选择所需的托管区,然后选择 View details(查看详细信息)。
- 选择 Hosted zone details(托管区详细信息)。
- 将列出的名称服务器与 WHOIS 或
dig +trace输出中的名称服务器进行比较。
**重要事项:**如果名称服务器不同,请在您的域注册商处进行更新。
- 对于在 Route 53 中注册的域,请参阅添加或更改域的名称服务器和粘附记录。
- 对于在其他平台注册的域,请参阅提供商的文档。
dig +trace 输出结果示例:
dig +trace example.com ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.2 <<>> +trace example.com ;; global options: +cmd . 518400 IN NS H.ROOT-SERVERS.NET. . 518400 IN NS I.ROOT-SERVERS.NET. . 518400 IN NS J.ROOT-SERVERS.NET. . 518400 IN NS K.ROOT-SERVERS.NET. ;; Received 239 bytes from 10.0.0.2#53(10.0.0.2) in 0 ms com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. C41A5766 com. 86400 IN RRSIG DS 8 1 86400 20210329220000 20210316210000 42351 . ;; Received 1174 bytes from 192.112.36.4#53(G.ROOT-SERVERS.NET) in 104 ms example.com. 172800 IN NS ns-1470.awsdns-55.org. ------>Name servers of interest. example.com. 172800 IN NS ns-1969.awsdns-54.co.uk. example.com. 172800 IN NS ns-736.awsdns-28.net. example.com. 172800 IN NS ns-316.awsdns-39.com. ;; Received 732 bytes from 192.33.14.30#53(b.gtld-servers.net) in 91 ms example.com. 3600 IN A 104.200.22.130 example.com. 3600 IN A 104.200.23.95 example.com. 3600 IN NS ns-1470.awsdns-55.org. example.com. 3600 IN NS ns-1969.awsdns-54.co.uk. example.com. 3600 IN NS ns-736.awsdns-28.net. example.com. 3600 IN NS ns-316.awsdns-39.com. ;; Received 127 bytes from 173.201.72.25#53(ns-1470.awsdns-55.org) in 90 ms
确认请求的记录存在
在托管区中,检查请求的记录是否存在。
如果您使用 CNAME,请确认目标域(规范名称)也存在且可解析。
例如,如果将 example.com CNAME 记录的值配置为 blog.example.com,请验证记录 blog.example.com 是否存在且可解析。
检查子域委派问题
要检查子域委派问题,请考虑执行以下操作:
- 在父托管区中查找该域的 NS 记录。例如,如果 www.example.com 存在 NS 记录,则表明该域已委派。
- 如果委派有效,请将记录添加到委派的区域中。
- 如果委派无效,请删除 NS 记录并将该记录添加到父区域。
注意: DNS 解析器中的 QNAME 最小化可能会导致深度子域委派时出现 NXDOMAIN 错误。有关详细信息,请参阅防止 Route 53 中悬空委派记录。
确定 DNS 解析问题是否仅存在于 VPC 中
检查您的操作系统上是否配置了 DNS 解析器。
- 对于 Linux: 打开 /etc/resolv.conf 文件。
- 对于 Windows: 在命令提示符中运行以下命令:ipconfig /all
查找 DNS 解析器地址。如果虚拟私有云 (VPC) CIDR 为 10.0.0.0/8,则解析器应为 10.0.0.2。
如果您使用的是 Amazon Virtual Private Cloud (Amazon VPC) 解析器,请查看以下场景:
场景 A: 您同时拥有解析器规则和私有托管区
- 解析器规则优先。
- DNS 查询将转发到解析器规则中的 IP 地址。
有关详细信息,请参阅使用私有托管区。
场景 B: 您只有私有托管区
- VPC 内的客户端将无法解析公共区域中的记录。
- 此配置称为水平分割 DNS。
场景 C: 您只有解析器规则
- DNS 查询将转发到配置的 IP 地址。
- 在这种情况下,不会使用默认的公共解析器。
检查问题是否由负面缓存导致
如果负面缓存处于活动状态,则解析器可能会缓存 NXDOMAIN 响应。
示例场景:
- 您查询了 neg.example.com,但它不存在。
- 解析器缓存了 NXDOMAIN 结果。
- 然后,您创建了记录,但解析器仍返回 NXDOMAIN。
解析器使用以下内容来确定负面响应的缓存时间:
- SOA 记录中的最小 TTL
- SOA 记录的 TTL(以较低者为准)
要确认负面缓存是否处于活动状态,请直接向名称服务器发送查询以获取响应,如以下示例所示:
dig www.example.com @ns-1470.awsdns-55.org
- 语言
- 中文 (简体)

相关内容
AWS 官方已更新 3 年前