我是否可以显示我从哪个服务器获得了非权威的答案?

我是否可以显示我从哪个服务器获得了非权威的答案?

我不太清楚这个非权威的答案是如何给出的。

对于某些域我得到了这样的结果:

root@localhost:~# nslookup
> set query=ns
> foo.org
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
foo.org       nameserver = dns5.name-services.com.
foo.org       nameserver = dns3.name-services.com.
foo.org       nameserver = dns4.name-services.com.
foo.org       nameserver = dns2.name-services.com.
foo.org       nameserver = dns1.name-services.com.

Authoritative answers can be found from:

即使我使用 querytype=soa,权威答案也是空白。为什么会发生这种情况?

据我了解,非权威意味着它是来自某个服务器(可能是我的 ISP)的缓存结果。我不确定,当我查询 NS 时,非权威 NS 结果是缓存服务器(ISP)的 NS 还是权威服务器的 NS?

然后我用一个叫 simpledns 的在线工具检查了一下,dnsX.name-services.com ns 似乎是权威答案 NS。为什么它会显示在非权威答案中?如果他们实际上是权威 NS,是否可以显示非权威服务器 NS?

谢谢

答案1

非权威意味着它是来自某个服务器的缓存结果

是的。权威答案仅来自直接托管数据的服务器;非权威答案来自缓存/代理。

可能是我的 ISP

不。在您的示例中,缓存服务器的地址是8.8.8.8(如上程序的输出所示);它是一个 Google 公共 DNS 服务器。

在 nslookup 中,您可以使用server命令将查询定向到其他服务器,无论是缓存服务器还是权威服务器。

即使我使用 querytype=soa,权威答案也是空白。为什么会发生这种情况?

SOA 记录在这方面并不特殊。它们与区域的其他部分由相同的服务器托管。如果通过缓存/代理服务器查询它们,则该响应不具有权威性,这是因为查询的位置,而不是因为记录类型。

要获得权威答案,您需要将查询发送到该域的权威服务器。您收到的 NS 响应会告诉您哪些服务器是权威服务器。

我不太确定,当我查询NS时,Non-Authoritative NS的结果是缓存服务器(ISP)的NS还是权威服务器的NS?

缓存服务器本身永远不会成为结果的一部分;它为您提供未更改的数据。因此,NS 记录与缓存服务器本身从某些权威服务器获得的记录相同(即它们来自实际域,而不是由缓存自动生成的),并且它们也指向权威服务器。

如果他们实际上是权威的 NS,那么是否可以显示非权威服务器 NS?

域中的 NS 记录始终指向其域的权威服务器。这就是它们的真正用途。

域名通常不会指定的非权威服务器,因为如果他们有一个,那么这样的服务器在定义上就会变得有点权威......“非权威”响应只是意味着其他一切,即网络周围的任何缓存 DNS 服务器产生的响应。

答案2

它告诉您,您请求的服务器 8.8.8.8 不具有该域的权限。因此,您必须向 name-services.com 询问答案。

也可以看看DNS——NSLOOKUP 非权威答案是什么意思?在 ServerFault 上。

相关内容