Проверка днс записей домена утилита dig

nslookup — это программа для запроса к серверам DNS. С помощью утилиты nslookup можно узнать значение DNS записей домена, узнать IP сайта, узнать сервера имён веб-сайта, почтовые сервера домена и другую информацию.

Программа nslookup умеет работать в двух режимах: интерактивном и не интерактивном.

Утилита и одноименная команда nslookup позволяет обращаться к серверу имен (NS) из командной строки. С ее помощью можно выполнить проверку работы DNS-сервера и созданных в нем записей. В данной инструкции подробно разберем работу с данной утилитой.

nslookup и синтаксис
Описание опций
Примеры
Аналоги

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

This article will introduce the nslookup command which is used for obtaining server records. It will also provide examples of the command’s most popular options.

How to use the nslookup command with examples.
  • Access to the command line interface
  • Access to internet

Note: If you are not familiar with DNS record types, we strongly recommend you read DNS Record Types Explained before diving into this article.

dig — это гибкий инструмент для опроса DNS серверов имён. Он выполняет поиск по DNS и отображает ответы, которые возвращены от сервера или серверов имён. Большинство DNS администраторов используют dig для решения проблем DNS из-за его гибкости, простоты использования и ясности вывода. Другие инструменты поиска имеют меньшую функциональность чем dig.

Хотя обычно dig используется с аргументами командной строки, он также имеет пакетный режим обработки считываемых из файла запросов для поиска.

Если в запросе не указан определённый сервер имён, dig попытается использовать каждый из серверов, перечисленных в файле /etc/resolv.conf. Если рабочий сервер не найден, то dig отправить запрос на локальный хост.

The most efficient way to check DNS records in Linux is using dig command. This command will send the DNS query to the name servers listed in the resolver(/etc/resolv.conf). It allows you to query information about various DNS records, including A record, MX record CNAME record etc.

  • dig dnsrecords.com
  • dig @8.8.8.8 dnsrecords.com
  • dig dnsrecords.com ANY
  • dig dnsrecords.com +short
  • dig dnsrecords.com +trace
Содержание
  1. How to use Dig command
  2. Check DNS A record with Dig command
  3. Query DNS PTR record with dig command
  4. Query DNS MX record with dig command
  5. Get DNS records Against a specific DNS server with dig command
  6. Basic Syntax of Nslookup
  7. Domain name to IP Address Lookup
  8. IP Address to Domain name Lookup
  9. Find the NS Records of a Domain
  10. Find the MX Records of a Domain
  11. Find the SOA Records of a Domain
  12. Find All DNS Records Of a Domain
  13. Enable Debug mode with Nslookup
  14. Use Alternate DNS Server
  15. Troubleshoot DNS Resolution Issues
  16. Conclusion
  17. Поддержка IDN
  18. Использование другого порта для DNS запросов
  19. Связанные статьи
  20. Неинтерактивный режим nslookup
  21. Проблемы и решения
  22. Как узнать все DNS записи домена
  23. Примеры использования
  24. Отсутствие закрывающей точки
  25. Как сделать DNS запрос по протоколу TCP
  26. Смотрите также статьи
  27. Как показать A запись домена
  28. Также смотрите
  29. Поиск A и AAAA записей (IP адрес сайта) с nslookup
  30. Классы имён DNS
  31. Поддержка IDN
  32. Как включить режим отладки nslookup
  33. Как по IP адресу узнать имя хоста в nslookup
  34. Одновременный запрос множества DNS записей
  35. Dig возвращает пустой ответ
  36. Отсутствие A-записей для дочерних NS
  37. CNAME и другие записи
  38. Запрещены запросы к DNS-серверу
  39. Как в dig сделать обратный DNS запрос — как по IP получить имя хоста
  40. Dig с NS-серверов
  41. Ввод команды и синтаксис
  42. Dig с первичного сервера имен
  43. Как в dig вывести только секцию ответа
  44. Connection timed out
  45. Как в nslookup указать сервер для запросов
  46. Поиск записей MX (Mail Exchange)
  47. Запрос SOA записи для домена
  48. Показ цепочки DNS серверов, используемых при DNS запросах
  49. Transfer failed
  50. Как в dig вывести только IP адрес без дополнительных строк
  51. Как узнать IP адрес субдомена
  52. Интерактивный режим nslookup
  53. Опции nslookup
  54. Использование опций
  55. Как указать сервер имён для DNS запросов
  56. Как вывести все DNS записи для домена
  57. Installing nslookup
  58. View Domain’s NS Records
  59. View Domains MX Records
  60. Perform a Reverse DNS Lookup
  61. View SOA Records
  62. View Text Records
  63. View All Records
  64. View Information About a Specific Name Server
  65. View Pointer Records
  66. Query a Non-Default Port
  67. View Debugging Information
  68. Как просмотреть MX записи для домена
  69. Аналоги nslookup
  70. Связанные статьи
  71. Nslookup Syntax
  72. nslookup Options
  73. Whois
  74. Dig +trace
  75. Как получить авторитативный ответ?
  76. Что означает Non-authoritative answer
  77. DNS запрос записей SOA (Start of Authority)

How to use Dig command

  1. server – the IP address or hostname of the name server to query. It is optional and if we don’t provide a server argument then dig uses the name server listed in /etc/resolv.conf.
  2. name – the name of the resource record that is to be looked up.
  3. record type – the type of query requested by dig. For example, it can be an A record, MX record, SOA record or any other types.

Check DNS A record with Dig command

The A stands for address and this is the most fundamental type of DNS record. A record is used to point a domain or subdomain to an IP address. We can use this command to query A record for a domain name. For example:

$ dig www.howtouselinux.com
www.howtouselinux.com. 0 IN A 23.236.62.147

Query DNS PTR record with dig command

A PTR record is well-known as the reverse version of an A record. We can get the PTR record with this command. This is the PTR record for IP address 23.236.62.147.

Query DNS MX record with dig command

$ dig google.com mx
google.com. 0 IN MX 10 aspmx.l.google.com.
google.com. 0 IN MX 20 alt1.aspmx.l.google.com.
google.com. 0 IN MX 50 alt4.aspmx.l.google.com.
google.com. 0 IN MX 30 alt2.aspmx.l.google.com.
google.com. 0 IN MX 40 alt3.aspmx.l.google.com.

Get DNS records Against a specific DNS server with dig command

Проверка днс записей домена утилита dig

dig (сокращение от «domain information groper») — утилита DNS-клиент.

Утилита dig использует обычную командную строку для формирования запросов о доменах DNS-серверам. Формат команды dig следующий:

dig [@server] domain [query-type] [query-class] [+query-option] [-dig-otion] [%comment]

