SOA 记录和 `@` NS 记录的作用 - 这些是否曾用于解析名称?

SOA 记录和 `@` NS 记录的作用 - 这些是否曾用于解析名称?

是否存在这样的情况:域或子域的 SOA 记录或 NS 记录中的信息@用于 DNS 名称解析?

假设我没有在名称服务器@上发布任何 SOA 或 NS 记录josh.com,这会对任何事情产生影响吗?

换个角度问,我是否曾经期望域名的私有 DNS 服务器josh.com获取@NS 记录或 SOA 记录的查询?

例子:

假设我有自己的域名 josh.com 私有 DNS 服务器。注册商拥有此名称服务器的 IP 地址,并将其发布到 TLD 服务器。

我想解决www.josh.com...

  1. 我向根 NS 服务器询问com.,他们使用com权威部分中的 NS 记录以及.com附加部分中的 GTLD 服务器的 IP 地址来回答。

  2. 然后,我使用上一步返回的其中一个 GTLD 服务器的 IP 地址进行请求josh.com.,它会使用josh.com.权威部分中的名称服务器以及附加部分中的 IP 地址进行回答。

  3. josh.com最后,我向上一步返回的其中一个服务器询问www.josh.com.,并在答案部分得到答案。

似乎@这里从未触及过任何 SOA 或 NS 记录?

答案1

这些记录存储在 区域文件 并且对于 DNS 服务器的运行和定义 DNS 区域本身至关重要。它们通常不会在处理 DNS 查询时使用,而只是告诉 DNS 服务器从哪里获取信息。

一个SOA 记录由从属或辅助域服务器使用,指向主区域服务器,并包含与其同步所需的所有参数,例如刷新时间。该过程称为 DNS 区域传输

NS 记录(或名称服务器记录)将域名映射到对指定域具有权威性的 DNS 服务器列表,该列表主要包括委派。区域原点可以用 表示@。这些服务器也参与 DNS 区域传输。

唯一一次 DNS 服务器被查询这些记录是当它是区域的主 DNS 服务器时,由从属/辅助 DNS 服务器在执行 DNS 区域传输的过程中进行查询。

DNS 是一个庞大的主题,我对它的了解并不全面。如果你想了解更多,你可以从这些资源开始:

答案2

假设我没有在 josh.com 名称服务器上发布任何 SOA 或 @NS 记录,这会对任何事情产生影响吗?

是的,这至少会破坏 DNSSEC 和 QNAME 最小化。(具有讽刺意味的是,您在示例中使用了 QNAME 最小化……)

此外,SOA 字段的最后一项是负 TTL,并让递归名称服务器知道缓存 NXDOMAIN 回复多长时间。因此需要 SOA 记录。

https://www.rfc-editor.org/rfc/rfc7816#appendix-A有关递归名称服务器用于执行 QNAME 最小化的详细算法:您将看到它需要NS记录来逐步找到区域切割。

对 DNSSEC 的需求与名称服务器需要找到正确的 DNSKEY 和 DS 记录的需求相同。

还要注意,一般来说,NS 记录存在于区域切割的两侧:父区域和子区域。递归名称服务器相信子侧的内容,因为它是权威侧。父区域中的 NS 记录仅用于解析,但父区域对它们没有权威性。如果子侧没有这些记录(如果您设法让名称服务器在这种情况下加载区域,这当然是不能保证的),可能会阻止递归名称服务器进行任何类型的正确数据缓存。

相关内容