管理员曾误删 api.example.com 的A记录,递归解析器收到权威服务器返回的NXDOMAIN。几分钟后管理员补回记录,但部分用户仍查询失败。最合理的解释是()。
DNS不只缓存“有记录”的答案,也可以缓存NXDOMAIN和NODATA这类否定答案。权威响应通常在Authority区携带SOA,否定缓存TTL取SOA.MINIMUM与SOA记录自身TTL中的较小值。记录补回后,已经缓存否定结果的递归解析器并不知道权威区刚发生变化,会在TTL有效期内继续复用旧的NXDOMAIN。
选项分析
错误。RFC 2308明确规范了DNS否定缓存。
错误。缓存可能发生在本机、递归解析器等多个层次,失败答案也可能被缓存。
错误。权威服务器通常无法主动让所有外部递归解析器立即清除既有缓存。
正确。否定缓存未过期时,解析器可继续返回旧的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;即使权威记录已补回,部分用户仍需等待缓存到期或由管理员清理。