Параметр +query-option используется для изменения значения параметра в пакете DNS или для изменения формата вывода результатов работы dig. Большинство этих параметров пересекаются с параметрами программы nslookup. Ниже показаны параметры, которые можно использовать в запросе с dig.

Параметр	Описание
[no]debug	Включает/выключает режим отладки
[no]d2	Включает/выключает режим полной отладки
[no]recurse	Использовать/не использовать рекурсивные цепи
retry=#	Устанавливает число повторов запроса
time=#	Устанавливает длину интервала ожидания
[no]ko	Оставляет открытой опцию (реализует vc )
[no]vc	Использовать/не использовать виртуальную цепь
[no]defname	Использовать/не использовать домен по умолчанию
[no]search	Использовать/не использовать список поиска
domain=NAME	Устанавливает домен по умолчанию с именем NAME
[no]ignore	Игнорировать/не игнорировать ошибки при усечении
[no]primary	Использовать/не использовать главный сервер
[no]aaonly	Флажок для авторитетного запроса
[no]trace Показыввать трассу запросов
[no]cmd Отображать аргументы при анализе
[no]stats	Вывод статистики по запросу
[no]Header	Вывод основного заголовка
[no]header	Вывод флагов заголовка
[no]ttlid	Отображение TTL
[no]cl	Вывод информации о классе
[no]qr	Отображение исходящего запроса
[no]reply	Вывод ответа
[no]ques	Вывод поля вопроса
[no]answer	Вывод поля ответа
[no]author	Вывод поля полномочий
[no]addit	Вывод поля дополнительной информации
pfdef	Устанавливает вывод флагов по умолчанию
pfmin	Устанавливает минимальный вывод флагов
pfset=#	Устанавливает число выводимых флагов #
pfand=#	Вывод # флагов поразрядно через операцию AND
pfor=#	Вывод # флагов поразрядно через операцию OR

Параметр -dig-otion используется для задания других опций, влияющих на работу dig.

Параметр	Описание
-x	Указывает инверсное преобразование адреса в нормальном написании
-f	Считывает файл для дальнейшей пакетной обработки
-T	Время в секундах до включения режима пакетной обработки
-p	Номер используемого порта
-P	После получения ответа выдать команду ping
-t	Указывает тип запроса
-c	Указывает класс запроса
-envsav	Параметры dig должны быть сохранены для дальнейшего использования по умолчанию

В dig для вывода только секции ответа используйте ключи +noall +answer

# dig dieg.info +noall +answer
dieg.info.	891	IN	A	185.253.219.218

С помощью опции +short вывод команды dig будет ограничен исключительно IP адресом. Ниже примеры для А и MX записей:

# dig dieg.info +short185.253.219.218
 # dig dieg.info mx +short mail.dieg.info.

Программа dig позволяет делать запрос и выводить информацию для различных типов DNS ресурсов. Чтобы показать какие MX записи у домена выполните команду:

dig dieg.info mx

Для сокращения выводимой информации запрашиваемый тип записи (а также другие опции) можно комбинировать с опцией +short:

dig dieg.info mx +short

Подтверждение права собственности на домен в Google Console на примере провайдера Namecheap.

Подтвердив право собственности на домен, вы сможете пользоваться своим сервисом Google, например G Suite, Drive Enterprise или Cloud Identity. Аккаунт G Suite открывает доступ к Gmail, Google Диску и другим службам.

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

Проверить правильность настройки при помощи утилиты dig

 example.com txt 8.8.8.8

dig позволяет увидеть подробную картину разрешения имени. Для того чтобы убедиться, что сервер или резолвер работает корректно, можно использовать следующие команды, предварительно добавив в конфигурационный файл ключ домена в качестве доверенного:

dig @xx.xx.xx.xx www.m-system.net +dnssec

xx.xx.xx.xx — ip адрес Вашего резолвера, поддерживающего ГОСТ. После выполнения этой команды в ответе должен присутствовать флаг ad — данные подтверждены.
Если ad флаг отсутствует, но Вы запрашиваете адрес имени из домена, ключ которого Вы добавили в доверенные — что-то не так.

Ответ SERVFAIL значит, что подпись не соответствует доверенному ключу либо отсутствует.

In the internet world, computers & devices always identify each other with a unique identification number called an IP address.

DNS stands for Domain Name System and computers use this to translate domain names to their IP addresses so that browsers can load the requested website.

When DNS stops working, you cannot access websites or send any emails.

If this is the case, you will need to troubleshoot and fix the DNS issues in order to access the website.

Nslookup stands for “name server lookup” and it is a command-line tool used to troubleshoot and verify DNS servers and records, and fix the name server related problems.

With Nslookup, you can find the IP address of any website by its name and also find the detailed information of the various DNS records of the specific domain name.

In this guide, we will show you how to use Nslookup to check DNS records with examples.

Basic Syntax of Nslookup

By default, Nslookup is installed in most Windows based operating systems.

To find all the options available with the Nslookup command, run the nslookup command hit Enter then type ? and hit Enter again.

Проверка днс записей домена утилита dig

Domain name to IP Address Lookup

nslookup your-domain.com

Проверка днс записей домена утилита dig

The Nslookup utility queries the DNS server and returns with the IP address as shown in the above screen.

IP Address to Domain name Lookup

Проверка днс записей домена утилита dig

Find the NS Records of a Domain

If you want to find which name servers are authoritative for a domain, by set the query type to NS and enter the domain name as shown below:

nslookup -type=ns your-domain.com

nslookup -type=ns yahoo.com

Проверка днс записей домена утилита dig

Find the MX Records of a Domain

nslookup -type=mx your-domain.com

Проверка днс записей домена утилита dig

Find the SOA Records of a Domain

nslookup -type=soa your-domain.com

Проверка днс записей домена утилита dig

Find All DNS Records Of a Domain

nslookup -type=any your-domain.com

nslookup -type=any yahoo.com

Проверка днс записей домена утилита dig

Enable Debug mode with Nslookup

If you want to display more information about your query and answer, you will need to enable debug mode with Nslookup.

Читайте также:  Оптимизируйте управление журналами с помощью нашей надежной службы системного журнала

nslookup -debug yahoo.com

Проверка днс записей домена утилита dig

Use Alternate DNS Server

If you run into issues accessing your website on your internal network, this may be a problem related to your internal DNS server.

In this case, you can use google DNS server to troubleshoot the issue.

1. Open the command line terminal, type nslookup and hit Enter to open nslookup in interactive mode.

Проверка днс записей домена утилита dig

2. Type “server google-dns-server-ip” and hit Enter.

Проверка днс записей домена утилита dig

Troubleshoot DNS Resolution Issues

In this section, we will learn how to troubleshoot DNS when DNS resolution is not working.

1. Check Network Connectivity

