Answers:
瑞安(Ryan)为您对问题的一种解释提供了很好的答案。但是,鉴于我们的目标受众以及最有可能迷惑于此问题的人们的处境,我将回答另一个问题。
您在这里有一些选择。但是,最重要的是,您需要确定问题向量并将其消除。当您无法控制重复发生的问题时,试图控制损害是没有意义的。
好吧,首先,我要查看Bind配置手册,指出TTL是一个带符号的32位整数,以秒表示,理论上最大值为2 ^ 31。它说
有效的TTL范围为0-2147483647秒。
或大约68年。因此,一开始您可能无法将其设置为100年。
因此,假设您将其设置为68年。很明显会发生什么。遵循您DNS记录上非常长的TTL的DNS解析器会尽可能长时间地对其进行缓存。一些DNS解析器根本不尊重TTL,只是按照自己的意愿实施自己的缓存策略。
之所以不能将单个硬数字设为最大,是因为许多不同的供应商创建了许多不同的DNS实现,并且它们都使用略有不同的变量。例如,在Juniper JunOS上运行的DNS服务器在TTL上最多只能运行604800秒(或7天)。
max-cache-ttl
:“设置服务器缓存普通(肯定)答案的最长时间。默认值为一星期(7天)。