在注册器中设置名称服务器与在名称服务器中设置NS记录

时间:2018-03-07 17:10:48

标签: dns

我天真的理解是:

  1. 您告诉注册商example.com的名称服务器应为dns1.example.netdns2.example.net

  2. 将区域文件上传到dns1.example.netdns2.example.net并附上一些记录。

  3. 我没想到2.可以包括NS记录。我认为NS记录是第1步的一部分。

    在名称服务器中使用NS记录的目的是什么?如何在1. vs 2中使用不同的NS记录。?

    这个previous question可能会涉及到这个主题,但我想更深入地了解。

1 个答案:

答案 0 :(得分:1)

你触及一个重点。

实际上,给定域名的NS记录都存在于父区域中(在那里需要它们才能进行正确的委托),并且在区域本身中。

如果这两组不同,那么你处于一种被称为“跛脚代表团”的情况,而专家们仍然不同意哪一部分是更具权威性的部分,即父级区域或儿童中的记录。 / p>

现在,两者实际上都是服务器的不同目的:

  • 父区域中的设置告诉您如何到达子区域
  • 子区域中的集合告诉您要查询的服务器以获取有关区域内容的数据。

想象一下,世界上每个地方都有关于每个域需要哪些名称服务器的信息。然后,您将使用此信息查询区域中的记录,例如www。 一切都是好的。 但是当然这样的信息并不是全世界都可以获得的(这基本上是DNS发明之前的情况),因此需要一种机制来实现这一目标。这是与树结构相关联的委托的目的:除了根之外,每个节点都有父节点。因此,对于工作,当你(这是一个递归缓存名称服务器)从根开始,找到每个后续的名称服务器"下面"您将需要获得"以上"的信息,因此您可以在父区域中找到名称服务器记录。

当您提供缓存(通过所有查询)时,将记录存储为区域中的集合。因此,NS记录需要存在,因为它们与区域相关联,它们是SOA记录中不可或缺的一部分。

请注意,当您在父域名服务器和此域名服务器上执行完全相同的查询(如dig NS example.com)时,结果应该相同(否则它是开头讨论的跛脚委托情况),但有一个重要的区别。在结果中,一个标志将不同:当您询问区域的名称服务器但在查询父名称服务器时未设置时,将设置权威答案的AA。以前的比喻现在应该解释这种差异。

此外,对于DNSSEC,您有类似的情况,您需要再次建立一个链,称为信任链。每个区域都发布一个DNSKEY记录(实际上不止一个),并且父区域为区域中的每个DNSKEY记录发布一条DS记录(同样不是100%为真,但现在更容易看到它),两者都是并列的:DS记录的内容是DNSKEY记录中的数据加上区域名称的一些哈希值。