任何缓存DNS服务器都可以异步刷新其缓存吗?

时间:2018-02-14 12:58:26

标签: caching dns low-latency dnsmasq

我们运行对延迟敏感的系统。我们发现了延迟的一个重要原因:某些进程正在阻止对远程名称服务器的DNS查找。为了缓解这个问题,我们安装了一个本地缓存DNS解析器,特别是dnsmasq

但我们仍然会看到偶然的重大暂停,对本地DNS缓存(dnsmasq)的查询可能需要很长时间。这些是由TTL到期引起的;在这些情况下,dnsmasq在响应本地进程之前查询其上游服务器。

我们也希望消除这些停顿。我希望我们的本地DNS缓存始终立即响应,即使响应是陈旧的。缓存应该异步查询其上游服务器。例如,如果缓存服务于陈旧响应,则可以异步刷新此缓存。或者更复杂的策略是在TTL到期之前不久异步刷新缓存。

但我找不到dnsmasq或我查看过的任何其他缓存DNS服务器的任何此类设置。是否有任何DNS服务器设计为在此配置中运行?

2 个答案:

答案 0 :(得分:2)

Knot resolver,配置modules = { 'predict' } will start异步刷新记录,这些记录会在其TTL即将到期时进行回答。

请注意,版本2.0.0有一个错误,无法在没有DNSSEC签名的情况下刷新此刷新(将在下一个版本中修复)。

答案 1 :(得分:0)

未绑定的DNS服务器也使用预取选项执行此操作 - 是/否。