在DNS服务器故障期间,是否有Linux工具可以“持久化”IP地址?因此,尽管远程DNS服务器出现临时故障,该计算机上的域仍然可以解析。
情况是,我有一台机器,上面部署了我的web应用程序。应用程序必须连接到远程资源。此资源不在我的控制范围内--它是由其他公司提供的第三方Web服务,但它位于我客户的域名之下。客户端的DNS服务器不时发生故障,因此我的应用程序无法解析域名,但是这个第三方WS仍然可用(客户端的DNS失败与其无关),因此我可以通过IP访问它并完成我的工作。
所以我在寻找工具(DNS缓存?)这将通过DNS解析域名,只要DNS服务器启动,并且在DNS服务器关闭时返回最后获得的值。减少DNS请求计数不是我对这个场景感兴趣的地方,所以“经典的”DNS缓存在这里不是一个解决方案(我认为)。
本地DNS缓存不适用于我的场景:
发布于 2017-10-17 17:13:20
正如其他人所建议的,您最接近的是服务器上的缓存,无论是nscd还是本地递归服务器。尽管如此,这种做法存在一些问题:
最终,您所要求的是让名称服务器记住最后一个已知的非错误响应,这不是当前DNS空间中存在的特性。目前正在起草一份标准草案,以解决这一问题。由于以DDoS攻击为目标的权威DNS系统越来越流行。一旦它超过草案状态,我们可能会在不久的将来看到它的实现。
发布于 2017-10-19 04:36:35
虽然我自己从未使用过它,但unbound
缓存解析器有一个serve-expired
设置,听起来可能符合要求:
如果启用,未绑定尝试使用响应中TTL为0的缓存中的旧响应提供服务,而无需等待实际的解析完成。实际的解析答案在稍后的缓存中结束。默认为“否”。
当“实际分辨率答案”为SERVRFAIL
时,您可能会感到意外,这将使条目过期。不过,它不需要花费太多的精力来测试它。
发布于 2017-10-18 14:44:44
您可以制作一个程序,定期使用DNS查询远程主机名,然后用这些信息更新本地/etc/hosts
文件。
最终的结果是/etc/hosts
文件充当域名IP的本地缓存,应用程序将使用它作为IP地址的源。
我不知道有什么现成的软件能做到这一点。
https://serverfault.com/questions/878880
复制相似问题