DNS – NSLOOKUP非权威答案是什么意思?

当我进行NS查找时,对于某些域,我得到的答复Non-authorative answer: 。 我想知道这是什么意思?

 Got answer: HEADER: opcode = QUERY, id = 3, rcode = NXDOMAIN header flags: response, want recursion, recursion avail. questions = 1, answers = 0, authority records = 1, additional = QUESTIONS: www.ssss.com.SME, type = AAAA, class = IN AUTHORITY RECORDS: -> (root) ttl = 1787 (29 mins 47 secs) primary name server = a.root-servers.net responsible mail addr = nstld.verisign-grs.com ------------ Non-authoritative answer: ------------ ------------ Name: xxx.com Address: 199.1xx.xx.1xx Aliases: www.xxx.com 

基本上,这就是它的名字。 一个权威的答案来自一个域名服务器,它被认为是域名的权威性,它返回一个logging(域名查询的域名服务器之一),一个非权威的答案来自其他地方(a名称服务器不在您查看的域的列表中)。

它基本上是名称服务器(它是您正在查询的域的官方域名服务器)和名称服务器(不是)之间的区别。 没有权威的名称服务器正在获得他们的答案第二(或第三或第四)…手 – 只是从其他地方传递信息。

所以,例如,如果我现在做了一个nslookup的maps.google.com ,我会得到一个我configuration的名称服务器的响应。 (无论是从我的ISP还是我的域名。)它会回来作为非权威,因为我的ISP的名称服务器,也没有我自己的名字服务器列表中的google.com 。 它们不是Google的名称服务器,所以它们不是创buildNSlogging的权威来源。

Google的权威名称服务器列表如下(来自whois.internic.net)。

域名:GOOGLE.COM

注册商:MARKMONITOR INC。

Whois服务器:whois.markmonitor.com

名称服务器:NS1.GOOGLE.COM

名称服务器:NS2.GOOGLE.COM

名称服务器:NS3.GOOGLE.COM

名称服务器:NS4.GOOGLE.COM

更新date:20-Jul-2011

创作date:15-sep-1997

到期日:14-sep-2020

如果我将configuration的DNS服务器更改为该列表中的一个,然后对maps.google.comnslookup ,我将得到一个权威答案。 这些服务器是Google域名中有效名称的权威(或来源),哪些不是。 所有其他名称服务器,非权威域名服务器,都从权威服务器的某处下载NSlogging。

您收到的答案本质上是来自本地DNS服务器的caching或转发的响应。 基本上,非权威名称服务器是不包含所查询区域的logging的名称服务器; 例如,您的本地DNS可能不会包含Google的名称logging。

通过运行host -t ns example.com来检索host -t ns example.com的NSlogging,可以获得给定域的权威名称服务器。

在Google的情况下,我们看到:

 $ host -t ns google.com google.com name server ns4.google.com. google.com name server ns1.google.com. google.com name server ns2.google.com. google.com name server ns3.google.com. 

如果您随后对其中一台服务器运行nslookup命令,您将获得权威答案:

 $ nslookup www.google.com ns1.google.com Server: ns1.google.com Address: 216.239.32.10#53 www.google.com canonical name = www.l.google.com. Name: www.l.google.com Address: 173.194.43.49 Name: www.l.google.com Address: 173.194.43.50 Name: www.l.google.com Address: 173.194.43.48 Name: www.l.google.com Address: 173.194.43.52 Name: www.l.google.com Address: 173.194.43.51 

如果你使用的是nslookup ,为了得到NSloggingtypes,你可以在交互模式下运行:

 $ nslookup > set querytype=ns > google.com Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: google.com nameserver = ns3.google.com. google.com nameserver = ns4.google.com. google.com nameserver = ns1.google.com. google.com nameserver = ns2.google.com. Authoritative answers can be found from: ns1.google.com internet address = 216.239.32.10 

所以,设置querytype=ns会做上面的host命令。

非权威的答案只是意味着不会从权威的DNS服务器为查询的域名取回答案。

首先你必须了解DNS系统是如何工作的。 DNS系统可以分为三层。 他们是:

  • 根DNS服务器
  • 顶级域名DNS服务器
  • 权威的DNS服务器

还有另一类DNS服务器,通常称为本地DNS服务器,其IP地址是在您的操作系统上指定的。

当浏览器连接到一个网站example.com时,浏览器首先查询您的本地DNS服务器以获取example.com的IP地址。

  • 如果本地DNS服务器没有example.com的Alogging,它将查询其中一个根DNS服务器。

  • 根DNS服务器会说:我没有Alogging,但我知道负责.com域的顶级域名DNS服务器。

  • 然后你的本地DNS服务器查询负责.com域的顶级域名DNS服务器。 顶级域名服务器将作出回应:我也不知道,但我知道哪个DNS服务器是权威的example.com。

  • 所以你的本地DNS服务器查询权威的DNS服务器。 因为实际的DNSlogging存储在授权的DNS服务器上,所以它会给你的本地DNS服务器一个答案。

然后这个查询结果被caching在你的本地DNS服务器上,但可能已经过时了。 当TTL时间到期时,您的本地DNS服务器将更新权威DNS服务器的查询结果。 每当您查询本地DNS服务器上的DNSlogging时,都会返回一个非权威(非官方)答案。 如果你想要一个权威的答案,你必须在使用nslookup或其他工具时明确地指定权威的DNS服务器。 我认为本地DNS服务器应该被称为cachingDNS服务器。

当有人注册一个域名时,他/她可以指定哪个DNS服务器是权威的DNS服务器。 这个信息被称为NSlogging。 NSlogging将告诉顶级域DNS服务器哪个域名服务器保存域的Alogging,MXlogging等。

从Wireshark实验室:DNS v6.01 : However, nslookup also indicates that the answer is “non-authoritative,” meaning that this answer came from the cache of some server rather than from an authoritative MIT DNS server