我几乎已经完全理解了 NS 代表团的记录。
但是我有这个问题:包含域区域的非权威 DNS 服务器是否可以从该区域返回记录,而不是继续前往 NS 记录中的服务器?
例如:
注册商已example.com
与名称服务器 =ns1.A.example
ns1.A.example
example.com
具有以下区域:
NS = ns1.B.example
A = 192.0.2.4
ns1.B.example
该区域example.com
具有以下内容:
NS = ns1.B.example
A = 192.0.2.8
显然,192.0.2.8
是权威的答案,并且上面列出的两个名称服务器192.0.2.8
在查询时应该始终返回。
是否存在任何192.0.2.4
会返回答案的情况?或者由于 NS 记录不匹配,该记录永远不会被访问?
答案1
您的设置将始终返回 192.0.2.4。这是基于我对我的一个域进行的快速测试。考虑到这是一个简单的测试,我建议您也这样做并亲自验证一下。
答案2
您所描述的是一个不完善的委派案例(如果我理解正确的话,它不是 100% 清楚的 - 混淆几乎总是会带来不确定性 - ;注册商在那里几乎没有什么可做的,重要的是注册中心又名父名称服务器所说的内容)。
上游权威名称服务器表示该名称由一个名称服务器(权威地)处理,但是如果您查询它,它会说该区域由另一个名称服务器处理。
这“不应该”发生,因为它会产生明显的问题。一些递归名称服务器以子级为中心(因此倾向于相信子级所说的话,这可能是原始 DNS 规范的意图),而其他则以父级为中心。因此,您所说的“显然,192.0.2.8 是权威答案”实际上并不那么明显……
它还取决于缓存,以及何时/如何进行此更改。
您应该不惜一切代价避免这种情况。它现在可能不会显示操作问题,DNSViz等测试工具只会标记警告,而不是错误,但在某些时候它可能会引发更大的问题。
附言:是的,我确实编辑了您的问题,添加了正确的名称和 IP 地址。请不要混淆,也不要使用明显存在且正在使用的资源。
答案3
您可以强制查询第二个名称服务器以nslookup
返回信息。手动列出第二个名称服务器的主机也会生成相同的结果。没有其他方法可以做到这一点。