我正在寻找一种适用于 Ubuntu 服务器使用 DNS 缓存的解决方案。
- 如果它有记录并且没有过期(无论是在缓存中还是在本地定义中)则返回该记录
- 如果它有记录并且已过期,返回记录并且**在后台更新本地条目
- 如果未找到则查询上游
最重要的一点是即使记录可能无效也要快速返回,但不要等待 DNS 解析。
可以通过配置 bind/dnsmasq 来完成此操作吗?或者最好创建自定义解决方案。
答案1
我不知道有什么解决方案可以完全满足您的要求,但例如未绑定可以选择预取即将过期的缓存条目的数据。
prefetch: <yes or no>
If yes, message cache elements are prefetched before they expire
to keep the cache up to date. Default is no. Turning it on
gives about 10 percent more traffic and load on the machine, but
popular items do not expire from the cache.
虽然这与您在问题中描述的方法不同,但它似乎应该满足相同的总体目标。