DNS-NSLOOKUP権限のない回答の意味は何ですか?


117

一部のドメインで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

14
www.xxx.comは実際にはドメイン名の例ではありませんhaha;)... RFCはexample.comの使用を推奨しています。参照iana.org/domains/reserved
用Mzn

回答:


99

基本的に、それはその名前が示すとおりです。権限のある回答は、レコードを返すドメインに対して権限があるとみなされるネームサーバー(ルックアップを行ったドメインのリストにあるネームサーバーの1つ)から取得され、権限のない回答は他の場所(aルックアップしたドメインのリストにないネームサーバー)。

基本的には、照会しているドメインの公式ネームサーバーであるネームサーバーとそうでないネームサーバーの違いです。権限のないネームサーバーは、2番目(または3番目または4番目...)に答えを手にしています-他の場所から情報を中継するだけです。

したがって、たとえば、maps.google.com今すぐnslookupを実行した場合、構成済みのネームサーバーの1つから応答が返されます。私の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

更新日:2011年7月20日

作成日:1997年9月15日

有効期限:2020年9月14日

構成済みのDNSサーバーをそのリストのいずれかに変更してから、nslookup反対をしたmaps.google.com場合、信頼できる回答が返されます。これらのサーバーは、Googleのドメインで有効な名前とそうでないものの権限(またはソース)です。他のすべてのネームサーバー、権限のないネームサーバーは、NSレコードを権限のあるサーバーから取得します。


35

受け取った回答は、基本的にローカルDNSサーバーからのキャッシュまたは転送された応答です。基本的に、権限のないネームサーバーは、クエリ対象のゾーンのレコードを含まないサーバーです。たとえば、ローカルDNSにはGoogleの名前レコードが含まれない可能性があります。

host -t ns example.comexample.comのNSレコードを取得するために実行することにより、特定のドメインに対して権限のあるネームサーバーを取得できます。

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、これらのサーバーの1つに対してコマンドを実行すると、信頼できる答えが得られます。

$ 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

nslookupNSレコードタイプを取得するためにを使用している場合、インタラクティブモードで次のようなものを実行できます。

$ 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コマンドがしたことを行います。


好奇心が強い...でどういう#意味Address: 127.0.0.1#53ですか?
cwhsu

リスニングポートが原因だと思いますか?ここに記載されている内容と同様に、nlp.stanford.edu / IR
book /

24

権限のない回答とは、クエリされたドメイン名に対して権限のあるDNSサーバーから回答が取得されないことを意味します。

最初に、DNSシステムの仕組みを理解する必要があります。DNSシステムは3つの層に分割できます。彼らです:

  • ルートDNSサーバー
  • トップレベルドメインDNSサーバー
  • 権限のあるDNSサーバー

通常、オペレーティングシステムでIPアドレスが指定されているローカルDNSサーバーと呼ばれる別のクラスのDNSサーバーがあります。

ブラウザーがexample.comなどのWebサイトに接続すると、ブラウザーはまずローカルDNSサーバーに照会して、example.comのIPアドレスを取得します。

  • ローカルDNSサーバーにexample.comのAレコードがない場合、ルートDNSサーバーの1つにクエリを実行します。

  • ルートDNSサーバーには、「Aレコードはありませんが、.comドメインを担当するトップレベルドメインDNSサーバーは知っています」と表示されます。

  • 次に、ローカルDNSサーバーは、.comドメインを担当するトップレベルドメインDNSサーバーに照会します。TLD DNSサーバーが応答します。どちらもわかりませんが、example.comに対して権限のあるDNSサーバーはわかります。

  • したがって、ローカルDNSサーバーは権限のあるDNSサーバーにクエリを実行します。実際のDNSレコードは権限のあるDNSサーバーに保存されるため、ローカルDNSサーバーに回答を提供します。

次に、このクエリ結果はローカルDNSサーバーにキャッシュされますが、古い可能性があります。TTL時間の期限が切れると、ローカルDNSサーバーは権限のあるDNSサーバーからのクエリ結果を更新します。ローカルDNSサーバーでDNSレコードを照会するたびに、権限のない(非公式の)応答が返されます。信頼できる回答が必要な場合は、nslookupまたはその他のユーティリティを使用するときに、信頼できるDNSサーバーを明示的に指定する必要があります。ローカルDNSサーバーは、キャッシングDNSサーバーと呼ばれるべきだと思います。

誰かがドメイン名を登録するとき、どのDNSサーバーが権限のあるDNSサーバーであるかを指定できます。この情報はNSレコードと呼ばれます。NSレコードは、ドメインのAレコード、MXレコードなどを保持するネームサーバーをトップレベルドメインDNSサーバーに通知します。


4
これは、他のすべての回答を組み合わせたものよりもはるかに多く説明しました。DNSがどのように機能するかのトポロジーを説明することは、この問題のコンテキストを提供する上で非常に役立ちます。
レヴィロバーツ

1

Wireshark Labから: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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.