题 DNS - NSLOOKUP非权威性答案的含义是什么?


对于某些域名 nslookup 给了我一个 Non-authoritative 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:    example.com
Address:  93.184.216.34
Aliases:  www.example.com

94
2017-08-01 01:49




www.xxx.com并不是一个真正的域名示例哈哈;)... RFC建议您使用example.com。看到 iana.org/domains/reserved - Mzn


答案:


基本上,这就是它的名字所说的。一个权威的答案来自一个名称服务器,该名称服务器被认为是域名的权威,它正在返回一个记录(你查找的域列表中的一个名称服务器),一个非权威的答案来自其他任何地方(a名称服务器不在您执行查找的域的列表中)。

它基本上是一个名称服务器,它是您正在查询的域的官方名称服务器,而名称服务器则不是。不具有权威性的名称服务器可以获得第二个(或第三个或第四个......)手的答案 - 只需从其他地方传递信息。

所以,例如,如果我做了nslookup maps.google.com 现在,我会得到一个我配置的名称服务器的响应。 (来自我的ISP或我的域名。)它会以非权威的方式返回,因为我的ISP的名称服务器和我自己的名称服务器都不在名称服务器列表中 google.com。它们不是Google的名称服务器,因此它们不是创建NS记录的权威来源。

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

域名:GOOGLE.COM

注册商:MARKMONITOR INC。

Whois服务器:whois.markmonitor.com

名称服务器:NS1.GOOGLE.COM

名称服务器:NS2.GOOGLE.COM

名称服务器:NS3.GOOGLE.COM

名称服务器:NS4.GOOGLE.COM

更新日期:20-jul-2011

创作日期:15-sep-1997

到期日:14-sep-2020

如果我将配置的DNS服务器更改为该列表中的一个,然后执行了 nslookup 反对 maps.google.com,我会得到一个权威的回答。这些服务器是Google域中有效名称的权限(或来源),而不是。所有其他名称服务器,非权威名称服务器,从权威服务器的某个地方获取其NS记录。


85
2017-08-01 02:20





您收到的答案实际上是来自本地DNS服务器的缓存或转发响应。基本上,非权威名称服务器是不包含要查询的区域的记录的名称服务器;例如,您的本地DNS可能没有Google的名称记录。

您可以通过运行获取对给定域具有权威性的名称服务器 host -t ns example.com 检索example.com的NS记录。

就谷歌而言,我们看到:

$ 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,要获取NS记录类型,您可以在交互模式下运行这样的事情:

$ 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 命令做了。


30
2017-08-01 02:26



只是好奇......什么呢 # 意思是 Address: 127.0.0.1#53? - cwhsu
猜猜是因为听音端口对吗?就像这里所说的那样 nlp.stanford.edu/IR-book/html/htmledition/dns-resolution-1.html - cwhsu


非权威性答案仅表示未从权威DNS服务器获取查询域名的答案。

首先,您必须了解DNS系统的工作原理。 DNS系统可以分为三层。他们是:

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

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

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

  • 如果本地DNS服务器没有example.com的A记录,则为 将查询其中一个根DNS服务器。

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

  • 然后,您的本地DNS服务器查询负责.com域的顶级域DNS服务器。该 TLD DNS服务器将响应:我不知道,但我知道哪个DNS server对example.com是权威的。

  • 因此,您的本地DNS服务器会查询权威DNS服务器。因为 实际的DNS记录存储在该权威DNS服务器上,所以它 将为您的本地DNS服务器提供答案。

然后,此查询结果将缓存在您的本地DNS服务器上,但它可能已过时。当TTL时间到期时,您的本地DNS服务器将更新来自权威DNS服务器的查询结果。每当您在本地DNS服务器上查询DNS记录时,它都会返回非权威(非官方)答案。如果需要权威答案,则必须在使用nslookup或其他实用程序时明确指定权威DNS服务器。我认为应该将本地DNS服务器称为缓存DNS服务器。

当有人注册域名时,他/她可以指定哪个DNS服务器是权威DNS服务器。此信息称为NS记录。 NS记录将告诉顶级域DNS服务器哪个名称服务器保存域的A记录,MX记录等。


17
2017-09-07 04:22



这解释了比所有其他答案组合得更多。解释DNS工作原理的拓扑结构对于为此问题提供上下文非常有用。 - Levi Roberts


Wireshark实验室:DNS v6.01However, 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


0
2017-11-24 19:11