The first thing you should check is your network connectivity.

Проверка днс записей домена утилита dig

Here you should see a valid active internet connection.

2. Check your DNS Server Connectivity

Next, you need to find the IP address of your DNS server and check whether it is reachable or not.

Проверка днс записей домена утилита dig

In the above screen, you should see that your DNS server IP address is 100.100.2.136 and 100.100.2.138.

Next lets open the command-line interface (Start > RUN > type cmd and hit enter) and run the ping command to check the DNS server connectivity as shown below:

Проверка днс записей домена утилита dig

In the above screen, you should see that the DNS server is reachable from your computer.

3. Flush DNS Cache

The DNS cache stores the information of all visited websites, IP addresses and resource records.

Using an outdated DNS cache can lead to DNS resolution errors, so it is recommended that you flush the DNS cache periodically.

Проверка днс записей домена утилита dig

4. Release/Renew your DHCP Server IP address

If your network interface is configured to pull DNS information from DHCP server, then there is a possibility of IP address conflict or old DNS server information.

To resolve this, you will need to release and renew your DHCP server IP address.

IPCONFIG /RELEASE
IPCONFIG /RENEW

Conclusion

In the above article, we’ve learned how to troubleshoot DNS related issues with Nslookup command-line utility.

Hopefully the steps and screen shots above can help you resolve any of your issues or get you closer to a resolution

Please leave any questions or comments below!

Поддержка IDN

Если nslookup был скомпилирован с поддержкой IDN (internationalized domain name — интернационализированных доменных имён), он может принимать и отображать доменные имена не ASCII. nslookup соответствующим образом преобразует кодировку символов доменного имени перед отправкой запроса на DNS-сервер или отображением ответа с сервера. Если по какой-то причине вы хотите отключить поддержку IDN, определите переменную среды IDN_DISABLE. Поддержка IDN отключена, если переменная установлена при запуске nslookup или когда стандартный вывод не является tty.

Использование другого порта для DNS запросов

С помощью опции -p вы можете сделать запрос на нестандартный порт сервера, вместо порта по умолчанию 53. Эта опция может использоваться для тестирования сервера имён, который настроен на прослушивание запросов на нестандартном номере порта.

dig -p 5300 zalinux.ru

Связанные статьи

  • Как узнать IP DNS сервера в Linux (100%)
  • Как пользоваться командой dig для DNS запросов (59.4%)
  • Примеры DNS запросов командой host (59.4%)
  • Как в Linux определяется порядок источников для разрешения имён (приоритет файла hosts и DNS) (59.4%)
  • Как настроить локальный DNS используя файл /etc/hosts в Linux (59.4%)
  • Как отобразить данные POST с cURL (РЕШЕНО) (RANDOM — 50%)

Неинтерактивный режим nslookup

Для работы с nslookup в неинтерактивном режиме достаточно указать после команды имя домена для поиска:

nslookup suip.biz

Проверка днс записей домена утилита dig

Проблемы и решения

Вся необходимая для диагностики информация о проблемах, возникшим в работе первичного сервера имен, содержится в логах. По умолчанию DNS-сервер пишет в системный лог /var/log/messages, однако в конфигурации может быть задано ведение логов в отдельном файле, поэтому следует свериться с конфигурацией вашего DNS-сервера. В этом разделе рассмотрены наиболее часто встречающиеся в логах ошибки.

Как узнать все DNS записи домена

nslookup -query=any zalinux.ru

Примеры использования

1. Запрос записи ipv6 для домена mail.ru.

nslookup -type=AAAA mail.ru

б) интерактивный режим:

> set type=AAAA

2. Узнать NS серверы для домена google.com.

nslookup -type=NS google.com

б) интерактивный режим:

> set type=NS

3. Определить mx-записи для yandex.ru через DNS-сервер 8.8.8.8

nslookup -type=MX yandex.ru 8.8.8.8

б) интерактивный режим:

> set type=MX

б) интерактивный режим:

> set type=ptr

Отсутствие закрывающей точки

Иногда в ответе dig можно наблюдать такую картину

[root@dns ~]#
; <<>> DiG 9.7.1-P2 <<>> <domain> @<IP-адрес VDS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1253
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;<domain>.        IN    A
;; ANSWER SECTION:
<domain>.    3600    IN    A    123.123.123.123
;; AUTHORITY SECTION:
<domain>.    3600    IN    NS    ns2.firstvds.ru.<domain>.
<domain>.    3600    IN    NS    ns1.firstvds.ru.<domain>.
;; Query time: 70 msec
;; SERVER: 92.63.103.212#53(92.63.103.212)
;; WHEN: Fri Apr 15 15:49:16 2011
;; MSG SIZE  rcvd: 97

Проблема заключается в том, что при создании доменного имени были указаны некорректные сервера имен. Конкретно в данном случае пропущена закрывающаяся точка в доменном имени ns1.firstvds.ru.

Как сделать DNS запрос по протоколу TCP

С помощью опции +tcp вы можете включить использование TCP при запросах к серверам имён. По умолчанию используется UDP за исключением случаев, если запрошен тип any или ixfr=N, в которых по умолчанию применяется протокол TCP. Запросы AXFR всегда используют TCP.

dig zalinux.ru +tcp

Смотрите также статьи

  • Примеры DNS запросов командой host
  • Как пользоваться командой nslookup для DNS запросов
  • Введение в DNS терминологию, компоненты и концепции

Как показать A запись домена

Информацию о различных типах DNS записях смотрите в статье «Введение в DNS терминологию, компоненты и концепции».

Достаточно указать только домен, для которого делается запрос, например, чтобы узнать A запись (содержит IP адрес сервера, на котором работает данный сайт) для доменного имени zalinux.ru:

dig zalinux.ru

Проверка днс записей домена утилита dig

Большая часть вывода является комментариями — они начинаются с точки с запятой (;)

Первая группа строк показывает версию программы, домен, информацию о котором запрашивается, глобальные опции, информация об ошибках, флаги, количество запросов, ответов и другие данные:

; <<>> DiG 9.14.4 <<>> zalinux.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

Данная группа строк показывает информацию о сделанном запросе, в том числе домен и тип DNS записи.

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;zalinux.ru.	IN	A

Значимая информация содержится в разделе ответа — именно здесь показан IP сайта:

;; ANSWER SECTION:
zalinux.ru.	3799	IN	A	185.26.122.38

Последняя группа комментариев содержит техническую информацию, в том числе время, которое занял запрос; DNS сервер, к которому был сделан запрос; время, когда был сделан запрос и другое:

;; Query time: 484 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Ср июл 24 03:21:13 MSK 2019
;; MSG SIZE rcvd: 55

Также смотрите

Дополнительная информация о DNS и программах для DNS запросов:

