您的 IPv4 地址:
操作系统:
运营商:

DNS 缓存是如何工作的?

DNS 缓存会保存最近的应答,这样并非每个请求都需要在域名层级中完整查询一遍。缓存可能存在于应用程序、操作系统和递归解析器中。从其中一处删除应答,并不会立即替换其他位置的副本。

什么决定了有效期

DNS 记录带有 TTL:即收到的应答可以从缓存中重复使用的秒数。解析器在保存记录期间通常会对剩余有效期进行倒计时。如果域名所有者修改了地址,已缓存的应答在其旧 TTL 到期前仍可能有效。在修改地址的同时降低 TTL,无法缩短此前已获取副本的有效期。

否定应答同样会进入缓存。解析器可能在某个名称尚未创建时收到了 NXDOMAIN。添加记录后,部分用户在一段时间内仍可能看到之前的否定应答。RFC 2308 定义了相关的否定缓存行为。

找出过期的应答

依次查询域名的权威服务器、选定的公共递归解析器和您自己的设备。如果权威应答仍是旧值,就需要修正区域或其委派;清除本地缓存无济于事。如果权威应答已是新值而本地仍是旧值,请查看剩余 TTL,并在其到期后重试。用 2IP 域名配置检查可以查看域名的各项记录。

请查询您真正需要的具体类型。缓存的 A 记录无法解释错误的 MX 应答,而 AAAA 记录可能把 IPv6 流量引向与 IPv4 不同的服务器。请检查完整的主机名,包括任何子域名。浏览器可能使用自己的 DoH 解析器,因此其结果可能与系统工具不同。需要进一步核对时,可以借助 2IP DNS 响应时间检测。

何时清除本地缓存

当记录已修正、但只有您的设备仍在使用旧结果时,清除本地缓存可能会有帮助。具体命令取决于操作系统和当前使用的解析组件;请先确定是哪个组件。此操作无法清除服务商的缓存、公共解析器或他人电脑上的缓存。

不要把 DNS 缓存与浏览器页面缓存混为一谈。前者保存域名解析信息,后者保存网站内容。即使 IP 地址正确,也不能证明 HTTP、HTTPS 或邮件服务正常工作。在更改设置之前,先确定是哪一层给出了意外的应答。

具体示例

某网站从 192.0.2.10 迁移到 192.0.2.20。其权威服务器返回新地址,而家用路由器仍返回缓存的旧值。直接查询权威服务器会显示新记录;通过家庭网络查询则显示之前的记录及其剩余 TTL。到期之后,除非还存在其他配置问题,两边的应答应当一致。

上面的地址是专供文档示例使用的保留地址,并不对应真实网站。实际操作中,请记录修改时间、新旧值、TTL 以及各指定服务器的应答。与其干等一个说不清何时到来的所谓 DNS “完全传播”时刻,不如把这些证据整理好,它们要有用得多。