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