Поиск A и AAAA записей (IP адрес сайта) с nslookup

По умолчанию показываются записи A и AAAA. То есть если вы хотите узнать IP сайта, то достаточно запустить команду без опций, достаточно указать только имя домена:

nslookup zalinux.ru

Классы имён DNS

Имена классов IN и CH перекрываются с именами доменов верхнего уровня IN и CH. Либо используйте опции -t и -c для указания типа и класса, либо используйте -q для указания имени домена, либо используйте «IN.» и «CH.» при поиске этих доменов верхнего уровня.

Узнать подробности о работе DNS и структуре этой системы, а также о видах записей DNS вы сможете в статье «Введение в DNS терминологию, компоненты и концепции».

Поддержка IDN

Если dig был собран с поддержкой IDN (internationalized domain name — интернационализированных доменных имён), он может принимать и отображать не-ASCII доменные имена. dig соответствующим образом преобразует кодировку символов имени домена перед отправкой запроса на DNS-сервер или отображением ответа с сервера. Если по какой-либо причине вы хотите отключить поддержку IDN, используйте параметры +noidnin и +noidnout или определите переменную среды IDN_DISABLE.

Как включить режим отладки nslookup

Включив режим отладки вы будете получать более вербальный вывод, в том числе в выводе будет присутствовать такая информация как TTL. Будет показан полны пакет ответа и любые промежуточные покеты ответа полученные во время поиска:

nslookup -debug suip.biz

Проверка днс записей домена утилита dig

Как по IP адресу узнать имя хоста в nslookup

Если вам нужно для IP адреса узнать связанное с ним доменное имя, то достаточно указать этот IP:

nslookup 185.117.153.79
79.153.117.185.in-addr.arpa	name = suip.biz.

Одновременный запрос множества DNS записей

Есть два способа выполнить несколько или сразу множество запросов к DNS серверам в dig.

Один из них — использовать опцию -f, после которой нужно указать файл, содержащий список запросов. Каждая строка в этом файле должна быть организована также, как это делается в запросах, когда используется интерфейс командной строки dig.

Второй вариант — это указать сразу несколько запросов в строке команды. Программа dig не только поддерживает множественность запросов, но и позволяет каждый из них запустить с персональным набором опцией, флагов и опций запросов.

В этом случае каждый аргумент представляет индивидуальный запрос в соответствии с описываемым синтаксисом. Каждый состоит из любых стандартных опций и флагом, имени для получения информации и опционального типа запроса и класса, а также опций запроса, который должны быть применены к этому запросу.

dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr

показывает как dig может использоваться в командной строке для выполнения трёх поисков: ANY запрос для www.isc.org, обратный поиск для 127.0.0.1 и запрос NS записей для isc.org. Применена глобальная опция +qr, поэтому dig для каждого поиска показывает начальный запрос. Финальный запрос имеет локальную (применяемую только для него) опция запроса +noqr, которая означает, что dig не будет печатать начальный запрос когда он ищет NS записи для isc.org.

Dig возвращает пустой ответ

Пустой ответ означает то, что на VDS либо отсутствует файл зоны этого домена, либо то, что при подгрузке файла зоны возникли проблемы. Также причиной может быть отсутствие A-записи в файле зоны. Если в первом случае достаточно будет создать домен на сервере (через ISPmanager или с помощью ручной правки файла зоны, если ISPmanager отсутствует), то во втором потребуется изучить логи DNS-сервера.

Первая ошибка, которую мы рассмотрим — permission denied:

Mar 17 05:53:58 fvds named[19765]: zone fvdstest.com/IN: loading from master file /etc/bind/fvdstest.com failed: permission denied
Mar 17 05:53:58 fvds named[19765]: zone fvdstest.com/IN: not loaded due to errors.

Ошибка говорит о некорректных правах на файл зоны или о некорректном владельце файла:

[root@dns ~]# ls -l /etc/bind/fvdstest.com
-rw-r----- 1 root root 444 Mar 17 05:50 /etc/bind/fvdstest.com

В данном случае проблема именно с владельцем, им должен быть пользователь, от которого запущен bind:

[root@dns ~]# ls -l /etc/bind/fvdstest.com
-rw-r----- 1 bind bind 444 Mar 17 05:50 /etc/bind/fvdstest.com

Также следует обратить внимание на права и группу самой директории /etc/bind/:

[root@dns ~]# ls -ld /etc/bind/
drwxr-sr-x 2 root bind 4096 Mar 15 18:42 /etc/bind

Отсутствие A-записей для дочерних NS

Следующая ошибка в логе:

Mar 17 05:56:55 fvds named[19933]: zone fvdstest.com/IN: NS 'ns1.fvdstest.com' has no address records (A or AAAA)
Mar 17 05:56:55 fvds named[19933]: zone fvdstest.com/IN: NS 'ns2.fvdstest.com' has no address records (A or AAAA)
Mar 17 05:56:55 fvds named[19933]: zone fvdstest.com/IN: not loaded due to errors.

Проблема в том, что в NS-записях указаны дочерние домены третьего уровня, для которых отсутствует A-запись: ‘ns1.fvdstest.com’ и ‘ns2.fvdstest.com’, соответственно, нужно либо указать другие, уже настроенные на другом домене, NS-сервера, либо прописать соответствующие A-записи:

ns1 IN A 10.10.10.10
ns2 IN A 11.11.11.11

CNAME и другие записи

Еще одна достаточно распространенная ошибка:

Mar 17 06:08:39 fvds named[20701]: zone fvdstest.com/IN: loading from master file /etc/bind/fvdstest.com failed: CNAME and other data
Mar 17 06:08:39 fvds named[20701]: zone fvdstest.com/IN: not loaded due to errors.

Записи A и CNAME не могут одновременно сосуществовать для одного домена/поддомена:

test.fvdstest.com. IN A 10.10.10.10
test.fvdstest.com. IN CNAME google.com

После устранения всех ошибок в логе должна появиться следующая запись:

Mar 17 06:13:12 fvds named[20914]: zone fvdstest.com/IN: loaded serial 2014022800

Однако, даже после этого мы можем получить пустой ответ на запрос утилитой dig. Тут вариантов не так много:

Читайте также:  Исправление ошибки «Зона не загружена»: советы и решения по устранению неполадок

По умолчанию утилита dig запрашивает именно A-запись домена, поэтому пустой ответ может означать, что эта запись отсутствует. Пример A-записи:

fvdstest.com. IN A 10.10.10.10

Тут стоит отметить, что в некоторых случаях необходимости в A-записи нет, и чтобы проверить, как отдается та или иная запись, нужно сообщить утилите dig тип запрашиваемой записи:

