Вопрос: DNS - NSLOOKUP, в чем смысл неавторитического ответа?


Когда я выполняю поиск NS, для некоторых доменов я получаю ответ, говорящий Non-authorative 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:    xxx.com
Address:  199.1xx.xx.1xx
Aliases:  www.xxx.com

91
2017-08-01 01:49


Источник


www.xxx.com на самом деле не является примером доменного имени haha;) ... RFC предлагает вам использовать example.com. видеть iana.org/domains/reserved - Mzn


Ответы:


По сути, это то, что говорит это имя. Авторитетный ответ исходит от сервера имен, который считается авторитетным для домена, в котором он возвращает запись (один из серверов имен в списке для домена, на который вы выполнили поиск), и неавторитический ответ поступает откуда угодно (a nameserver не входит в список для домена, на который вы выполнили поиск).

В основном это различие между сервером имен, который является официальным сервером имен для домена, который вы запрашиваете, и сервером имен, которого нет. Nameservers, которые не являются авторитетными, получают ответы на вторую (или третью или четвертую ...) руку - просто передавая информацию откуда-то еще.

Так, например, если я сделал nslookup maps.google.com прямо сейчас, я получаю ответ от одного из моих настроенных серверов имен. (Либо от моего интернет-провайдера, либо от моего домена.) Он вернется как не авторитарный, поскольку ни серверы имен моих ISP, ни мои собственные не входят в список серверов имен для google.com, Они не являются серверами имен Google, поэтому они не являются авторитетным источником, который создает записи NS.

Список авторитетных серверов имен для Google ниже (от whois.internic.net).

Доменное имя: GOOGLE.COM

Регистратор: MARKMONITOR INC.

Whois Server: whois.markmonitor.com

Сервер имен: NS1.GOOGLE.COM

Сервер имен: NS2.GOOGLE.COM

Сервер имен: NS3.GOOGLE.COM

Сервер имен: NS4.GOOGLE.COM

Обновлено Дата: 20-июль-2011

Дата создания: 15-sep-1997

Дата истечения: 14-sep-2020

Если я изменил настроенный DNS-сервер на один из них в этом списке, а затем сделал nslookup против maps.google.com, Я бы получил авторитетный ответ. Эти серверы являются полномочиями (или источником) для действительных имен в доменах Google, а какие нет. Все остальные серверы имен, не авторитарные серверы имен, получают свои NS-записи с авторитетных серверов где-то в очереди.


83
2017-08-01 02:20





Полученный вами ответ по сути является кэшированным или перенаправленным ответом от вашего локального DNS-сервера. В принципе, неавторитетный сервер имен - это тот, который не содержит записей для запрашиваемой зоны; например, у вашего локального DNS, скорее всего, не будет записей имени Google.

Вы можете получить серверы имен, которые являются авторитетными для данного домена, запустив host -t ns example.com для получения NS-записи для example.com.

В случае 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 команды против одного из этих серверов, вы получите авторитетный ответ:

$ 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 команда сделал.


29
2017-08-01 02:26



просто любопытно ... что делает # означает в Address: 127.0.0.1#53? - cwhsu
Угадайте это из-за порта прослушивания? Как указано здесь nlp.stanford.edu/IR-book/html/htmledition/dns-resolution-1.html - cwhsu


Неавторитный ответ просто означает, что ответ не запрашивается у авторитетного DNS-сервера для запрашиваемого имени домена.

Сначала вы должны понять, как работает система DNS. Систему DNS можно разделить на три уровня. Они есть:

  • корневых DNS-серверов
  • DNS-серверы верхнего уровня
  • авторитетные DNS-серверы

Существует еще один класс DNS-сервера, обычно называемый локальным DNS-сервером, чей IP-адрес указан в вашей операционной системе.

Когда ваш браузер подключается к веб-сайту, скажем example.com, браузер сначала запрашивает ваш локальный DNS-сервер, чтобы получить IP-адрес example.com.

  • Если на локальном DNS-сервере нет записи A example.com, будет запрашивать один из корневых DNS-серверов.

  • Корневой DNS-сервер скажет: у меня нет записи A, но я знаю DNS-сервер домена верхнего уровня, который отвечает за .com домены.

  • Затем ваш локальный DNS-сервер запрашивает DNS-сервер домена верхнего уровня, который отвечает за домен .com. DNS-сервер TLD ответит: я тоже не знаю, но я знаю, какой DNS сервер является авторитетным для example.com.

  • Таким образом, ваш локальный DNS-сервер запрашивает авторитетный DNS-сервер. Потому как фактическая запись DNS хранится на этом авторитетном DNS-сервере, поэтому даст вашему локальному DNS-серверу ответ.

Затем этот результат запроса кэшируется на вашем локальном DNS-сервере, но он может быть устаревшим. Когда время TTL истекло, ваш локальный DNS-сервер обновит результат запроса от авторитетного DNS-сервера. Всякий раз, когда вы запрашиваете запись DNS на своем локальном DNS-сервере, он возвращает неавторизированный (неофициальный) ответ. Если вам нужен авторитетный ответ, вы должны явно указать авторитетный DNS-сервер при использовании nslookup или других утилит. Я думаю, что локальный DNS-сервер следует называть кешированием DNS-сервера.

Когда кто-то регистрирует доменное имя, он может указать, какой DNS-сервер является авторитетным DNS-сервером. Эта информация называется NS-записью. В записи NS будет указан DNS-сервер домена верхнего уровня, в котором сервер имен хранит запись A в домене, запись MX и т. Д.


15
2017-09-07 04:22



Это объясняло гораздо больше, чем все другие ответы. Объяснение топологии работы DNS чрезвычайно полезно для обеспечения контекста этой проблемы. - Levi Roberts


Из Лаборатория Wireshark: 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


0
2017-11-24 19:11