为什么要有一台辅助DNS服务器?


26

我很困惑

我基本上了解DNS的工作原理。这是一个示例,可以帮助说明我在理解上遇到的困难。

现在,我运行一个小型Web服务器。我使用提供商的DNS管理器,因此我的计算机上没有托管DNS服务器。

再说一秒钟,我不使用主机的DNS,而是决定在服务器上设置DNS服务器。假设情况:我的服务器(整个)服务器出现故障-包含DNS。为什么需要备用DNS?如果服务器出现故障,谁会关心DNS服务器是否也发生故障,考虑到即使我的DNS发生故障(它不在崩溃的服务器上),服务器也将无法转发请求。下?

拥有辅助DNS的目的在于能够更改DNS服务器指向的IP地址,因此,如果您的Web服务器宕机了,您可以将流量重定向到备份吗?如果您的主DNS提供程序不可用,您将如何切换到辅助提供程序?备用DNS系统基本上一直都在运行吗?如何配置?它只是您在服务器上拥有的DNS服务器的精确克隆吗?它们是否同时运行?

希望有人可以看到我挂断的电话,并提供一些指导。


Answers:


26

拥有辅助DNS服务器的主要要点是在处理您的域的主要DNS服务器出现故障时作为备份。在这种情况下,您的服务器仍将处于运行状态,因此,如果没有备份,则没人会进入您的服务器,这可能会使您损失大量客户(即REAL MONEY)。

辅助DNS服务器始终处于运行状态,并可以提供服务。它可以帮助平衡网络上的负载,因为现在有一个以上的权威位置来获取您的信息。通常,更新是从主DNS自动执行的。因此,它是母版的精确克隆。

通常,DNS服务器不仅包含单个服务器,还包含更多信息,它可能包含邮件路由信息,许多主机的信息,邮件垃圾邮件密钥等。因此,恢复和冗余对于域持有者无疑是有好处的。

希望这对您有所帮助。


尽管现在通常在邮件服务器上,如果MX记录无法解析,则将消息放入队列中重试,而不是被彻底拒绝-因此,如果您是邮件服务器和/或MX DNS记录出现故障,您应该可以邮件的角度...但是仍然以其他方式搞砸了!
威廉

13

是拥有辅助DNS的关键

只有非常小的组织才能在单个服务器上完成所有操作。我有很多服务器,我希望即使Web服务器已关闭,我的电子邮件也能继续运行。我有托管在外部网络上的服务,即使我的Internet链接断开,我也希望保持该状态。

备用DNS系统基本上一直都在运行吗?

通常。

如何配置?

它取决于DNS服务器软件,但通常取决于“备份服务器”,因此将其设置为辅助服务器。然后,输入主服务器的IP和要复制的区域。


11

这是RFC的必备条件。参见http://www.ietf.org/rfc/rfc1035.txt

引用第4页的重要内容:

DNS要求多个区域服务器冗余地支持所有区域。指定的辅助服务器可以使用DNS的区域传输协议来获取区域并从主服务器检查更新。


10

备用DNS服务器(一个或多个)将成为主DNS服务器的从属服务器。从属服务器将对主DNS服务器进行更改。可以定期执行此操作,也可以响应主服务器发出的通知进行操作。这是导致Internet识别DNS更改延迟的原因之一。您的主要和备用名称服务器将列为您的域的名称服务器。

在DNS通知之前,从属名称服务器将在一段时间内具有DNS数据的先前版本。(这是序列号的目的之一。)一旦所有名称服务器都更新到相同的版本(相同的序列号),它们都应具有相同的数据。在不增加序列号的情况下编辑区域文件可能会导致数据不一致。

没有切换到备用DNS服务器。DNS请求相对均匀地分布在所有名称服务器中。(这是通过使用轮询调度查询服务器来完成的。)如果一个或多个名称服务器关闭,则超时后将在另一台名称服务器上重试请求。只要您的一个域名服务器启动,您的域就会解析(有时很慢)。您希望始终保持所有名称服务器正常运行。

就您而言,您可能会发现使用ISP或域注册商来托管您的域更为简单。它们将具有一个或多个备份名称服务器,并将具有专用于使其保持运行的资源。


