是否可以将 Unbound(或者可能是 BIND)设置为解析器,以增加其解析的记录的 TTL?
基本上,我遇到了 DNS 服务器的问题,它的记录中的 TTL 非常低(60 分钟),而且显然正在重新启动。当它显然正在重新启动时,我收到一些随机的“未知主机名”。如果我可以设置一个解析器来缓存所有内容,并可能在本地增加 TTL 或故障转移到最后一个条目。这可能吗?
答案1
我认为服务器的不可靠性不是客户端需要解决的问题!DNS 具有足够的内置冗余、备份名称服务器等配置。
主机管理员设置 TTL,这是一条指令,表示你可以缓存此记录最多TTL 秒。
如果您被允许进行区域传输,您可以作为该故障区域的从属运行,该区域的记录的有效期可能比该区域中的记录的 TTL 更长。
缓存比其 TTL 更长的记录通常被认为是一个坏主意。缓存比其 TTL 允许的更短的记录符合标准,因此 bind 有一个 max-cache-ttl 选项,而不是相反。
但是 Unbound 确实如此:
缓存最小生存时间(TTL):
Time to live minimum for RRsets and messages in the cache.
Default is 0. If the the minimum kicks in, the data is cached
for longer than the domain owner intended, and thus less queries
are made to look up the data. Zero makes sure the data in the
cache is as the domain owner intended, higher values, especially
more than an hour or so, can lead to trouble as the data in the
cache does not match up with the actual data any more.
答案2
我提出问题后就立即发现了这一点。
我可以改变cache-min-ttl
在 Unbound 中设置就可以实现我想要的功能了。
答案3
这通常不是一个好主意,仍然有太多的网站使用 DNS 进行 MX 负载平衡。
作为参考,在 Bind 中它是min-cache-ttl = seconds
。