DNS缓存问题

DNS缓存问题

我有一个 DNS 服务器,我在其中放置了 TTL 设置为 0 的 A 记录:

example.host.com <some.ip.addr.one>

那我就做

dig example.host.com

并获取指定的ip地址。后来我改了更新记录

example.host.com <some.ip.addr.two>

dig并再次执行

但是解析的ip仍然是<some.ip.addr.one>

在参考 DNS 服务器管理 UI 时,我看到该记录已更改,但仍解析为旧记录。

什么可以缓存DNS?我有一个 dnsmasq 服务,但它的缓存大小设置为 0。

有什么方法可以检测 DNS 记录的解析方式以及导致此行为的原因吗?有任何想法吗?提前致谢。

答案1

DNS 是按设计缓存的。当你更新一条记录时,你需要设置一个新的序列号,一旦旧的 TTL 过期,旧序列号的服务器就会注意到。

您的问题表明您不熟悉这些概念,但这些概念非常基础。在深入研究之前,您可能需要进一步熟悉 DNS 世界。

dig产生相当多的输出,说明它从哪里获取结果以及它到底意味着什么,但同样,您可能需要在实践之前阅读它。

相关内容