我不完全了解子域特定NS
记录的工作原理及其对 DNS 工作原理的影响。
NS
我经常观察顶级域级别的记录使用情况,例如。/ / /记录的example.nl
当前布局为:A
AAAA
NS
SOA
example.nl. 0 IN A 94.198.159.35
example.nl. 0 IN AAAA 2a00:d78:0:712:94:198:159:35
example.nl. 0 IN NS ex2.sidnlabs.nl.
example.nl. 0 IN NS anytest1.sidnlabs.nl.
example.nl. 0 IN NS ex1.sidnlabs.nl.
example.nl. 0 IN SOA ex1.sidnlabs.nl. hostmaster.sidn.nl. 1081 14400 3600 604800 300
www.example.nl. 0 IN A 94.198.159.35
www.example.nl. 0 IN AAAA 2a00:d78:0:712:94:198:159:35
在域级别定义的名称服务器还包含子域的资源记录www
。现在,在情况 1 中,我们将为子域添加相同的NS
记录www
。
情况 1:
www.example.nl. 0 IN NS ex2.sidnlabs.nl.
www.example.nl. 0 IN NS anytest1.sidnlabs.nl.
www.example.nl. 0 IN NS ex1.sidnlabs.nl.
在情况 2 中,我们NS
为子域添加不同的记录www
。我们假设这些名称服务器为 保存不同的A
和AAAA
记录www.example.nl
。
情况 2:
www.example.nl. 0 IN NS ns1.example.com.
www.example.nl. 0 IN NS ns2.example.com.
我的问题是:
- 情况 1 会对 DNS 的运行产生任何影响吗?就哪些
NS
记录被视为权威而言?或者NS
子域中的记录会被完全忽略吗? - 查询的结果是什么
www.example.nl
,是位于域名名称服务器记录中的A
/记录,还是位于子域名记录中的记录,或者两者兼而有之?AAAA
NS
www
NS
答案1
NS
记录用于代表团。
www.example.nl. 0 IN NS ex2.sidnlabs.nl.
www.example.nl. 0 IN NS anytest1.sidnlabs.nl.
www.example.nl. 0 IN NS ex1.sidnlabs.nl.
这种情况很少见,但确实/可能在某些 CDN 中发生。
不过,通常您不需要这样做,在example.nl
您只需定义A
/AAAA
或CNAME
记录的区域中www.example.nl
,您不需要任何委派。
您描述的两种情况是相同的。操作上没有什么不同,当然,只要名称服务器组配置正确即可。
哪些 NS 记录被视为权威?
没有这样的问题。父级列出NS
记录,区域本身(子级)也应列出这些记录,并且两个集合应该匹配,否则您将处于一个不充分的委派情况,即使这只能被视为警告而不是错误:
- 根据核心 DNS 规范(RFC 1034 和 1035),这是一个错误,即使它不会立即造成 DNS 问题
- 它可能至少会造成延迟
- 但确实使整个决议处于脆弱状态,因为任何未来的变化,即使是良性的,都可能突然让一切崩溃。
简而言之,您应该立即修复任何不完善的委派情况。这是区域维护不善的标志。
查询的结果是什么www.example.nl
客户端遵循委派。如果您NS
在给定区域中有指向其他地方的记录,则在同一区域中,您不应该有此截点以下的任何其他记录(但如果新名称服务器本身在管辖范围内,则您可能需要胶水,又称A
/AAAA
记录)
此外,也许不幸的是,实际上更重要的不是区域文件中的内容,而是名称服务器如何回复某些查询,它是否给出了答案或推荐(委托)。因此,仅使用虚拟区域文件很难争论,最好使用真实示例。您可以dig +trace
像 Jacob 所说的那样使用,或者使用 DNSviz 等在线故障排除工具,它将以图形方式向您显示委托(又称切点),这对于正确的 DNSSEC 操作非常重要。