Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья6 мин чтенияПросмотры1

Как проверить DNS-запись через dig и правильно прочитать ответ

Как читать DNS-ответ dig: реальные примеры NOERROR с адресами, пустого ответа NODATA и NXDOMAIN. Статус, TTL и следующий шаг проверки без изменения сети.

Комментарии 0

Сетевой коммутатор с несколькими подключёнными кабелями
В этой статье

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

Задайте имя явно

Пример рассчитан на установленную утилиту dig из BIND. Введите полное доменное имя после следующей команды, без протокола и пути страницы:

read -r TARGET_HOST

dig "$TARGET_HOST" A

Запрос проверяет записи IPv4. Для IPv6 выполните отдельную проверку:

dig "$TARGET_HOST" AAAA

Имя основной страницы и имя с дополнительным поддоменом могут иметь разные записи. Не переносите вывод одной проверки на все адреса сайта.

Смотрите не только на адрес

В полном ответе важны статус, секция ответа, TTL и сервер, к которому обращалась утилита. Статус отсутствующего имени отличается от успешного ответа без записей запрошенного типа. Например, отсутствие IPv6-записи не означает, что у имени нет IPv4-адреса.

Ошибка обработки запроса тоже не равна отсутствию домена. Она может быть связана с обслуживанием зоны, проверкой DNSSEC или недоступностью зависимости. Для правильного вывода сохраняйте полный статус, а не только пустую строку из сокращённого режима.

Три реальных ответа: адрес, пустой ответ и отсутствующее имя

2 октября 2026 года в 15:48 МСК мы выполнили три публичных запроса из macOS с DiG 9.10.6 к DNS-серверу 1.1.1.1. Это демонстрация чтения ответа, а не тест DNS вашего сайта. Адреса, TTL, идентификаторы и время запроса ниже относятся к этому наблюдению и при повторе могут отличаться.

dig @1.1.1.1 example.com. A +time=2 +tries=1 +noall +comments +answer +authority +stats

Фрагмент ответа на запрос A:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7430

example.com. 291 IN A 172.66.147.243

example.com. 291 IN A 104.20.23.154

;; SERVER: 1.1.1.1#53(1.1.1.1)

Обе строки относятся к имени example.com., классу IN и типу A. Число 291 — TTL в секундах в полученном ответе; это не время отклика сайта. Два адреса не означают ошибку: у одного имени может быть несколько A-записей.

dig @1.1.1.1 example.com. CNAME +time=2 +tries=1 +noall +comments +answer +authority +stats

У того же имени запрос CNAME вернул NOERROR, но без записей запрошенного типа. Фрагмент полного ответа:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60948

;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

В секции AUTHORITY была запись SOA. Сочетание статуса, отсутствия подходящих ответов и SOA позволило распознать NODATA: для запрошенного типа данных нет. Одного ANSWER: 0 недостаточно — такой ответ нужно отличить от перенаправления к другим DNS-серверам. Наличие A-записей у этого же имени уже подтверждено предыдущим запросом.

dig @1.1.1.1 seo-diagnostic.invalid. A +time=2 +tries=1 +noall +comments +answer +authority +stats

Третий запрос к заведомо недействительному имени вернул:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 54998

Все три вызова dig завершились с кодом 0, включая NXDOMAIN. Код процесса подтверждает получение DNS-ответа в этих вызовах; вывод «имя существует и нужная запись найдена» нужно делать по статусу и секциям, а не по одному $? или пустому +short.

Наблюдение

Что показал ответ

Следующая проверка

NOERROR и подходящие A/AAAA в ANSWER

Сервер вернул адреса для заданного имени и типа.

Если сайт не открывается, проверить соединение, TLS и веб-ответ.

NOERROR, нет нужного типа, SOA в AUTHORITY

В показанном ответе нет данных нужного типа (NODATA).

Сверить запрошенный тип и авторитетные данные зоны; проверить другие необходимые типы.

NXDOMAIN

Запрашиваемое имя либо конечная цель цепочки CNAME не существует по полученному ответу.

Сверить точное имя и цель алиаса, затем нужный сервер зоны.

Различие NXDOMAIN и NODATA, включая обработку CNAME, описано в RFC 2308.

Имя в зоне .invalid выбрано как заведомо недействительное по RFC 2606.

Параметры запроса и секции вывода описаны в руководстве BIND по dig.

Если dig возвращает ожидаемый адрес, а приложение использует другой, следующая задача — сравнить путь разрешения имени через resolvectl.

Если имя разрешается, но соединение не устанавливается, начните с просмотра выбранного IP-маршрута.

Компактный вариант для уже понятной ситуации

Когда контекст известен, ответ можно сократить, оставив комментарии и записи:

dig "$TARGET_HOST" A +noall +answer +comments

Этот вариант удобен для сравнения, но не заменяет полную диагностику при неизвестной ошибке. Если нужно проверить другой DNS-сервер, используйте его только при наличии понятной причины и разрешённого доступа. Публичный и корпоративный резолверы могут видеть разные DNS-данные. Для внутренней корпоративной зоны используйте разрешённый резолвер организации: ответ публичного сервера не заменяет проверку внутри корпоративной сети.

Как интерпретировать TTL

TTL связан со временем кэширования ответа. Уменьшение значения в зоне не стирает мгновенно ранее сохранённые ответы во всех кэшах. Поэтому при переносе нужно учитывать настройки до изменения, а не обещать всем пользователям одновременное переключение в заданную секунду.

Пример: два резолвера возвращают разные адреса после изменения записи. Запишите их ответы, время и TTL, затем сравните с авторитетными данными зоны. Различие может быть связано с кэшированием, но также с разными настройками или географическими ответами. Без этих деталей нельзя уверенно назвать причину.

DNS не проверяет сам сайт

Даже правильный адрес не подтверждает, что веб-сервер принимает соединения и отдаёт нужный виртуальный хост. После DNS отдельно проверяют соединение, сертификат и ответ приложения. И наоборот: открытая по IP страница не доказывает правильность DNS и маршрутизации доменного имени.

Для передачи в поддержку сохраните имя, тип записи, статус, адрес резолвера и время проверки. После изменения повторите запрос в той же среде. Такой набор данных помогает отделить ошибку зоны от кэша и от проблемы, которая вообще находится за пределами DNS.

Сравнивая ответы, сохраняйте регистр представления отдельно от смысла имени и обращайте внимание на цепочку псевдонимов. Итоговый адрес может относиться к цели CNAME, а не быть непосредственной записью исходного имени.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.