这可能是一个Windows DNS特定的问题或一般的DNS最佳实践问题 – 我不知道!
我们将第三方DNS提供从提供者A迁移到提供者B.
我注意到我们的内部recursion窗口DNS服务器仍然有NSloggingcaching我们的域指向提供者A的服务器,即使我更改了与我们的注册商几天前的名称服务器,即使selectcachinglogging的属性显示的TTL 1天。
在此caching中的NSlogging超过24小时后,DNS服务器是否将返回到TLD服务器以获取有关该权限的更新,或者是否将优先转移到dns1.providera.com,因为这是它所caching的内容?
在这种情况下,我安排将Provider A的服务器保留一周,以允许更改传播,因此dns1.providera.com仍然是活动的,并且仍然会提供表示dns1.providera.com的NS和SOAlogging。 负责这个领域。 鉴于这个事实,Windows DNS服务器是否会回到顶级域名(TLD)并拿起权限更改,还是假设一切正常,并在caching的NSlogging上更新时间戳呢?
我想知道什么是最好的方法来确保cachingselect这个。 我是不是该:-
(1)让Provider A的服务器保持正常运行,并等待caching赶上…基本上我们现在正在做的似乎有问题的东西 – 可能专门用于Windows服务器,或者更广泛的。 (2)将Provider A的服务器留在原地,但更改它们提供的NS和/或SOA信息,以告知caching新服务器负责。 (3)在2 * TTL之后移除提供者A的服务器以强制剩余的caching更新。
(2)的问题是,在提供者A的系统上,我似乎无法将NS或SOA信息更改为除服务器以外的任何其他信息。
(3)的问题是,我不确定在这种情况下DNS服务器将如何performance。 当它无法到达caching的名称服务器时,是否会刷新其caching并尝试完整的recursion查找,还是只会返回一个错误,迫使用户手动清除caching?
提前致谢!
这些更新的一般体系结构/stream程是:
在您向注册商更新logging后,他们将更新注册数据库,这将更新隐形主要TLD NS。
更新将从隐身主服务器stream向实际回复查询的辅助服务器。 这发生在TLD SOA刷新时间段,除非在这种情况下TLD SOA过期时间开始滴答。
如果所有内容都在最后,那么这些更新将以最多的TLD SOA刷新进行传播,并且您更新的logging将显示在面向公众的TLD名称服务器上。
如果在面向公众的TLD名称服务器上出现更新的logging之前查询过,则必须等待logging的TTL过期,然后才能获得更新的logging。
结论是:
如果所有的系统都去了,那么只需要等待TLD SOA刷新的最长时间。
如果您通过caching/recursion提交查询太早,则可能需要等待TLD SOA刷新+loggingTTL
如果发生停电,您可能需要等待更长的时间。
如果系统在停机后的最后时刻回来,则不需要等待比TLD SOA过期+loggingTTL更长的时间。 这是因为您在更新的logging发布到面向公众的顶级域名(TLD)域名服务器之前进行了查询。
由于大多数caching/recursion服务器也会caching您的区域logging,并且您的(企业级)DNS提供商也有可能拥有辅助服务器,所以您必须在开始看到更改之前添加SOA刷新自己的区域来通过新的服务器。 当然,正如我以前所做的那样,您可以为自己的区域更新旧服务器和新服务器。
你可以做什么:
您可以使用像dig或nslookup这样的工具直接查询面向公众的TLD域名服务器,以确定您的logging是否已更新。 您还将了解TLD的SOA时间值。
您可以使用相同的工具来查询您的新的DNS提供商的辅助服务器,以确定他们是否已经拿起更改。
通过公共名称服务器(他们可以select忽略做recursion,但大多数不这样做)来查看新的查询链是否运行正常。
从客户端工作站本地执行完整的recursion查询。 挖掘允许您这样做,并将帮助您确定您的解决scheme链是否如预期一样受到约束。
DNS可能会令人望而生畏。 写评论给我的回复,所以我可以让它更容易理解。 我会在当天晚些时候看看,看看我能不能改进我写的东西。
不是一个真正的答案,只是一些想法。
(3)的问题是,我不确定在这种情况下DNS服务器将如何performance。 当它无法到达caching的名称服务器时,是否会刷新其caching并尝试完整的recursion查找,还是只会返回一个错误,迫使用户手动清除caching?
BCP 123 ,第2.1.1节,build议高速cachingDNS服务器应该只是在这种情况下返回一个错误。 (顺便说一下,“用户手动清除caching”是什么意思? 用户不能做任何事情,DNS服务器运营商可以,当然pipe理员不会关心,甚至不会知道你的服务器无法访问(除非是权威的google.com)。),因此(3)不是一个很好的select。
至于
在此caching中的NSlogging已过期24小时之后,DNS服务器是否将返回TLD服务器以获得有关权限的更新
我正要跳起来说“当然会查询顶级域名”,只是因为否则没有人会永远不能改变他的DNS主机。 虽然,第二个想法有几个可能性:
如果某个cachingDNS服务器在 NS TTL过期之前没有收到对您的域的查询,并且在 NS TTL过期之后收到一个查询,那么caching服务器就不能使用那些过期的NS,除了查询TLD之外别无select。 但是, 如果某个高速cachingDNS服务器不断查询您的域名,则每个查询的旧服务器可能会发送一份NSlogging副本(位于授权部分),caching服务器可能会为其新的TTL存储logging,因此TTL在技术上可能永远不会到期(?!)
我想顶级域名将被质疑,因为我不能相信这样一个普遍的问题没有解决办法。 我希望这里的巫师能启发我们… @Alnitak。