
NXDOMAIN 是 DNS 名称错误响应
NXDOMAIN 表示 DNS 应答报告被查询的名称不存在。涉及别名时,缺失的名称可能是链路中到达的目标名称。应从准确的主机名和响应开始判断,不要假设整个注册域名都已消失。
浏览器错误消息只是起始症状,并非完整诊断。保留 URL,然后只提取其中的主机名进行 DNS 查询。拼写错误的子域名、仅限内部使用的名称或已停用的别名,可能对应完全不同的修复任务。
区分四种结果
| 观察 | 需要调查的含义 | 首要操作 |
|---|---|---|
| NXDOMAIN | 被查询的名称或别名目标被报告为不存在 | 检查准确拼写和权威数据 |
| NOERROR,但没有请求的类型 | 名称可能存在,但该类型缺失 | 检查所需的记录类型 |
| SERVFAIL | 解析器无法完成处理 | 检查委派、可用性和验证 |
| Timeout | 在限制时间内没有收到可用回复 | 测试解析器可达性和允许的网络路径 |
不要把每个空回答都归类为 NXDOMAIN。状态以及周围的记录很重要。否定回答可能包含用于缓存的 SOA 信息;看起来已建立的传输连接不会改变 DNS 响应代码。

检查拼写和预期使用对象
将失败的主机名与实际发布的链接进行比较。移除空格和意外标点,并检查是否需要 www 或其他子域名。测试 DNS 名称问题时不要修改页面路径;DNS 不会接收 URL 的那一部分。
如果该名称属于工作场所或私有开发环境,请使用获准的网络和解析器。公共 DNS 工具正确报告内部服务没有公共记录是可能的。不要为了获得第二个意见,就把敏感的内部主机名提交给外部查询服务。
比较递归和权威证据
nslookup -type=A example.com
对于公共主机名,记录受影响设备通过正常解析器得到的结果。然后使用获准的独立查询,并在可用时进行权威追踪。比较完全相同的名称和类型;否则两个测试回答的是不同问题。
Arcvenza NSLookup 可以从其测试服务器追踪公共委派。如果权威端有预期记录,但某个递归解析器返回 NXDOMAIN,请记录解析器和时间。如果权威端也报告不存在,请先调查区域和准确的所有者名称,再清理本地缓存。
跟进别名和近期变更
当名称是别名时,使用 CNAME 查询。即使第一条记录仍在控制面板中,目标缺失的有效别名也可能失败。与获得授权的所有者一起检查最近删除的服务、重命名的子域名以及服务商的验证要求CNAME lookupCNAME 查询。即使第一条记录仍在控制面板中,目标缺失的有效别名也可能失败。与获得授权的所有者一起检查最近删除的服务、重命名的子域名以及服务商的验证要求。
负缓存意味着,之前的名称错误响应可能在缓存中保留有限时间。RFC 2308 使用 SOA 信息定义否定回答 TTL。现在创建记录,并不会立即使每个解析器之前的否定回答失效。
选择最小但有效的修复
在一个示例事件中,拼写错误修正后为 notes.example.com 添加了权威记录,但一台工作站仍然失败。检查它实际使用的解析器和缓存行为。只有在本地旧结果可能是原因时,才刷新本地解析器缓存,然后重复相同请求Flush the local resolver cachele.com 添加了权威记录,但一台工作站仍然失败。检查它实际使用的解析器和缓存行为。只有在本地旧结果可能是原因时,才刷新本地解析器缓存,然后重复相同请求。
如果权威数据仍然错误,请通过 DNS 所有者修复该记录。如果只有内部服务在网络外失败,请恢复获准的访问路径。如果许多无关名称都超时,请改用解析器无响应指南。避免同时更改注册商、防火墙、DNS 服务商和浏览器设置resolver-not-responding guide如果只有内部服务在网络外失败,请恢复获准的访问路径。如果许多无关名称都超时,请改用解析器无响应指南。避免同时更改注册商、防火墙、DNS 服务商和浏览器设置。
验证并保留事件记录
完成验证需要:准确主机名对应的预期记录,以及来自最初受影响环境的可用应用请求。保存前后状态、解析器、时间戳和获准的变更。仅凭成功的公共查询,不足以算作本地恢复。
我应该持续重试吗?不应。遵守缓存机制,并在相关变更后进行有边界的复查。如果问题仍然存在,请向 DNS 或网络负责人提供准确证据,不要用无关的主页替代原请求。
技术参考
RFC 2308: Negative caching · Microsoft: nslookup
RFC 2308:负缓存 · Microsoft:nslookup

