我在 OPNsense 上运行 BIND 作为内部 DNS 区域的从属服务器。
我注意到,如果该区域的主服务器出现故障,从服务器将在第一次失败的更新尝试后停止响应该区域的请求(以 SRVFAIL 响应)。
其背后的设计原因可能是为了避免在无法到达主服务器时从从服务器发出陈旧的数据。(毕竟主服务器可能还好,只是从服务器的网络连接失败了。)但是,如果主服务器宕机并且无法及时恢复,这对于弹性来说是个坏消息。
是否有设置告诉 BIND 始终为从属区域提供最后已知的信息,无论主服务器无法访问多长时间,即使有返回陈旧数据的风险?
如果是这样,是否可以从 OPNsense Web GUI 以某种方式访问(即在引擎盖下没有不受支持的戳)?
这个1没有全局 BIND 选项。相反,您的 SOA 记录的第 6 个字段告诉辅助服务器在更新失败后允许它们服务过时的区域副本多长时间。
听起来您的区域的到期时间设置为与刷新间隔相同的值 - 您需要将其增加到大约
1w
(例如SOA ns1 hostmaster 1897 4h 1h 1w 30m
)。1您可能会在较新的 BIND 版本中找到全局选项,用于从缓存中提供数据的递归解析器,而不是权威服务器。