一部のドメインでは、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
基本的に、それは名前が言うとおりです。権限のある回答は、レコードを返すドメイン(権限のあるドメインのリストにあるネームサーバーの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サーバーをそのリストにあるものの1つに変更してから、maps.google.com
に対してnslookup
を実行すると、信頼できる回答が返されます。これらのサーバーは、Googleのドメインで有効な名前とそうでない名前に対する権限(またはソース)です。他のすべてのネームサーバー、権限のないネームサーバーは、行のどこかにある権限のあるサーバーからNSレコードを取得します。
受け取った答えは、基本的にローカルDNSサーバーからのキャッシュまたは転送された応答です。基本的に、権限のないネームサーバーは、照会されるゾーンのレコードを含まないネームサーバーです。たとえば、ローカルDNSにGoogleの名前レコードが含まれない可能性があります。
Host -t ns example.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.
その後、これらのサーバーの1つに対して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
コマンドが行ったことが実行されます。
権限のない回答とは、クエリされたドメイン名の権限のあるDNSサーバーから回答がフェッチされないことを意味します。
まず、DNSシステムの仕組みを理解する必要があります。 DNSシステムは3つの層に分けることができます。彼らです:
通常、ローカルDNSサーバーと呼ばれる別のクラスのDNSサーバーがあり、そのIPアドレスはオペレーティングシステムで指定されています。
ブラウザが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サーバーにキャッシュされますが、古くなっている可能性があります。 TTLの時間が経過すると、ローカルDNSサーバーは権限のあるDNSサーバーからのクエリ結果を更新します。ローカルのDNSサーバーでDNSレコードをクエリすると、権限のない(非公式)回答。信頼できる回答が必要な場合は、nslookupまたは他のユーティリティを使用するときに、信頼できるDNSサーバーを明示的に指定する必要があります。ローカルDNSサーバーは、キャッシュDNSサーバーと呼ばれるべきだと思います。
誰かがドメイン名を登録するとき、彼/彼女はどのDNSサーバーが権限のあるDNSサーバーであるかを指定できます。この情報は、NSレコードと呼ばれます。NSレコードは、ドメインのAレコード、MXレコードなどを保持しているネームサーバーをトップレベルドメインDNSサーバーに通知します。
From Wireshark Lab: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