DNS - NSLOOKUP, что означает неавторизованный ответ?

Для некоторых доменов 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

5 ответов

Решение

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

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

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

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

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

Регистратор: МАРКМОНИТОР ИНК.

Сервер Whois: whois.markmonitor.com

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

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

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

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

Дата обновления: 20 июля 2011

Дата создания: 15 сентября 1997

Срок годности: 14 сентября 2020 г.

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

Неавторизованный ответ просто означает, что ответ не был получен с официального 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 и т. Д.

Ответ, который вы получили, по сути является кэшированным или перенаправленным ответом с вашего локального 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 Команда сделала.

Из 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

Неавторитетные серверы имен не содержат исходных файлов доменной зоны. У них есть файл кэша для доменов, созданный на основе всех ранее выполненных поисков DNS. Если DNS-сервер ответил на DNS-запрос, в котором нет исходного файла, это называется недостоверным ответом.

Если вы ищете еще более четкое объяснение относительно подключения/взаимодействия серверов друг с другом, обратитесь к: https://www.cloudflare.com/en-in/learning/dns/what-is-dns/.

По ссылке выше представлена ​​подробная информация о том, как именно работает система DNS.

Другие вопросы по тегам