DNS - NSLOOKUP jakie jest znaczenie nieautorytatywnej odpowiedzi?

117

Dla niektórych domen nslookupdaje mi Non-authoritative answersekcję. Co to znaczy?

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
użytkownik1179459
źródło
14
www.xxx.com nie jest tak naprawdę przykładową nazwą domeny haha;) ... RFC sugeruje użycie example.com. zobacz iana.org/domains/reserved
MZN

Odpowiedzi:

99

Zasadniczo jest tak, jak mówi nazwa. Autorytatywna odpowiedź pochodzi od serwera nazw, który jest uważany za autorytatywny dla domeny, dla której zwraca rekord (jeden z serwerów nazw na liście dla domeny, na której sprawdzałeś), a nieautorytatywna odpowiedź pochodzi z dowolnego miejsca ( serwera nazw nie ma na liście dla domeny, na której sprawdzałeś).

Jest to w zasadzie rozróżnienie między serwerem nazw, który jest oficjalnym serwerem nazw dla domeny, której dotyczy zapytanie, a serwerem nazw, który nie jest. Serwery nazw, które nie są autorytatywne, otrzymują odpowiedzi na drugą (lub trzecią lub czwartą ...) rękę - po prostu przekazują informacje z innego miejsca.

Na przykład, jeśli maps.google.comzrobiłbym teraz nslookup , otrzymałbym odpowiedź od jednego z moich skonfigurowanych serwerów nazw. (Z mojego ISP lub z mojej domeny.) Wróciłoby ono jako nieautorytatywne, ponieważ ani serwerów nazw mojego ISP, ani mojego własnego nie ma na liście serwerów nazw dla google.com. Nie są serwerami nazw Google, więc nie są wiarygodnym źródłem, które tworzy rekordy NS.

Lista autorytatywnych serwerów nazw dla Google znajduje się poniżej (od whois.internic.net).

Nazwa domeny: GOOGLE.COM

Sekretarz: MARKMONITOR INC.

Serwer Whois: whois.markmonitor.com

Serwer nazw: NS1.GOOGLE.COM

Serwer nazw: NS2.GOOGLE.COM

Serwer nazw: NS3.GOOGLE.COM

Serwer nazw: NS4.GOOGLE.COM

Data aktualizacji: 20 lipca 2011 r

Data utworzenia: 15-wrz-1997

Data ważności: 14 września 2020 r

Gdybym zmienił skonfigurowany serwer DNS na jeden z tych na tej liście, a następnie zrobiłbym to nslookupprzeciwko maps.google.com, dostałbym autorytatywną odpowiedź. Te serwery są autorytetem (lub źródłem) dla prawidłowych nazw w domenach Google, a które nie. Wszystkie inne serwery nazw, nieautorytatywne serwery nazw, pobierają swoje rekordy NS z autorytatywnych serwerów gdzieś poniżej linii.

Beznadziejny
źródło
35

Otrzymana odpowiedź to w zasadzie buforowana lub przesłana odpowiedź z lokalnego serwera DNS. Zasadniczo, nieautorytatywny serwer nazw to taki, który nie zawiera rekordów dla zapytanej strefy; Twój lokalny DNS prawdopodobnie nie będzie miał na przykład rekordów nazw Google.

Możesz uzyskać serwery nazw, które są autorytatywne dla danej domeny, uruchamiając w host -t ns example.comcelu pobrania rekordu NS na przykład example.com.

W przypadku Google widzimy:

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

Jeśli następnie uruchomisz nslookuppolecenie na jednym z tych serwerów, uzyskasz autorytatywną odpowiedź:

$ 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

Jeśli używasz nslookup, aby uzyskać typ rekordu NS, możesz uruchomić coś takiego w trybie interaktywnym:

$ 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

Tak więc ustawienie querytype=nsrobi to, co hostzrobiło powyższe polecenie.

cjc
źródło
po prostu ciekawy ... co to #znaczy Address: 127.0.0.1#53?
cwhsu
Zgadnij z powodu portu nasłuchującego, prawda? Podobnie jak w tym, co jest tu napisane nlp.stanford.edu/IR-book/html/htmledition/dns-resolution-1.html
cwhsu
24

Odpowiedź nieautorytatywna oznacza po prostu, że odpowiedź nie jest pobierana z autorytatywnego serwera DNS dla nazwy domeny, której dotyczy zapytanie.

Najpierw musisz zrozumieć, jak działa system DNS. System DNS można podzielić na trzy poziomy. Oni są:

  • root serwerów DNS
  • serwery DNS domeny najwyższego poziomu
  • autorytatywne serwery DNS

Istnieje inna klasa serwera DNS, zwana zwykle lokalnym serwerem DNS, którego adres IP jest określony w systemie operacyjnym.

Gdy przeglądarka łączy się ze stroną internetową, powiedz example.com, przeglądarka najpierw wysyła zapytanie do lokalnego serwera DNS, aby uzyskać adres IP example.com.

  • Jeśli lokalny serwer DNS nie ma rekordu A example.com, prześle zapytanie do jednego z głównych serwerów DNS.

  • Główny serwer DNS powie: Nie mam rekordu A, ale znam serwer DNS domeny najwyższego poziomu, który jest odpowiedzialny za domeny .com.

  • Następnie lokalny serwer DNS wysyła zapytanie do serwera DNS domeny najwyższego poziomu, który jest odpowiedzialny za domeny .com. Serwer DNS TLD odpowie: Nie wiem też, ale wiem, który serwer DNS jest autorytatywny na przykład example.com.

  • Twój lokalny serwer DNS wysyła zapytania do autorytatywnego serwera DNS. Ponieważ rzeczywisty rekord DNS jest przechowywany na tym autorytatywnym serwerze DNS, więc udzieli on lokalnego serwera DNS odpowiedzi.

Następnie ten wynik zapytania jest buforowany na lokalnym serwerze DNS, ale może być nieaktualny. Po upływie czasu TTL lokalny serwer DNS zaktualizuje wynik zapytania z autorytatywnego serwera DNS. Każde zapytanie dotyczące rekordu DNS na lokalnym serwerze DNS zwraca odpowiedź nieautorytatywną (nieoficjalną). Jeśli chcesz uzyskać autorytatywną odpowiedź, musisz jawnie określić autorytatywny serwer DNS podczas korzystania z nslookup lub innych narzędzi. Myślę, że lokalny serwer DNS powinien być nazywany buforującym serwerem DNS.

Gdy ktoś rejestruje nazwę domeny, może określić, który serwer DNS jest autorytatywnym serwerem DNS. Ta informacja nazywa się rekordem NS. Rekord NS poinformuje serwer DNS domeny najwyższego poziomu, który serwer nazw przechowuje rekord A domeny, rekord MX itp.

LinuxBabe
źródło
4
Wyjaśniało to znacznie więcej niż wszystkie inne odpowiedzi łącznie. Wyjaśnienie topologii działania DNS jest niezwykle przydatne w kontekście tego problemu.
Levi Roberts
1

Z 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
źródło