首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux守护进程在DNS失败时“持久化”DNS应答

Linux守护进程在DNS失败时“持久化”DNS应答
EN

Server Fault用户
提问于 2017-10-17 12:27:41
回答 5查看 220关注 0票数 3

在DNS服务器故障期间,是否有Linux工具可以“持久化”IP地址?因此,尽管远程DNS服务器出现临时故障,该计算机上的域仍然可以解析。

情况是,我有一台机器,上面部署了我的web应用程序。应用程序必须连接到远程资源。此资源不在我的控制范围内--它是由其他公司提供的第三方Web服务,但它位于我客户的域名之下。客户端的DNS服务器不时发生故障,因此我的应用程序无法解析域名,但是这个第三方WS仍然可用(客户端的DNS失败与其无关),因此我可以通过IP访问它并完成我的工作。

所以我在寻找工具(DNS缓存?)这将通过DNS解析域名,只要DNS服务器启动,并且在DNS服务器关闭时返回最后获得的值。减少DNS请求计数不是我对这个场景感兴趣的地方,所以“经典的”DNS缓存在这里不是一个解决方案(我认为)。

编辑:

本地DNS缓存不适用于我的场景:

  1. 远程DNS运行良好

  1. 本地DNS缓存正在缓存来自远程DNS的响应。

  1. 在响应的TTL到期之前,远程DNS崩溃。

  1. 在响应的TTL到期之前,缓存提供缓存的响应;到目前为止,还不错。

  1. 响应的TTL过期,缓存刷新条目,无法获得新的响应,因为远程DNS仍然处于关闭状态,这是不好的。
EN

回答 5

Server Fault用户

回答已采纳

发布于 2017-10-17 17:13:20

正如其他人所建议的,您最接近的是服务器上的缓存,无论是nscd还是本地递归服务器。尽管如此,这种做法存在一些问题:

  • 默认情况下,这些解决方案不被配置为无限期地记住名称(正如您所要求的那样),并且将根据与单个DNS记录关联的TTL过期缓存条目。许多记录中有五分钟左右的短TTLs。
  • 该软件可能不允许您强制执行防止数据过期的“最小TTL”策略。
  • 即使该软件确实允许您强制执行最低TTL,这也会带来它自己的问题。有些记录有短TTLs是有原因的。忽略这些短TTL可能会导致意外的问题。

最终,您所要求的是让名称服务器记住最后一个已知的非错误响应,这不是当前DNS空间中存在的特性。目前正在起草一份标准草案,以解决这一问题。由于以DDoS攻击为目标的权威DNS系统越来越流行。一旦它超过草案状态,我们可能会在不久的将来看到它的实现。

票数 6
EN

Server Fault用户

发布于 2017-10-19 04:36:35

虽然我自己从未使用过它,但unbound缓存解析器有一个serve-expired设置,听起来可能符合要求:

如果启用,未绑定尝试使用响应中TTL为0的缓存中的旧响应提供服务,而无需等待实际的解析完成。实际的解析答案在稍后的缓存中结束。默认为“否”。

当“实际分辨率答案”为SERVRFAIL时,您可能会感到意外,这将使条目过期。不过,它不需要花费太多的精力来测试它。

票数 5
EN

Server Fault用户

发布于 2017-10-18 14:44:44

您可以制作一个程序,定期使用DNS查询远程主机名,然后用这些信息更新本地/etc/hosts文件。

最终的结果是/etc/hosts文件充当域名IP的本地缓存,应用程序将使用它作为IP地址的源。

我不知道有什么现成的软件能做到这一点。

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

https://serverfault.com/questions/878880

复制
相关文章

相似问题

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