DNS - NSLOOKUP Was bedeutet die nicht autorisierende Antwort?

117

Für einige Domains nslookupgibt es einen Non-authoritative answerAbschnitt. Was bedeutet das?

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
user1179459
quelle
14
www.xxx.com ist nicht wirklich ein Beispieldomainname haha;) ... RFC schlägt vor, dass Sie example.com verwenden. siehe iana.org/domains/reserved
Mzn

Antworten:

99

Im Grunde ist es das, was der Name sagt. Eine autorisierende Antwort stammt von einem Nameserver, der als autorisierend für die Domain gilt, für die ein Datensatz zurückgegeben wird (einer der Nameserver in der Liste für die Domain, für die Sie eine Suche durchgeführt haben), und eine nicht autorisierende Antwort stammt von einem anderen Ort (a Nameserver nicht in der Liste der Domain, auf der Sie gesucht haben).

Es ist im Grunde eine Unterscheidung zwischen einem Nameserver, der ein offizieller Nameserver für die Domain ist, die Sie abfragen, und einem Nameserver, der keiner ist. Nameserver, die nicht maßgeblich sind, erhalten ihre Antworten aus zweiter (oder dritter oder vierter) Hand - sie leiten die Informationen nur von einer anderen Stelle weiter.

Wenn ich zum Beispiel gerade einen nslookup von vornehme maps.google.com, würde ich eine Antwort von einem meiner konfigurierten Nameserver erhalten. (Entweder von meinem ISP oder von meiner Domain.) Es würde als nicht autorisierend zurückkommen, da weder die Nameserver meines ISP noch meine eigenen in der Liste der Nameserver für enthalten sind google.com. Sie sind nicht die Nameserver von Google, daher sind sie nicht die maßgebliche Quelle für die Erstellung der NS-Einträge.

Die Liste der maßgeblichen Nameserver für Google ist unten (von whois.internic.net).

Domain Name: GOOGLE.COM

Kanzler: MARKMONITOR INC.

Whois-Server: whois.markmonitor.com

Nameserver: NS1.GOOGLE.COM

Nameserver: NS2.GOOGLE.COM

Nameserver: NS3.GOOGLE.COM

Nameserver: NS4.GOOGLE.COM

Aktualisiertes Datum: 20. Juli 2011

Erstellungsdatum: 15. September 1997

Ablaufdatum: 14. September 2020

Wenn ich meinen konfigurierten DNS - Server zu einem von denen , die in dieser Liste geändert, und dann ein tat nslookupgegen maps.google.com, würde ich wieder eine verbindliche Antwort. Diese Server sind die Autorität (oder Quelle) für die gültigen Namen in den Domains von Google und für die nicht gültigen Namen. Alle anderen Nameserver, nicht autorisierende Nameserver, beziehen ihre NS-Einträge von den autorisierenden Servern.

HopelessN00b
quelle
35

Die Antwort, die Sie erhalten haben, ist im Wesentlichen eine zwischengespeicherte oder weitergeleitete Antwort von Ihrem lokalen DNS-Server. Grundsätzlich handelt es sich bei einem nicht autorisierenden Nameserver um einen Server, der keine Datensätze für die abgefragte Zone enthält. In Ihrem lokalen DNS werden beispielsweise wahrscheinlich keine Namensdatensätze von Google gespeichert.

Sie können die für eine bestimmte Domain maßgeblichen Nameserver host -t ns example.comabrufen, indem Sie ausführen , um den NS-Eintrag für example.com abzurufen.

Bei Google sehen wir:

$ 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.

Wenn Sie anschließend Ihren nslookupBefehl auf einem dieser Server ausführen , erhalten Sie die maßgebliche Antwort:

$ 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

Wenn Sie nslookupden NS-Datensatztyp verwenden, können Sie im interaktiven Modus Folgendes ausführen:

$ 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

Das Setzen querytype=nsmacht also, was der obige hostBefehl getan hat.

cjc
quelle
nur neugierig ... was #bedeutet in Address: 127.0.0.1#53?
Cwhsu
Ratet mal wegen dem Abhörport oder? Wie das, was hier steht nlp.stanford.edu/IR-book/html/htmledition/dns-resolution-1.html
cwhsu
24

Nicht autorisierende Antwort bedeutet einfach, dass die Antwort für den abgefragten Domänennamen nicht vom autorisierenden DNS-Server abgerufen wird.

Zuerst müssen Sie verstehen, wie das DNS-System funktioniert. Das DNS-System kann in drei Ebenen unterteilt werden. Sie sind:

  • Root-DNS-Server
  • DNS-Server der obersten Ebene
  • autorisierende DNS-Server

Es gibt eine andere Klasse von DNS-Servern, die in der Regel als lokaler DNS-Server bezeichnet wird und deren IP-Adresse in Ihrem Betriebssystem angegeben ist.

Wenn Ihr Browser eine Verbindung zu einer Website wie example.com herstellt, fragt der Browser zunächst Ihren lokalen DNS-Server ab, um die IP-Adresse von example.com abzurufen.

  • Wenn der lokale DNS-Server nicht über den A-Eintrag von example.com verfügt, wird einer der Stamm-DNS-Server abgefragt.

  • Der Root-DNS-Server sagt: Ich habe keinen A-Eintrag, kenne aber den DNS-Server der obersten Ebene, der für .com-Domains verantwortlich ist.

  • Dann fragt Ihr lokaler DNS-Server den DNS-Server der obersten Ebene ab, der für .com-Domänen verantwortlich ist. Der TLD-DNS-Server antwortet: Ich weiß es auch nicht, aber ich weiß, welcher DNS-Server für example.com maßgeblich ist.

  • Ihr lokaler DNS-Server fragt also den autorisierenden DNS-Server ab. Da der tatsächliche DNS-Eintrag auf diesem autorisierenden DNS-Server gespeichert ist, gibt er Ihrem lokalen DNS-Server eine Antwort.

Dann wird dieses Abfrageergebnis auf Ihrem lokalen DNS-Server zwischengespeichert, es kann jedoch veraltet sein. Nach Ablauf der TTL-Zeit aktualisiert Ihr lokaler DNS-Server das Abfrageergebnis vom autorisierenden DNS-Server. Wenn Sie einen DNS-Eintrag auf Ihrem lokalen DNS-Server abfragen, wird eine nicht autorisierende (inoffizielle) Antwort zurückgegeben. Wenn Sie eine autorisierende Antwort wünschen, müssen Sie den autorisierenden DNS-Server explizit angeben, wenn Sie nslookup oder andere Dienstprogramme verwenden. Ich denke, ein lokaler DNS-Server sollte als Caching-DNS-Server bezeichnet werden.

Wenn jemand einen Domainnamen registriert, kann er angeben, welcher DNS-Server der autorisierende DNS-Server ist. Diese Informationen werden als NS-Datensatz bezeichnet. Der NS-Eintrag teilt einem DNS-Server der obersten Ebene mit, welcher Nameserver den A-Eintrag, den MX-Eintrag usw. der Domäne enthält.

LinuxBabe
quelle
4
Dies erklärte viel mehr als alle anderen Antworten zusammen. Das Erläutern der Topologie der Funktionsweise von DNS ist äußerst hilfreich, um den Kontext für dieses Problem bereitzustellen.
Levi Roberts
1

Vom 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

TheLogicGuy
quelle