首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BIND (forwarder+cached) -如果转发器失败,服务器缓存

问BIND (forwarder+cached) -如果转发器失败,服务器缓存
EN

Server Fault用户
提问于 2015-12-24 06:39:38
回答 3查看 1.9K关注 0票数 2

我希望将BIND配置为DNS转发器,并利用缓存。

如果转发器失败,我如何配置它以服务缓存的结果(即使超出TTL)?

这个问题已经在这里被问到了,但是并没有发布任何答案- 如果所有转发器都失败,如何使绑定返回旧的缓存项?

我需要这样做的原因是,我有非常糟糕的ISP (在我的地区没有更好的替代方案)。通常,所有DNS查找请求都失败,我尝试了许多免费的dns提供程序,它们都在此期间失败。Internet连接没有中断,只有DNS查询失败。

这就是我的需求背后的原因,所以当发生这种情况时,我仍然可以继续工作,使用缓存的DNS结果(显然缓存中已经存在)。

EN

回答 3

Server Fault用户

发布于 2015-12-24 12:06:28

在标准中,使用过期的数据是一个非常强大的“禁止”,因此,如果有可能绑定来实现这一点,我会非常惊讶。您可能希望更密切地查看针对个人使用的替代解析器,或者(因为听起来您的ISP间歇性地阻塞到端口53的通信)尝试获取VPN隧道并让您的绑定使用该通道。

票数 3
EN

Server Fault用户

发布于 2015-12-24 20:11:25

Calle是正确的,您不会被绑定到违反TTL (除了降低最大值,这在这里没有帮助)。尽管如此,如果你的ISP是如此糟糕,你不能可靠地击中转发器,我真的不确定在使用转发器的价值是什么。

许多域提供了比通常被配置的转发器数量更权威的名称服务器(2)。这反过来意味着,在您看到数据包丢失的情况下,查询有更多的机会获得响应。在我看来,与使用转发器配置相比,您通过自己执行递归获得了更多的里程。

您还可能希望尝试一个支持预取功能的较新版本的BIND。结合执行您自己的递归,服务器将自动尝试在记录从缓存过期之前对记录的所有名称服务器执行刷新。只有当查询在记录到期前不久到达时才会发生这种情况,但在这里可能仍然有帮助。

当接收到对即将过期的缓存数据的查询时,“命名”可以立即从权威服务器刷新数据,确保缓存始终有可用的答案。预取指定进行当前查询预取的“触发器”TTL值:当查询处理过程中遇到具有较低TTL值的缓存记录时,将刷新该记录。有效的触发TTL值为1到10秒。大于10秒的值将被静默地减少到10秒。将触发器TTL设置为零(0)将导致预取被禁用。默认触发器TTL为2,可选的第二个参数指定“合格”TTL:将被接受的最小原始TTL值,以便记录有资格预取。合格的TTL必须比触发器TTL至少长6秒;如果不是,则命名将静默地向上调整。默认的合格TTL为9. ftp://ftp.isc.org/isc/bind9/cur/9.10/doc/arm/Bv9ARM.ch06.html。

票数 0
EN

Server Fault用户

发布于 2015-12-24 22:19:51

BIND是DNS服务器,它遵循标准并遵守TTL规则。您需要的是缓存代理和DNS缓存支持。例如,将positive_dns_ttl设置为某个大值的Squid可以计算出来,或者您喜欢的任何其他代理。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/745093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档