具有故障转移支持的免费 DNS 软件?

具有故障转移支持的免费 DNS 软件?

我正在寻找可以完成以下操作的 DNS 软件:

  • 按设定的时间间隔检查所有 A 记录的运行状况
  • 如果服务器在多次连续检查后仍无响应,则用正常工作的服务器替换 A 记录
  • 当服务器宕机时,请定期检查。一旦服务器恢复正常,请恢复正常的 A 记录

这是我想到的一个等价的东西:

  • 运行具有极低 TTL(分钟)的 DNS 服务器
  • 使用 cron 任务定期查询所有 Web 服务器
  • 如果需要,使用 sed 替换 A 记录,然后重新启动 DNS 服务器

我很难相信还没有可以实现上述目标的东西。我不需要付费服务,而且我只能使用 VPS 的 root 权限来运行任何程序。任何建议都很好。谢谢!

答案1

另一个你可以考虑的选项是让你的辅助/备份服务器通过 cron 进行测试,如果失败,则使用dyndns 更新脚本更改 DNS 记录。修改任何脚本都很简单。此外,还有很多免费的 DNS 服务,例如一切域名编辑DNS支持 dyndns http 更新格式。

答案2

不幸的是,你遇到了一个问题。通常的做法是设置具有相当长的 TTL(生存时间)的 A 记录。A 记录会保留在查询过你的 DNS 服务器的缓存中,保留时间与 TTL 规定的时间相同。这意味着,为了交换 A 记录,你必须有非常短的 TTL(这不是一个好主意,因为它确实会增加 DNS 服务器的负载)。当然,你必须依靠每个人实际上遵守非常短的 TTL。

我认为您尝试做的是在 DNS 级别而不是 IP 级别对服务进行故障转移。而这并非 DNS 的设计目的,也不是 DNS 所擅长的。您需要一个不同的故障转移解决方案 - 您提出的解决方案将以不应有的方式对 DNS 造成压力。

答案3

请参阅我的回答相关问题

正如 Craig 在该评论中提到的那样,如果您所追求的是故障转移,那么DNS 不是答案。它根本就不是为此设计的。

DNS提供基本的负载平衡,但不适合短寿命的动态变化。

答案4

您可以探索 PowerDNS。它支持管道后端以及 DB 作为后端。这将允许您返回动态更新。

http://doc.powerdns.com/pipebackend-dynamic-resolution.html

相关内容