DNS · 排查路径

DNS TTL 应该如何设置

TTL 的取值取决于变更窗口、故障恢复需求和 DNS 服务商的行为。变更前后都应记录实际观察到的剩余 TTL。

排查步骤

查看、判断、复查

  1. 01

    评估当前记录的变更频率和紧急恢复需求(静态资源 vs 动态流量入口)。

  2. 02

    根据记录类型、服务商限制和变更窗口确定 TTL;不要把某个固定秒数当作所有域名的默认值。

  3. 03

    若要降低 TTL,先等待旧 TTL 的缓存周期结束,再修改记录;变更稳定后按需要恢复 TTL。

  4. 04

    用 dig/nslookup 从多个 resolver 验证 TTL 实际生效情况和传播一致性。

跟着示例核对

示例内容用于说明方法,非本站探测记录。复核于 2026-09-06。

模拟时间线,地址仅为文档示例:
09:00  递归缓存 A 取得 www.example.com A 192.0.2.10,TTL 3600
09:10  权威记录 TTL 改为 300,地址仍为 192.0.2.10
09:20  权威地址切换为 192.0.2.20,TTL 300
09:20  缓存 A 返回旧地址,剩余 TTL 2400
09:20  此时新查询的缓存 B 返回新地址,TTL 300

怎样解释结果

降低权威 TTL 不会主动改写已经缓存的旧回答。样例中缓存 A 在 09:00 收到的一小时 TTL 尚未到期,因此与新查询的缓存 B 结果不同。TTL 的单位是秒;这里没有实际测量,也不代表固定的全球生效时间。

不符合预期时

若结果超过预期仍不一致,记录查询的 resolver、主机名、类型、权威返回与剩余 TTL,再检查缓存策略和是否改错记录。A、AAAA 与 CNAME 链应分别核对,不把一个 A 记录查询当成整个域名已切换。

修改后复查

变更前预留旧 TTL 的观察窗口;切换后从同一组明确记录的 resolver 复查地址及剩余 TTL,再验证应用访问。不要在缓存尚未收敛时直接撤销仍可能接收流量的旧服务。