[root@dns ~]# dig fvdstest.com @188.120.234.14 MX
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> fvdstest.com @10.10.10.10 MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47888
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3
;; QUESTION SECTION:
;fvdstest.com. IN MX
;; ANSWER SECTION:
fvdstest.com. 3600 IN MX 10 mail.fvdstest.com.
fvdstest.com. 3600 IN MX 20 mail.fvdstest.com.
;; AUTHORITY SECTION:
fvdstest.com. 3600 IN NS ns2.fvdstest.com.
fvdstest.com. 3600 IN NS ns1.fvdstest.com.
;; ADDITIONAL SECTION:
mail.fvdstest.com. 3600 IN A 123.123.123.123
ns1.fvdstest.com. 3600 IN A 10.10.10.10
ns2.fvdstest.com. 3600 IN A 11.11.11.11
;; Query time: 1 msec
;; SERVER: 188.120.234.14#53(188.120.234.14)
;; WHEN: Mon Mar 17 08:30:16 2014
;; MSG SIZE rcvd: 151

Замечание: для получения всех записей можно указать тип ANY, также полезным будет ключ +short, позволяющий выводить сокращенный ответ:

[root@dns ~]# dig fvdstest.com @10.10.10.10 +short ANY
"v=spf1 ip4:123.123.123.123 a mx ~all"
fvds.com. root.fvds.com. 2014022800 10800 3600 604800 86400
ns1.fvdstest.com.
ns2.fvdstest.com.
20 mail.fvdstest.com.
10 mail.fvdstest.com.
123.123.123.123

Запрещены запросы к DNS-серверу

Mar 17 06:29:22 fvds named[21971]: client 188.120.234.14#49834: query 'fvdstest.com/A/IN' denied

Вариантов диагностики в этом случае два: либо временно добавить свой адрес в список разрешенных, либо делать запросы непосредственно с сервера, на котором расположен slave. Если slave настроен так, чтобы делать запросы не с основного IP на интерфейсе, утилите dig нужно будет указать ключ «-b xxx.xxx.xxx.xxx», где xxx.xxx.xxx.xxx – IP на интерфейсе, с которого разрешены запросы к master:

[root@dns ~]# dig fvdstest.com @188.120.234.14 +short -b 188.120.234.14 ANY
"v=spf1 ip4:123.123.123.123 a mx ~all"
fvds.com. root.fvds.com. 2014022800 10800 3600 604800 86400
ns1.fvdstest.com.
ns2.fvdstest.com.
20 mail.fvdstest.com.
10 mail.fvdstest.com.
123.123.123.123

Как в dig сделать обратный DNS запрос — как по IP получить имя хоста

Можно делать обратные DNS запросы, когда отсылаем IP адрес, а в ответ получаем имя хоста, для такого запроса используется опция -x. Пример с добавлением опции +short чтобы ограничить вывод только именем хоста:

dig -x 185.117.153.79 +short

Dig с NS-серверов

В этом случае мы запрашиваем информацию напрямую с NS-серверов, которые планируется использовать для указанного домена. Пример для запроса с ns1 (для ns2 запрос выглядит аналогично):

[root@dns ~]# dig firstvds.ru @ns1.firstvds.ru.
; <<>> DiG 9.8.1-P1 <<>> firstvds.ru @ns1.firstvds.ru.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39440
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;firstvds.ru. IN A
;; ANSWER SECTION:
firstvds.ru. 3600 IN A 195.211.221.106
;; Query time: 67 msec
;; SERVER: 82.146.43.2#53(82.146.43.2)
;; WHEN: Tue Mar 18 09:30:41 2014
;; MSG SIZE rcvd: 45

Здесь в секции ANSWER SECTION был возвращен IP, в который NS-сервер резолвит домен, при нормальной работе этот IP должны возвращать оба NS-сервера, если IP отличается от того, что вы назначили домену на основном сервере, то зона нуждается в обновлении. В ISPmanager, к примеру, это можно сделать кнопкой «Передать» в разделе «Доменные имена», если же у вас DNS-сервер настроен без использования панели, то зона, как правило, будет обновлена самостоятельно, либо по истечении TTL зоны, либо по запросу вторичного сервера имен, если используется механизм уведомлений (опция notify yes в BIND).

Также NS-сервер может вообще не ответить:

[root@dns ~]# dig fvdstest.ru @ns1.firstvds.ru.
; <<>> DiG 9.8.1-P1 <<>> firstvds.ru @ns1.firstvds.ru
;; global options: +cmd
;; connection timed out; no servers could be reached

В этом случае следует убедиться, что внешний DNS-сервер доступен и на нем не заблокирован 53-й порт (если есть такая возможность).

Еще один вариант — пустой ответ:

[root@dns ~]# dig fvdstest.ru @ns1.firstvds.ru.
; <<>> DiG 9.8.1-P1 <<>> fvdstest.ru @ns1.firstvds.ru.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35308
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;fvdstest.ru. IN A
;; Query time: 123 msec
;; SERVER: 82.146.43.2#53(82.146.43.2)
;; WHEN: Tue Mar 18 09:41:57 2014
;; MSG SIZE rcvd: 29

Также при возникновении каких-либо проблем на NS-серверах следует произвести диагностику первичного DNS-сервера.

Ввод команды и синтаксис

Для работы с утилитой необходимо открыть командную строку (cmd или powershell в Windows и unix-shell в UNIX). В системах на базе Windows утилита встроена, и мы можем работать с ней в любой момент. Для некоторых дистрибутивов Linux потребуется установка утилиты одной из команд:

yum install nslookup

apt-get install nslookup

* первая команда для систем на базе Red Hat, вторая — Debian.

Для выполнения запросов используем команду:

Самый простой пример использования команды:

Утилита также поддерживает работу в интерактивном режиме — вводим команду:

После можно делать запросы.

Dig с первичного сервера имен

Служит для запроса информации непосредственно с сервера, на котором создан домен:

[root@dns ~]# dig firstvds.ru @188.120.241.90
; <<>> DiG 9.7.1-P2 <<>> firstvds.ru @188.120.241.90
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26391
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;firstvds.ru. IN A
;; ANSWER SECTION:
firstvds.ru. 3600 IN A 188.120.241.90
;; AUTHORITY SECTION:
firstvds.ru. 3600 IN NS ns1.firstvds.ru.
firstvds.ru. 3600 IN NS ns2.firstvds.ru.
;; ADDITIONAL SECTION:
ns1.firstvds.ru. 3600 IN A 82.146.43.2
ns2.firstvds.ru. 3600 IN A 82.146.35.143
;; Query time: 71 msec
;; SERVER: 188.120.241.90#53(188.120.241.90)
;; WHEN: Thu Apr 14 15:12:51 2011
;; MSG SIZE rcvd: 113

