网络管理员 · 高频练习

DNS记录已经补上,为什么用户仍收到NXDOMAIN?

初级 单选题 第 1142 题 较难 网络管理员DNS否定缓存NXDOMAINSOATTL
题目

管理员曾误删 api.example.com 的A记录,递归解析器收到权威服务器返回的NXDOMAIN。几分钟后管理员补回记录,但部分用户仍查询失败。最合理的解释是()。

A NXDOMAIN永远不能缓存,故障一定与DNS无关
B 浏览器只能缓存成功答案,不会缓存失败答案
C 只要权威服务器记录恢复,所有递归解析器必须立即丢弃旧结果
D 递归解析器可能仍在否定缓存TTL内复用NXDOMAIN,需要等待到期或按权限清理缓存
题目类型:原创高频练习题 用途:用于帮助理解网络管理员相关考点和答案解析,不等同于官方真题。
正确答案
D
答案解析

DNS不只缓存“有记录”的答案,也可以缓存NXDOMAIN和NODATA这类否定答案。权威响应通常在Authority区携带SOA,否定缓存TTL取SOA.MINIMUM与SOA记录自身TTL中的较小值。记录补回后,已经缓存否定结果的递归解析器并不知道权威区刚发生变化,会在TTL有效期内继续复用旧的NXDOMAIN。

选项分析

A

错误。RFC 2308明确规范了DNS否定缓存。

B

错误。缓存可能发生在本机、递归解析器等多个层次,失败答案也可能被缓存。

C

错误。权威服务器通常无法主动让所有外部递归解析器立即清除既有缓存。

D

正确。否定缓存未过期时,解析器可继续返回旧的NXDOMAIN。

本题为什么容易错

很多人只在改DNS前考虑降低A记录TTL,却忘了“记录不存在”也有缓存生命周期。新建一个此前被查询过的名字时,这个细节尤其容易让发布看起来时好时坏。

先看结论

简短答案

DNS记录已经补上,为什么用户仍收到NXDOMAIN,正确答案是 D(递归解析器可能仍在否定缓存TTL内复用NXDOMAIN,需要等待到期或按权限清理缓存)。DNS不只缓存“有记录”的答案,也可以缓存NXDOMAIN和NODATA这类否定答案。权威响应通常在Authority区携带SOA,否定缓存TTL取SOA.MINIMUM与SOA记录自身TTL中的较小值。记录补回后,已经缓存否定结果的递归解析器并不知道权威区刚发生变化,会在TTL有效期内继续复用旧的NXDOMAIN。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
NXDOMAIN永远不能缓存,故障一定与DNS无关 本题干扰项 错误。RFC 2308明确规范了DNS否定缓存。 看到该词不要急着选,先判断是否真正解决题干问题
浏览器只能缓存成功答案,不会缓存失败答案 本题干扰项 错误。缓存可能发生在本机、递归解析器等多个层次,失败答案也可能被缓存。 看到该词不要急着选,先判断是否真正解决题干问题
只要权威服务器记录恢复,所有递归解析器必须立即丢弃旧结果 本题干扰项 错误。权威服务器通常无法主动让所有外部递归解析器立即清除既有缓存。 看到该词不要急着选,先判断是否真正解决题干问题
递归解析器可能仍在否定缓存TTL内复用NXDOMAIN,需要等待到期或按权限清理缓存 本题正确答案 正确。否定缓存未过期时,解析器可继续返回旧的NXDOMAIN。 看到题干核心场景时优先联想到它
本题易混淆选项怎么区分
  • NXDOMAIN永远不能缓存,故障一定与DNS无关:错误。RFC 2308明确规范了DNS否定缓存。
  • 浏览器只能缓存成功答案,不会缓存失败答案:错误。缓存可能发生在本机、递归解析器等多个层次,失败答案也可能被缓存。
  • 只要权威服务器记录恢复,所有递归解析器必须立即丢弃旧结果:错误。权威服务器通常无法主动让所有外部递归解析器立即清除既有缓存。
复习

知识点详解

RFC 2308规定,权威服务器构造否定答案时,其TTL取SOA.MINIMUM和SOA自身TTL的较小值。TTL降到0后,缓存的否定答案不得继续使用。NXDOMAIN通常按QNAME与QCLASS缓存,NODATA还与查询类型有关。

备考速记

查不到也会被记住,DNS的失败答案同样有保质期。

DNS 在TTL场景中的作用

上线新域名前若该名字曾被外部查询并返回NXDOMAIN,发布后可能受否定缓存影响。运维人员应提前检查SOA配置,并用多个递归解析器观察,而不是只在本机刷新缓存。

拓展

同类题怎么考

  • 解释记录恢复后仍有用户解析失败。
  • 根据SOA字段判断否定答案可缓存多长时间。
DNS 在网络管理员软考中的考法

出现“权威已恢复、部分用户仍失败”,优先想到分层缓存;再根据响应码判断是NXDOMAIN、NODATA还是临时SERVFAIL。

解题思路

题干强调了“先删、后补、仍有部分用户失败”,这是典型缓存时间差。成功记录可以缓存,否定答案也可以缓存,因此选D。

考点定位

NXDOMAIN表示名字不存在;NODATA表示名字存在但没有所问类型。两者的缓存键和含义不同,排障时不能只说“DNS失败”。

易错提醒

  • 把NXDOMAIN和SERVFAIL当成同一种错误。
  • 只查权威服务器,不查用户实际使用的递归解析器。
  • 看到一地恢复就宣布全球缓存已经全部刷新。

备考提示

  • 用dig分别向权威服务器和用户递归解析器查询,比较状态码、Authority区SOA与剩余TTL。
  • 画出权威区、递归缓存、客户端三层,故障传播路径会清楚很多。

你可能还想了解

  • DNS记录添加后为什么还是NXDOMAIN?
  • 否定缓存TTL怎么算?
  • NXDOMAIN和NODATA有什么区别?

本文小结

递归解析器可在否定缓存TTL内复用NXDOMAIN;即使权威记录已补回,部分用户仍需等待缓存到期或由管理员清理。