高可用性DNS托管策略?


11

我正在尝试找到一些方法来为一些现有网站进行高可用性DNS托管。今天早上,我所在的公司屈服了,因为通过注册商(bulkregister.com)为我们的域名提供的DNS托管发生了故障。我现在正面临寻找替代方案的任务,而该替代方案不会让我们受制于单个DNS提供商。

我们正在寻找什么:

  • 没有单点故障。
  • 时间有效。
    • 建议的一种解决方案是做多个DNS主机。这似乎是一个不错的选择,但是我们有20多个域,并且禁止在两个提供商之间更新所有这些域上的IP地址。
  • 具有成本效益。
    • 我必须把它卖给高层管理人员。欢乐是我。

那么有哪些方法可以支持这一点呢?我本人更像是一个程序员,但是他们为此承担了任务,所以我想征询比我更有经验的人们的意见。

Answers:


9

您可以使用在地理上分散的名称服务器的任何数量的DNS主机。

http://www.dyndns.com/services/dns/custom/

http://www.easydns.com/dnsmanage.php3

您也可以将名称服务器和DNS区域移至具有更健壮和灵活的基础架构的注册商,例如Network Solutions。


这是我的一个朋友建议的选项之一,但是将20多个域移至新IP地址或更改其MX记录似乎需要大量工作。
杰克M.10年

好吧,这将需要一些工作,但是总比发生另一次中断或担心另一次中断要好。如果是我,我会将我的名称服务器移至Network Solutions(这是我公司现在正在考虑的内容),甚至建议您将域转移到Network Solutions。它们是世界上最大的DNS托管商\注册商之一。我比其他人更信任我。
joeqwerty,2010年

+1 EasyDNS,迁移到他们的理由相同OP
HTTP500

DynDNS +1和OP的Dynect手臂可能就是他们想要的
Cry Havok 2010年

如果可以让现有提供商启用XFER传输,则新主机可以在单个命令中复制整个DNS区域。然后,这只是交换名称服务器的一种情况。
Ryaner

2

如果操作正确,则您需要做的就是更新主DNS服务器,其余的作为从服务器,这将轮询主服务器或由主服务器通知挂起的更新。设置好自动更新后,您可以拥有尽可能多的从属服务器,以满足您的可用性需求,如果主服务器本身可以访问,它们将保持最新状态。


1

您可以在多个服务器上运行自己的DNS服务器和多个colos,并设置故障转移和群集。无论使用Windows还是Linux,您都可以设置服务器之间共享的单个共享资源,最好是通过点对点或VPN共享,并且当一个服务器/位置在几秒钟内发生故障时,下一个可用服务器将获取共享资源,例如ip地址。 。我有一个在我的组织运行的类似解决方案,我们有多个建筑物,每个建筑物都作为DNS服务器以及其他一些Windows和Linux服务器(无)。大多数服务器都安装在故障转移群集中,因此,如果一栋建筑物爆炸,则网络仍会正常运行。例如,我们的dhcp服务器中有和ip地址,它是3个dns服务器之间的共享IP,我可以拔出3台dns服务器中的2台,单个IP地址将仅指向剩余的活动服务器。使用Windows 2008群集确实很容易做到这一点,您可以使用linux和drbd(http://www.drbd.org/)。

如果所有工作或硬件成本都不可行,则可以考虑保证4或5 9正常运行时间并在美国各地有多个服务器的DNS供应商。我不知道这些DNS提供商中的任何一家,但是我敢肯定有提供的服务,但是有很多注册服务商,例如godaddy.com之类的地方。


1

将DNS托管在您的一台服务器上,并从中拉出任意数量的其他服务器。BIND的创建者ISC甚至提供商业托管。我不确定这些术语,但是您可以在其网站上找到更多信息。

在本地托管DNS的好处是,您绝不会被任何提供商所困-如果他们伤害了您,您可以迁移到另一个提供商。这将需要工作才能移动,但这仅是几个小时的面向Web的工作,并且根本不会影响您的客户。有时很难从某个注册表上的精美编辑工具中获取区域数据。

但是,除非您是DNS专家,否则我建议您不要使用自己的DNS。它并不像某些人认为的那样简单。在尝试之前,需要学习各种有趣的东西,这与HTTP托管不同。

您想要的是地域多元化,稳定且能够部分运行的提供商。也就是说,加利福尼亚的地震不应该全力以赴。它们应具有多个“时区”存在,并且如果可能的话,应具有多个大陆存在。


1

我们正在寻找什么:

  • 没有单点故障
  • 时间有效。
  • 建议的一种解决方案是做多个DNS主机。这似乎是一个不错的选择,但是我们有20多个域,并且禁止在两个提供商之间更新所有这些域上的IP地址。
  • 具有成本效益。
  • 我必须把它卖给高层管理人员。欢乐是我。

那么有哪些方法可以支持这一点呢?我本人更像是一个程序员,但是他们为此承担了任务,所以我想征询比我更有经验的人们的意见。

中学教育可以大大减轻这种情况。 您的ISP应该在您的上游提供免费的DNS服务器,这时您可以将它们命名为次要服务器,并让它们获取您的区域。这应该在降低成本的同时还可以确保您拥有适当的东西

  • 您可以保持主人的状态,而无需联系注册服务商
  • 要求对设置进行少量更改,您可以在其中将服务器指定为主服务器,并让其他服务器作为从服务器
  • DNS响应部分成为其他人的问题
  • 负载分配(不平衡)有助于减少每台服务器上的负载
  • 您的DNS注册商可能会崩溃几个小时,然后您可以继续进行(直到TTL条目过期)

如果您的ISP没有,“真正的” DNS托管服务可以为您提供此服务。我推荐DynDNS,因为它们可以提供您所需要的大量信息(多个位置,最少的停机时间,体面的Web界面)。


1

这是一个旧线程,但仍然,您仅在查看dns服务。错误。如果您的服务器出现故障,那么无论外部dns提供程序的可靠性如何,您都将处于故障状态。您需要考虑一下。便宜又好用的方法是在两个站点上同时安装两个服务器。名称服务器1位于一个框上,名称服务器2位于另一个框上。因此,如果一台服务器发生故障,另一台服务器将接管。


1

作为此处提供的建议的一种变体,您可以继续使用现有的注册服务商,只要它们能够进行区域转移即可。寻找另一个也接受区域传输的提供程序。在您的区域文件上,为此提供者添加更多的NS记录(最好是地理分布)。完成此设置后,您应该在一个DNS查询中返回来自多个DNS提供程序的NS记录。确保已设置区域传输。更改后,您的名称服务器可能如下所示:

example.com IN  NS  ns1.provider1.net   172800s (2d)
example.com IN  NS  ns4.provider1.net   172800s (2d)
example.com IN  NS  ns1.provider2.net   172800s (2d)
example.com IN  NS  ns5.provider2.net   172800s (2d)
example.com IN  NS  ns2.provider2.net   172800s (2d)

当provider1发生故障时,递归DNS服务器将仅在前两个NS上超时,然后继续处理下一个。这样,即使地理分布可靠的DNS提供程序脱机,您仍可以通过provider2联机。

  • 优点:不依赖单个提供者;高可用性
  • 缺点:费用为二;XFER设置的复杂性

0

为了在此处扩展答案,您需要具有自动故障转移功能的基于地理的DNS服务。如果最重要的是自我托管,那么我公司已经使用dnsmadeeasy.com已有数年了,并取得了巨大的成功。

希望能有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.