Как в dig вывести только секцию ответа

dig zalinux.ru +nocomments +noquestion +noauthority +noadditional +nostats

Более короткий вариант записи:

dig zalinux.ru +noall +answer

Connection timed out

[root@dns ~]# dig fvdstest.com
; <<>> DiG 9.7.1-P2 <<>> fvdstest.com @10.10.10.10
;; global options: +cmd
;; connection timed out; no servers could be reached

Данный вывод говорит о том, что на сервере, с которого производится запрос информации о доменном имени, возникли проблемы. Это может быть как неработающий named, так и блокировка 53 порта с помощью файрвола.

Как в nslookup указать сервер для запросов

Если вы хотите сделать запрос к определённому DNS серверу (а по умолчанию адреса серверов берутся из файла /etc/resolv.conf), то после доменного имени достаточно указать имя хоста или IP DNS сервера:

nslookup zalinux.ru 8.8.4.4

Как получить записи NS (Name Server) в nslookup

NS запись содержит сервера имён данного домена, для их просмотра выполните команду вида:

nslookup -query=ns zalinux.ru

Сервера Имён — это авторитативные сервера для данного домена, которые являются самый первым источником данных о DNS записях для данного домена.

Как правило, конечный пользователь обращается не к авторитативному серверу (поскольку их много — для каждого домена может быть свой), а к кэширующему DNS серверу.

Проверка днс записей домена утилита dig

Поиск записей MX (Mail Exchange)

Для показа хостов, используемых для обмены почты, запустите команду вида:

nslookup -query=mx zalinux.ru

Запрос SOA записи для домена

dig zalinux.ru SOA

Показ цепочки DNS серверов, используемых при DNS запросах

Опция +trace включает трассировку пути делегирования от корневых серверов имён для искомого имени. Трассировка отключена по умолчанию. Когда трассировка включена, dig выполняет итеративные запросы, чтобы преобразовать имя, которое было запрошено. Он будет следовать рекомендациям от корневых серверов, показывая ответ от каждого сервера, который использовался для разрешения поиска.

dig +trace zalinux.ru

Проверка днс записей домена утилита dig

+dnssec также устанавливается, когда +trace установлен для лучшей эмуляции запросов по умолчанию от сервера имён.

Transfer failed

[root@dns ~]# dig fvdstest.com @10.10.10.10 AXFR
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> fvdstest.com @10.10.10.10 AXFR
;; global options: +cmd
; Transfer failed.
Mar 17 07:18:51 fvds named[23074]: client 188.120.234.14#50652: zone transfer 'fvdstest.com/AXFR/IN' denied

Как в dig вывести только IP адрес без дополнительных строк

В приведённом выше примере большая часть информации не нужна пользователю — нужен только IP адрес. С помощью опции +short вывод команды dig будет ограничен исключительно IP адресом. Поскольку по умолчанию (если не указано друге) запрос делается относительно записи A, то будет показан IP адрес из записи A:

dig zalinux.ru +short

Как узнать IP адрес субдомена

Командой nslookup можно узнать IP адрес субдомена любого уровня:

nslookup lh5.googleusercontent.com

Интерактивный режим nslookup

Для входа в интерактивный режим достаточно запустить программу без опций:

nslookup

Проверка днс записей домена утилита dig

Любо указать дефис. Кроме дефиса также можно указать имя домена или адрес DNS сервера для запросов:

nslookup - 8.8.4.4

В интерактивном режиме для выполнения DNS запроса указывайте по одному доменному имени, для которого вы хотите узнать IP адрес.

В интерактивной сессии командой

server домен_или_IP

можно установить используемый для запросов DNS сервер, например:

server 8.8.4.4

Можно просмотреть текущие значения всех опций командой:

set all
Set options: novc	nodebug	nod2 search	recurse timeout = 0	retry = 3	port = 53	ndots = 1 querytype = A	class = IN srchlist =

Проверка днс записей домена утилита dig

Значения всех показанных опций можно изменить.

С помощью равнозначных команд:

set querytype=ЗАПИСЬ
set type=ЗАПИСЬ

Можно изменить тип запрашиваемой DNS записи, например, чтобы установить тип записи на MX:

set type=MX

После этого все запросы будут делаться с учётом установвленных настроек, то есть например будет показываться только указанный тип записи. Кстати, чтобы узнать о всех типах записях и чем они различаются, а также как вообще работает DNS, смотрите статью «Введение в DNS терминологию, компоненты и концепции».

Чтобы выводились сразу все DNS записи установите эту настройку следующим образом:

set type=ANY

Пример вывода информации о сразу всех найденных DNS записях домена suip.biz:

> suip.biz
Server:	8.8.4.4
Address:	8.8.4.4#53
Non-authoritative answer:
Name:	suip.biz
Address: 185.117.153.79
suip.biz	nameserver = ns1.marosnet.ru.
suip.biz	nameserver = ns2.marosnet.ru.
suip.biz	origin = dns-manager_marosnet_net	mail addr = proghoster.gmail.com	serial = 2016040402	refresh = 3600	retry = 3600	expire = 604800	minimum = 86400
suip.biz	mail exchanger = 10 mail.suip.biz.
suip.biz	mail exchanger = 20 mail.suip.biz.
Name:	suip.biz
Address: 2a02:f680:1:1100::3d5f
Authoritative answers can be found from:

Проверка днс записей домена утилита dig

Рекурсивные запросы можно включить или отключить командами:

set recurse
set norecurse

По умолчанию рекурсивные запросы включены.

Поменять порт по умолчанию для TCP/UDP соединений при запросах к DNS серверу можно командой вида:

set port=ПОРТ

Портом по умолчанию является 53.

Кроме рассмотренных, имеются и некоторые другие настройки, которые используются реже — время тайм-аута, количество попыток запросов и другие.

Интерактивный nslookup может оказаться полезным если вы хотите сделать ряд поисков по DNS записям и хотите, чтобы они были сделаны с определёнными настройками, которые вы устанавливаете на данную сессию.

Опции nslookup

При выполнении запросов мы можем использовать следующие опции:

Также мы можем вызвать описание для nslookup.

а) в системах на базе Windows:

б) в Linux:

Использование опций

При вводе команды nslookup к опциям добавляем дефис, например:

nslookup -timeout=1 -type=MX dmosk.ru

Если мы работаем с nslookup в интерактивном режиме, то опции задаются с помощью команды set:

Читайте также:  - Надёжный фотохостинг - загрузить фото

* первая команда задает опцию для выполнения подробных запросов. Вторая — делает запрос для домена dmosk.ru.

Как указать сервер имён для DNS запросов

dig @8.8.4.4 zalinux.ru

По умолчанию сервера имён для запросов берутся из файла /etc/resolv.conf.

