DNS - NSLOOKUP qual è il significato della risposta non autorevole?


117

Per alcuni domini nslookupmi dà una Non-authoritative answersezione. Cosa significa questo?

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 non è in realtà un nome di dominio di esempio haha;) ... RFC suggerisce di usare example.com. vedi iana.org/domains/reserved
Mzn

Risposte:


99

Fondamentalmente, è come dice il nome. Una risposta autorevole proviene da un nameserver che è considerato autorevole per il dominio per il quale sta restituendo un record (uno dei nameserver nell'elenco per il dominio in cui è stata cercata) e una risposta non autorevole proviene da qualsiasi altra parte (un nameserver non nell'elenco per il dominio su cui hai effettuato una ricerca).

Fondamentalmente è una distinzione tra un nameserver che è un nameserver ufficiale per il dominio che stai interrogando e un nameserver che non lo è. I server dei nomi che non sono autorevoli stanno ottenendo le loro risposte seconda (o terza o quarta ...) mano - semplicemente trasmettendo le informazioni da qualche altra parte.

Quindi, per esempio, se avessi fatto un nslookup in maps.google.comquesto momento, avrei ricevuto una risposta da uno dei miei nameserver configurati. (O dal mio ISP o dal mio dominio.) Tornerebbe come non autorevole perché né i nameserver del mio ISP, né i miei sono nella lista dei nameserver per google.com. Non sono i nameserver di Google, quindi non sono la fonte autorevole che crea i record NS.

L'elenco dei nameserver autorevoli per Google è riportato di seguito (da whois.internic.net).

Nome dominio: GOOGLE.COM

Cancelliere: MARKMONITOR INC.

Server Whois: whois.markmonitor.com

Nome server: NS1.GOOGLE.COM

Nome server: NS2.GOOGLE.COM

Nome server: NS3.GOOGLE.COM

Nome server: NS4.GOOGLE.COM

Data aggiornata: 20-lug-2011

Data di creazione: 15-set-1997

Data di scadenza: 14-set-2020

Se cambiassi il mio server DNS configurato con uno dei server in quella lista e poi fossi nslookupcontrario maps.google.com, avrei ricevuto una risposta autorevole. Questi server sono l'autorità (o la fonte) per quelli che sono nomi validi nei domini di Google e cosa no. Tutti gli altri nameserver, nameserver non autorevoli, ottengono i loro record NS dai server autorevoli da qualche parte lungo la linea.


35

La risposta che hai ricevuto è essenzialmente una risposta memorizzata nella cache o inoltrata dal tuo server DNS locale. Fondamentalmente, un server dei nomi non autorevole è uno che non contiene i record per la zona da interrogare; il tuo DNS locale probabilmente non avrà i record dei nomi di Google, ad esempio.

È possibile ottenere i server dei nomi autorevoli per un determinato dominio eseguendo host -t ns example.comper recuperare il record NS per example.com.

Nel caso di Google, vediamo:

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

Se successivamente esegui il tuo nslookupcomando su uno di quei server, otterrai la risposta autorevole:

$ 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

Se stai usando nslookup, per ottenere il tipo di record NS, puoi eseguire qualcosa del genere in modalità interattiva:

$ 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

Quindi, l'impostazione querytype=nsfa ciò che ha fatto il hostcomando sopra .


solo curioso ... cosa #significa Address: 127.0.0.1#53?
cwhsu,

Indovina a causa della porta di ascolto giusto? Come è stato affermato qui nlp.stanford.edu/IR-book/html/htmledition/dns-resolution-1.html
cwhsu

24

La risposta non autorevole significa semplicemente che la risposta non viene recuperata dal server DNS autorevole per il nome di dominio richiesto.

Per prima cosa devi capire come funziona il sistema DNS. Il sistema DNS può essere diviso in tre livelli. Loro sono:

  • server DNS di root
  • server DNS di dominio di primo livello
  • server DNS autorevoli

Esiste un'altra classe di server DNS di solito chiamata server DNS locale il cui indirizzo IP è specificato sul sistema operativo.

Quando il browser si connette a un sito Web, ad esempio example.com, il browser richiede innanzitutto al server DNS locale di ottenere l'indirizzo IP di example.com.

  • Se il server DNS locale non ha il record A di example.com, eseguirà una query su uno dei server DNS principali.

  • Il server DNS radice dirà: Non ho il record A ma conosco il server DNS di dominio di livello superiore che è responsabile per i domini .com.

  • Quindi il tuo server DNS locale interroga il server DNS di dominio di livello superiore responsabile dei domini .com. Il server DNS TLD risponderà: non lo so neanche io, ma so quale server DNS è autorevole per esempio.com.

  • Quindi il tuo server DNS locale interroga il server DNS autorevole. Perché il record DNS effettivo è archiviato su quel server DNS autorevole, quindi darà una risposta al server DNS locale.

Quindi questo risultato della query viene memorizzato nella cache sul server DNS locale ma può essere obsoleto. Allo scadere del tempo TTL, il server DNS locale aggiornerà il risultato della query dal server DNS autorevole. Ogni volta che si esegue una query su un record DNS sul server DNS locale, viene restituita una risposta non autorevole (non ufficiale). Se si desidera una risposta autorevole, è necessario specificare esplicitamente il server DNS autorevole quando si utilizza nslookup o altre utilità. Penso che un server DNS locale debba essere chiamato server DNS di cache.

Quando qualcuno registra un nome di dominio, può specificare quale server DNS è il server DNS autorevole. Questa informazione è chiamata record NS. Il record NS indicherà a un server DNS di dominio di livello superiore quale nameserver detiene il record A del dominio, il record MX, ecc.


4
Questo ha spiegato molto più di tutte le altre risposte combinate. Spiegare la topologia di come funziona il DNS è estremamente utile nel fornire il contesto per questo problema.
Levi Roberts,

1

Da 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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.