DNS 缓存被清除之前是否有一个标准的时间长度,以便如果分心的操作员或卡住的键将 TTL 从 86400 变成 864000000,您不会得到权威资源记录,甚至整个 DNS 区域,其更改在 27.397 年内都不会被识别?
而且,如果没有针对此类错误的保护措施,那么允许 TTL 持续时间长达 68 年而不是最大值大概一个月的理由是什么?
答案1
您会很高兴地知道,大多数(如果不是全部)DNS服务器软件都具有针对这种情况的保护措施。
例如:
Microsoft DNS 服务器有一个最大缓存时间设置,默认为 86400。因此,无论 DNS RR 中的 TTL 设置如何,如果不进行调整,DNS 服务器将不会缓存超过一天的任何内容。
BIND 也有类似的设置最大缓存生存时间,默认为 604800(7 天)。
PowerDNS alao 有设置最大缓存生存时间默认为 86400。
未绑定名称设置缓存最大生存时间默认为 86400。
由于 BIND 仍然是目前最流行的 DNS 服务器,其 7 天默认设置将会影响到您。如果您发现这种情况已经发生,您可能需要等待一周,直到大多数人都刷新了缓存。