Как вывести все DNS записи для домена

Данный метод позволяет за один раз вывести сразу все типы DNS записей указанного домена, но он работает не во всех случаях:

dig zalinux.ru ANY

Для запроса всех типов DNS записей, но ограничив количества выводимых разделов только секцией ответа добавьте опции «+noall +answer»:

dig zalinux.ru ANY +noall +answer

Installing nslookup

nslookup comes preinstalled on all major operating systems. If you need to install it again on Ubuntu or another Linux distro featuring the APT package manager, install the dnsutils package:

sudo apt install dnsutils

On CentOS, Fedora, and Red Hat, nslookup is part of the bind-utils package. Install it by running:

sudo dnf install bind-utils

Note: The authoritative answer in the output of the nslookup refers to the answer provided by one of the nameservers belonging to the domain being searched. The non-authoritative answer is provided by a nameserver not associated with the specific domain, e.g., your ISP nameserver.

View Domain’s NS Records

Name Server (NS) records store names of the domain’s name servers. To see a domain’s NS records, type:

nslookup -type=ns [domain-name]

The output lists all available name servers:

Viewing name server information.

View Domains MX Records

MX records store all relevant Mail Exchange server data. This information is used to route all email requests for the domain to the appropriate mail server.

Check a domain’s MX data by typing:

nslookup -type=mx [domain-name]

The output shows the names of mail servers.

Viewing Mail Exchange server information.

Perform a Reverse DNS Lookup

While nslookup provides information about a domain name, it can also be used to look for the domain name associated with an IP address.

nslookup [ip-address]

The command outputs the domain name.

Performing a reverse DNS lookup.

View SOA Records

View a domain’s SOA records by typing:

nslookup -type=soa [domain-name]

The nslookup command output shows the relevant information:

Viewing the domain's SOA records.

View Text Records

nslookup -type=txt [domain-name]

The output shows each TXT record in a separate line:

Viewing the domains TXT records.

View All Records

View all available DNS records of a domain using the any option.

nslookup -type=any [domain-name]

The output shows NS, SOA, MX, and TXT information:

Viewing all available DNS records for a domain.

View Information About a Specific Name Server

nslookup [domain-name] [name-server]

The output is now limited to the nameserver you specified:

Viewing information about a specific name server for a domain.

View Pointer Records

Pointer records are used for reverse DNS lookups to confirm that the IP address belongs to a specific domain name. When using the ptr option, type the IP address in reverse, i.e., 1.2.3.4 becomes 4.3.2.1:

nslookup -type=ptr [reverse-ip-address].in-addr.arpa

Look for the domain name in the output.

Performing a reverse DNS lookup using pointer records.

Query a Non-Default Port

DNS servers use port 53 to communicate. If you want to check a different port, specify it with the port option:

nslookup -port=[port-number] [domain-name]

View Debugging Information

To view information useful for debugging, use the debug option:

nslookup -debug [domain-name]
Viewing debugging information.

Note: In the interactive mode, setting the debug option turns on the debugging mode. To exit the mode, set the nodebug option.

After reading this article, you should know how to install and use the nslookup command on Linux. The article provided examples of the most common uses of nslookup.

Как просмотреть MX записи для домена

Программа dig позволяет делать запрос и выводить информацию для различных типов DNS ресурсов. Чтобы показать какие MX записи у домена выполните команду:

dig zalinux.ru MX

Для сокращения выводимой информации запрашиваемый тип записи (а также другие опции) можно комбинировать с опцией +short:

dig zalinux.ru MX +short

Аналоги nslookup

1) В качестве альтернативы командной строке, можно воспользоваться различными онлайн сервисами для выполнения запросов к DNS. Например, на 2whois.ru.

2) Для Linux можно воспользоваться утилитой dig, которая также предназначена для выполнения запросов к DNS.

3) На мобильных устройствах, например, под управлением Android есть свои утилиты для опроса DNS. Например, Ping & Net.

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Связанные статьи

  • Как узнать IP DNS сервера в Linux (100%)
  • Как узнать все DNS записи сайтов за CloudFlare (100%)
  • Примеры DNS запросов командой host (63.9%)
  • Как пользоваться командой nslookup для DNS запросов (63.9%)
  • Как в Linux определяется порядок источников для разрешения имён (приоритет файла hosts и DNS) (63.9%)
  • Как отобразить данные POST с cURL (РЕШЕНО) (RANDOM — 50%)

Nslookup Syntax

The nslookup command can be used in two modes: interactive and non-interactive. To initiate the nslookup interactive mode, type the command name only:

nslookup

The prompt that appears lets you issue multiple server queries.

Entering the interactive mode.

For example, you can type a domain name and receive information about it.

www.google.com

After nslookup outputs the information, it provides another prompt.

Querying in the interactive mode.

In interactive mode, specify an option in a separate line before the query. Precede the option with set:

set [option]
Setting options in the interactive mode.

To exit interactive mode, type:

exit

The non-interactive mode lets you use nslookup to issue single queries. The syntax for the non-interactive mode is:

nslookup [options] [domain-name]

The command and the query are written in the same line.

Viewing basic information about a domain in non-interactive mode.

nslookup Options

Whois

Начать диагностику следует с запроса whois:

[root@dns ~]# whois firstvds.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).
domain: FIRSTVDS.RU
nserver: ns1.firstvds.ru. 82.146.43.2
nserver: ns2.firstvds.ru. 94.250.248.160
state: REGISTERED, DELEGATED, VERIFIED
org: CJSC "Pervyj"
registrar: REGTIME-REG-RIPN
admin-contact: http://whois.webnames.ru
created: 2002.08.07
paid-till: 2014.08.08
free-date: 2014.09.08
source: TCI
Last updated on 2014.03.18 03:36:35 MSK

Также следует обратить внимание на пункты «state» и «Status» (для доменов в зонах .com./.org): в поле «state» обязательно должны быть пометки REGISTERED и DELEGATED, в поле «Status» — «Ok». Для отсеивания всего лишнего из вывода whois можно использовать следующую команду:

[root@dns ~]# whois firstvds.ru | grep -Ei 'name server|nserver|state|status'
nserver: ns1.firstvds.ru. 82.146.43.2
nserver: ns2.firstvds.ru. 94.250.248.160
state: REGISTERED, DELEGATED, VERIFIED
[root@dns ~]# whois ispserver.com | grep -Ei 'name server|nserver|state|status' Name Server: NS1.ISPVDS.COM Name Server: NS2.ISPVDS.COM Status: ok
Domain Status: ok
Name Server: NS1.ISPVDS.COM
Name Server: NS2.ISPVDS.COM

Замечание: для доменов в зоне .com/.org следует обращать внимание только на первые две записи «Name Server».

