对于我们服务的域名,我们通常使用两个名称服务器,ns1
并将ns2
它们作为主从服务器。我们即将进行一些计划维护,这可能会影响其中一个或两个,因此我们计划ns3
在其他地方添加一个托管服务器。
我们必须添加ns3
我们服务的所有域的来源。但是,我们不一定需要一直ns3
运行。
在您的 SOA/NS 中拥有一个大部分时间都不可用的名称服务器会有什么坏处吗?这是否会导致某些名称服务器认为某个域名已关闭,或者需要更长时间才能找到它?
答案1
如果某个名称服务器在委托中被提及,则它将成为解析器选择的候选服务器。如果委托中提及了三个名称服务器,那么我们可以预计每个名称服务器将获得大约 1/3 的流量(假设所有三个服务器都在线)。
如果其中一个处于离线状态,则有 1/3 的流量必须:
- 被认定为没有被目标服务器应答,并且
- 重新发送到不同的服务器
该过程将减慢名称解析的速度,因为 #1 必须先完成,#2 才能发生。
解析器通常会在一段时间后识别出名称服务器没有响应,并且很可能会限制对它的查询。这样一来,它只会偶尔被探测到。严格来说,这以及这些解析器在检测到它重新上线时如何响应是解析器的实现细节。简单的解析器可能会继续尝试每个查询。
在委派中命名一个您知道大部分时间处于离线状态的名称服务器,充其量是适得其反的,最坏的情况则是对用户不友好。
一个更好的方法,假设您不能使用诸如多播 IP 之类的东西作为权威 DNS,那么可能的做法是减少权威ns1
和ns2
A 和 AAAA RR 上的 TTL,并根据需要更改这些 RR 上的 IP 地址,以将流量引导到您希望它去的地方。请记住对相应的 PTR RR 执行相同操作,特别是如果这些服务器提供任何其他服务。(DNS 对正向/反向名称映射对应关系基本不敏感,但其他服务可能非常挑剔。采取相应措施。)每个解析器的第一个名称解析可能仍然很慢(因为它可能会从委派记录中获取旧的 IP 地址)但一旦它收到具有更新的 IP 地址的权威响应,这种情况就会自行解决。