Для некоторых доменов 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
domain-name-system
nslookup
user1179459
источник
источник
Ответы:
По сути, это то, что говорит название. Авторитетный ответ приходит от сервера имен, который считается авторитетным для домена, для которого он возвращает запись (один из серверов имен в списке для домена, на котором вы выполняли поиск), а неавторизованный ответ приходит из любого другого места ( nameserver нет в списке для домена, на котором вы сделали поиск).
По сути, это различие между сервером имен, который является официальным сервером имен для запрашиваемого домена, и сервером имен, который этого не делает. Серверы имен, которые не являются авторитетными, получают свои ответы второй (или третьей, или четвертой ...) рукой - просто передают информацию откуда-то еще.
Так, например, если бы я выполнил nslookup
maps.google.com
прямо сейчас, я бы получил ответ от одного из моих сконфигурированных серверов имен. (Либо из моего интернет-провайдера, либо из моего домена.) Он вернется как неавторизованный, потому что ни сервер имен, ни мой провайдер не находятся в списке серверов имен дляgoogle.com
. Они не являются серверами имен Google, поэтому они не являются официальным источником, создающим записи NS.Список авторитетных серверов имен для Google приведен ниже (от whois.internic.net).
Если бы я изменил свой сконфигурированный DNS-сервер на один из тех, что в этом списке, а затем сделал
nslookup
противmaps.google.com
, я получил бы верный ответ. Эти серверы являются полномочиями (или источником) того, какие имена являются допустимыми в доменах Google, а какие нет. Все остальные серверы имен, не авторизованные серверы имен, получают свои записи NS с авторитетных серверов где-то в будущем.источник
Ответ, который вы получили, по сути является кэшированным или перенаправленным ответом с вашего локального DNS-сервера. По сути, неавторизованный сервер имен - это сервер, который не содержит записей для запрашиваемой зоны; Например, в вашем локальном DNS, скорее всего, не будет записей имен Google.
Вы можете получить серверы имен, которые являются полномочными для данного домена, запустив
host -t ns example.com
поиск записи NS для example.com.В случае с Google мы видим:
Если вы впоследствии запустите свою
nslookup
команду на одном из этих серверов, вы получите достоверный ответ:Если вы используете
nslookup
, чтобы получить тип записи NS, вы можете запустить что-то вроде этого в интерактивном режиме:Итак, установка
querytype=ns
делает то же, что и вышеприведеннаяhost
команда.источник
#
значит вAddress: 127.0.0.1#53
?Неавторизованный ответ просто означает, что ответ не был получен с официального 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-сервере, но может быть устаревшим. Когда время TTL истекло, ваш локальный DNS-сервер обновит результат запроса с официального DNS-сервера. Всякий раз, когда вы запрашиваете запись DNS на локальном DNS-сервере, он возвращает неавторизованный (неофициальный) ответ. Если вы хотите получить достоверный ответ, вы должны явно указать полномочный DNS-сервер при использовании nslookup или других утилит. Я думаю, что локальный DNS-сервер должен называться кэширующим DNS-сервером.
Когда кто-то регистрирует доменное имя, он / она может указать, какой DNS-сервер является официальным DNS-сервером. Эта информация называется записью NS. Запись NS сообщит DNS-серверу домена верхнего уровня, какой сервер имен содержит запись A домена, запись MX и т. Д.
источник
Из 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
источник