如果您只运行Web服务器,则辅助DNS似乎没有那么重要。但是,当服务器关闭时,出于多种原因,您可能需要备份DNS服务器,包括:

  • 使您能够ping或跟踪路由到主机以确认其已关闭。
  • 以防止用户和搜寻器决定不再使用您的域。

如果您的域获取或发送电子邮件,则需要备用DNS来建立信誉并确保将来发送电子邮件。如果邮件服务器在您的域中查找并发现该域不存在,它将立即退回您的电子邮件。但是,如果DNS查找成功并且服务器已关闭,则电子邮件将排队等待稍后传递。仅当您休息几天后,电子邮件才会开始退回。(某些行为不佳的自动传递系统仅尝试一次,即使服务器已启动,也可能无法传递消息。)


1

您无需切换到自动备份。如果您的域中对域名的DNS请求达到查询的程度(请记住DNS已被大量窃听),则如果您的主NS服务器没有响应,则会查询辅助NS服务器。

如果您将DNS托管在托管您所提供服务的服务器之外,那么2为明智之举。如果其中一个出现故障,则另一个将接听,您的域仍然可用。


我已经阅读了很多评论,这些评论表明许多现实世界中的DNS缓存服务(例如ISP使用的服务)不会重试使用第二名服务器,如果第一台服务器没有响应,它们只会失败。例如,关于serverfault的此答案。在这种情况下,如果您有两个单独的名称服务器,则需要确保两个服务器均正常运行,因为任何一个停机都可能导致托管域的停机。这确实违反了常规做法 RFC,但似乎令人担忧。
thomasrutter 2012年

1

除了上述内容:

除了RFC需要第二个DNS服务器这一事实之外,还可以避免上游解析程序进行负面缓存。缓存请求不匹配任何记录(NXDOMAIN)/找不到dns服务器的事实是常见的做法。

由于某些ISP具有不常见的缓存策略,因此最好有第二台dns服务器来响应这些请求,即使Web服务器已关闭也是如此。这样,您可以避免服务器备份运行后负面缓存的影响。

注意:通常,最大缓存间隔为max。建议5分钟(不过,某些ISP确实有疯狂的价值)


1

没错-在您所处的环境中不需要第三方辅助设备,并且如果您所有其他服务(包括邮件)仍托管在一个盒子中,则它不会为您带来任何改进网络。

是的,主要和次要都彼此相邻运行;两者都应该具有相同的信息(但实际上并不能保证信息的连贯性);在局外人看来,主服务器和辅助服务器之间没有区别,两者的外观相同,通常,给定分辨率仅使用一个。如果一个失败,则尝试另一个。如果您所有的客户都在纽约,那么在东京拥有一台服务器将是一个坏主意,因为这会增加平均分辨率的延迟(例如,一件坏事),因为服务器很漂亮随机选择。

DNS规范似乎确实要求为域提供至少两个NS记录,因此,如果设法以某种方式仅为域设置单个NS记录,则可能会遇到一些解析器无法解析名称的情况。

djbdns的作者DJB很好地概述了对辅助第三方DNS服务的误解:

http://cr.yp.to/djbdns/third-party.html

让我们从页面上得到一个摘要报价:

底线是,对于绝大多数站点,第三方DNS服务具有很高的成本,而收益却微不足道,就像第三方HTTP服务和第三方SMTP服务一样。服务公司的主张被夸大了,因此绝不能替代常识。


-6

实际上,在世界许多地方,如果主DNS发生故障,则永远不会查询备份DNS服务器。因为这对于解析器来说是一个额外的步骤。它不想做那个工作,也不会。

所以备份我们没用。如果主服务器出现故障,则用户dns查询将不返回任何内容(即使存在完全可用的DNS服务器,并且已在名称记录中列出,还有备用服务器正在等待)。找不到服务器的用户。

试试吧。


5
我真的不知道您在说什么,您似乎似乎根本不了解DNS的工作原理。您的客户端计算机应指向缓存DNS服务器,而不是针对区域授权的服务器。如果主服务器在默认配置下不可用,我知道的每个公用DNS服务器都将尝试访问其他名称服务器。如果其中一台DNS服务器配置不正确,它可能不会进行故障转移。
Zoredache
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.