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 голос | спросил user1179459 1 AM00000050000004531 2012, 05:49:45

4 ответа


83

В принципе, это то, что говорит это имя. Авторитетный ответ исходит от сервера имен, который считается авторитетным для домена, в котором он возвращает запись (один из серверов имен в списке для домена, на который вы выполнили поиск), и неавторитический ответ поступает откуда угодно (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-записи с авторитетных серверов где-то по линии.

ответил HopelessN00b 1 AM00000060000002231 2012, 06:20:22
29

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

ответил cjc 1 AM00000060000002331 2012, 06:26:23
15

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

ответил LinuxBabe 7 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 07 Sep 2015 07:22:10 +0300 2015, 07:22:10
0

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

ответил TheLogicGuy 24 42016vEurope/Moscow11bEurope/MoscowThu, 24 Nov 2016 22:11:55 +0300 2016, 22:11:55

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132