Для некоторых доменов 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
По сути, это то, что написано в названии. Авторитетный ответ исходит от сервера имен, который считается авторитетным для домена, для которого он возвращает запись (один из серверов имен в списке для домена, на котором вы производили поиск), а неавторизованный ответ приходит откуда-либо еще ( сервер имен отсутствует в списке домена, по которому вы выполняли поиск).
По сути, это различие между сервером имен, который является официальным сервером имен для запрашиваемого домена, и сервером имен, который не является. Серверы имен, которые не являются авторитетными, получают свои ответы из вторых (или третьих или четвертых ...) рук - просто передавая информацию откуда-то еще.
Так, например, если я выполнил nslookup maps.google.com
прямо сейчас я получу ответ от одного из моих настроенных серверов имен. (Либо от моего интернет-провайдера, либо от моего домена.) Он вернется как неавторизованный, потому что ни мои серверы имен, ни мои собственные не входят в список серверов имен для google.com
. Они не являются серверами имен Google, поэтому они не являются авторитетным источником, создающим записи NS.
Список авторитетных серверов имён для Google ниже (с сайта whois.internic.net).
Доменное имя: GOOGLE.COM
Регистратор: MARKMONITOR INC.
Сервер 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, вероятно, не будет иметь, например, записей имен 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
команда сделала.
Неавторизованный ответ просто означает, что ответ не получен с авторитетного 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: 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