Если домен не зарегистрирован или зарегистрирован недавно, можно увидеть такую картину:

[root@dns ~]# whois fvdstest.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).
No entries found for the selected source(s).
Last updated on 2014.03.18 03:46:37 MSK

Информация во whois может обновляться в течение трех часов, поэтому если вы уже приобрели домен, нужно некоторое время подождать. Это также касается смены NS-серверов домена.

Dig +trace

dig — утилита, предоставляющая пользователю интерфейс командной строки для отправки запросов к DNS-серверам. Первый запрос, который нас интересует, — трассировка запросов к домену:

[root@dns ~]# dig firstvds.ru +trace
; <<>> DiG 9.8.1-P1 <<>> firstvds.ru +trace
;; global options: +cmd
. 10045 IN NS l.root-servers.net.
. 10045 IN NS h.root-servers.net.
. 10045 IN NS a.root-servers.net.
. 10045 IN NS i.root-servers.net.
. 10045 IN NS g.root-servers.net.
. 10045 IN NS d.root-servers.net.
. 10045 IN NS j.root-servers.net.
. 10045 IN NS m.root-servers.net.
. 10045 IN NS c.root-servers.net.
. 10045 IN NS b.root-servers.net.
. 10045 IN NS e.root-servers.net.
. 10045 IN NS f.root-servers.net.
. 10045 IN NS k.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 2311 ms
ru. 172800 IN NS e.dns.ripn.net.
ru. 172800 IN NS f.dns.ripn.net.
ru. 172800 IN NS b.dns.ripn.net.
ru. 172800 IN NS d.dns.ripn.net.
ru. 172800 IN NS a.dns.ripn.net.
;; Received 341 bytes from 192.36.148.17#53(192.36.148.17) in 934 ms
firstvds.ru. 345600 IN NS ns1.firstvds.ru.
firstvds.ru. 345600 IN NS ns2.firstvds.ru.
;; Received 97 bytes from 193.232.156.17#53(193.232.156.17) in 548 ms
firstvds.ru. 3600 IN A 195.211.221.106
;; Received 45 bytes from 94.250.248.160#53(94.250.248.160) in 71 ms
[root@dns ~]# dig firstvds.ru +trace
; <<>> DiG 9.8.1-P1 <<>> firstvds.ru +trace
;; global options: +cmd
. 10045 IN NS l.root-servers.net.
. 10045 IN NS h.root-servers.net.
. 10045 IN NS a.root-servers.net.
. 10045 IN NS i.root-servers.net.
. 10045 IN NS g.root-servers.net.
. 10045 IN NS d.root-servers.net.
. 10045 IN NS j.root-servers.net.
. 10045 IN NS m.root-servers.net.
. 10045 IN NS c.root-servers.net.
. 10045 IN NS b.root-servers.net.
. 10045 IN NS e.root-servers.net.
. 10045 IN NS f.root-servers.net.
. 10045 IN NS k.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 2311 ms
ru. 172800 IN NS e.dns.ripn.net.
ru. 172800 IN NS f.dns.ripn.net.
ru. 172800 IN NS b.dns.ripn.net.
ru. 172800 IN NS d.dns.ripn.net.
ru. 172800 IN NS a.dns.ripn.net.
;; Received 341 bytes from 192.36.148.17#53(192.36.148.17) in 934 ms
firstvds.ru. 345600 IN NS ns1.oldfirstvds.ru.
firstvds.ru. 345600 IN NS ns2.oldfirstvds.ru.
;; Received 97 bytes from 193.232.156.17#53(193.232.156.17) in 548 ms
firstvds.ru. 3600 IN A 188.120.252.3
;; Received 45 bytes from 94.250.248.160#53(94.250.248.160) in 71 ms

Здесь мы видим несоответствие NS-серверов, на которые проделегирован домен, и тех, на которые указывают сервера зоны .ru (ns1.oldfirstvds.ru. и ns2.oldfirstvds.ru.).

[root@dns ~]# dig firstvds.ru +trace
; <<>> DiG 9.8.1-P1 <<>> firstvds.ru +trace
;; global options: +cmd
. 9554 IN NS i.root-servers.net.
. 9554 IN NS b.root-servers.net.
. 9554 IN NS c.root-servers.net.
. 9554 IN NS k.root-servers.net.
. 9554 IN NS e.root-servers.net.
. 9554 IN NS h.root-servers.net.
. 9554 IN NS d.root-servers.net.
. 9554 IN NS f.root-servers.net.
. 9554 IN NS l.root-servers.net.
. 9554 IN NS g.root-servers.net.
. 9554 IN NS m.root-servers.net.
. 9554 IN NS j.root-servers.net.
. 9554 IN NS a.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 2399 ms
ru. 172800 IN NS a.dns.ripn.net.
ru. 172800 IN NS b.dns.ripn.net.
ru. 172800 IN NS d.dns.ripn.net.
ru. 172800 IN NS e.dns.ripn.net.
ru. 172800 IN NS f.dns.ripn.net.
;; Received 341 bytes from 128.63.2.53#53(128.63.2.53) in 1061 ms
ru. 3600 IN SOA a.dns.ripn.net. hostmaster.ripn.net. 4021899 86400 14400 2592000 3600
;; Received 90 bytes from 193.232.128.6#53(193.232.128.6) in 78 ms

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

Как получить авторитативный ответ?

Предположим, я хочу узнать IP адрес домена suip.biz, но хочу получить ответ только от авторитативного DNS сервера для данного домена.

Для начала нам нужно узнать, какие сервера имён являются авторитативными для данного домена, то есть какие у этого сайта сервера имён. Как мы узнали чуть выше, нам нужно командой узнать сервера имён для данного домена:

nslookup -query=ns suip.biz

Получено сразу два сервера имён (на случай, если с одним из них будут проблемы).

Мы также уже рассмотрели, как делать запросы к определённому DNS серверу, поэтому выбираем любой из двух (кстати, их может быть больше) и делаем запрос непосредственному к данному DNS серверу:

nslookup suip.biz ns1.marosnet.ru

Обратите внимание, что надпись «Non-authoritative answer.» больше не выводится.

Что означает Non-authoritative answer

В большинстве ответов вы будете видеть надпись Non-authoritative answer. Чтобы понять её причину, нужно быть знакомым с работой DNS.

Если вы прочитали статью по ссылке, то вы знаете, что DNS сервер является авторитативным (authoritative) для данного домена, если он указан в качестве Сервера Имён (NS) в соответствующих записях для данного домена, а сам DNS сервер содержит файлы зоны для данного домена.

DNS запрос записей SOA (Start of Authority)

nslookup -type=soa zalinux.ru

Оцените статью
Хостинги