DNS 区域中当前区域的 NS 记录的用途

DNS 区域中当前区域的 NS 记录的用途

两种情况:

案例 1- example.com 的区域文件:

@      IN    SOA    dns.example.com.    info.example.com.    (1 8H 8H 8H 8H)
       IN    NS     dns
dns    IN    A      123.123.123.123

第二行和第三行有什么用?我理解它们可能是定义 dns.example.com 所必需的。还有其他用途吗?

案例 2- foo.com 的区域文件:

@      IN    SOA    dns.example.com.    info.foo.com.    (1 8H 8H 8H 8H)
       IN    NS     dns.example.com.

在这种情况下,第二行是必要的吗?如果我们已经处于该区域内,那么为 foo.com 的区域添加此 NS 记录有什么用呢?

另外,第一行和第二行是否必须指向同一台服务器?如果不是,在什么情况下它们会不同?

答案1

NS需要在区域本身中拥有记录的原因与 DNS 中区域/委派/权威等更基本的概念有关。

我将说明这如何应用于NS记录,但同样的推理也可以应用于指向的A/AAAA记录(NS如果它位于同一区域内):

example.com/IN/NSexample.com是您的名称服务器所管辖的区域的一部分。

父区域的名称服务器(com在此示例中)显然将提供委托example.com/IN/NS记录(和适当的粘合),但这些记录不具有权威性,仅将客户端引导至实际的权威机构。

如果有人查询,example.com/IN/NS他们会遵循委托链,最终要求您的服务器接收实际的权威数据。如果您以某种方式没有这些记录,则意味着您的名称服务器(该区域的权威机构)会声称他们确实知道没有example.com/IN/NS记录。

然后,当然他们的负面回应example.com/IN/NS很可能会被缓存,这意味着下次已经知道该example.com区域没有名称服务器。

答案2

“SOA” 后面的第一个名称是主名称服务器。“SOA”是“授权开始”的缩写。它表示区域的授权,但不定义名称服务器 (NS) 记录,即使它提供了主服务器的主机名。SOA 还定义了 DNS 数据应缓存和刷新多长时间(以及其他事项)。

名称服务器需要明确定义,因此您还应为主名称服务器创建 NS 记录(或不创建)。NS 记录中的服务器不一定需要与 SOA 行中的服务器相同。当您不希望其他人查询您的主服务器时,通常会出现这种情况。

您的区域中至少需要一条 NS 记录,这样当有人查询您区域中的多个主机名时,NS 信息就可以被缓存(这样其他人就不必反复向 root 询问名称服务器的位置)。但是,您可以拥有多条 NS 记录。这在高流量环境中非常有用。

A 记录会告诉您名称服务器的 IP 地址。当您在 NS 记录中使用主机名时,需要此记录。否则,访问者的计算机将不知道如何找到您的名称服务器。(主机名主要供人类使用,而 IP 地址主要供计算机使用。)

所有这些记录的原因都是为了缓存数据。如果有人查询您区域中的多个主机名,他们的计算机(最多)只需要向根服务器询问一次您的服务器的 NS 记录。

一清二楚,对吧?

相关内容