我在 Internet 上阅读了有关该主题的一些解释,以及 BIND 和 DNS 第 4 版第 4.2 章(设置区域数据)和 8.4(更改 TTL)。我还是有些疑惑。首先是一个简短的刷新。;-)
刷新时间是从服务器执行的两次查询之间的间隔时间,以检查主 DNS(或上游服务器,如果我错了,请纠正我)上的区域的序列号是否已更改。
TTL是从属 DNS 服务器在刷新从主服务器检索到的值之前缓存条目(通常为 A 或 AAAA)的时间。
让我们使用一个实际示例:辅助节点上的刷新值为 7200(3 小时),TTL 为 86400(1 天),无论它们在现实世界中是否正在使用。假设 pippo.example.com 解析为 192.0.2.98。想象一下奴隶刚刚检索到这个条目,因此条目的生命周期只有几秒钟。
现在 pippo.example.com 在主服务器上从 192.0.2.98 更改为 192.0.2.78。在主服务器上,我们也将更改序列号,当三个小时后从服务器查询主服务器时,它将看到更高的序列号,它将检索整个区域,因此也会检索 pippo.example.com 的新 IP 地址.
问题 1:据我了解,不尊重 TTL。我对吗?我的意思是,如果该条目在主条目上有新值,为什么从节点会保留旧的缓存条目?
问题2:如果我上面写的是真的,为什么每个人都在替换FQDN的IP地址之前使用降低TTL的技术?
我想我的第一个推理是不正确的,可能是我遗漏了一些明显的东西,但目前我无法自己回答。提前感谢任何澄清和/或指出我解释这一点的文档的人。