LinuxNotes
← Все статьи

DNS и dig: почему домен не открывается

Проверяем A, AAAA и CNAME, читаем статус ответа и сравниваем DNS с системным резолвером.

Сети и OpenWrt3 мин чтения

Подготовка

Dig выполняет DNS-запросы и помогает отделить проблему имени от ошибки веб-сервера. На Arch и CachyOS инструмент входит в bind:

sudo pacman -Syu bind

Установка инструментов не требует включать службу DNS-сервера named. В примерах используется публичный домен example.org; для диагностики подставьте собственный домен.

Первый запрос

dig example.org A

Посмотрите HEADER, status, ANSWER SECTION и SERVER. NOERROR означает, что запрос обработан без DNS-ошибки, но не гарантирует наличие записи нужного типа. SERVER показывает, какой DNS-сервер ответил.

Число перед IN A в ответе - TTL, оставшееся время хранения записи в этом ответе. Кэш разных резолверов обновляется в разное время, поэтому после изменения записи ответы могут временно различаться.

Проверьте разные типы записей

dig example.org A +short
dig example.org AAAA +short
dig www.example.org CNAME +short

A содержит IPv4, AAAA - IPv6, CNAME задаёт другое доменное имя. Пустой краткий вывод сам по себе не объясняет причину: повторите запрос без +short, чтобы увидеть статус и секцию authority.

Как читать ошибки

РезультатЧто проверить
NXDOMAINПравописание и существование имени
NOERROR без ответаНаличие запрошенного типа записи
SERVFAILДелегирование, DNSSEC и состояние серверов
Тайм-аутДоступ к резолверу и сетевые ограничения

Не исправляйте SERVFAIL случайной сменой IP веб-сервера: ошибка может возникать раньше, при проверке цепочки DNS.

Сравните с системным разрешением

getent ahosts example.org
cat /etc/resolv.conf

getent использует системную базу разрешения имён согласно NSS и может учитывать /etc/hosts. Dig обращается к DNS напрямую и не повторяет весь путь приложения. /etc/resolv.conf может указывать на локальный stub; в таком случае фактические upstream-серверы задаются менеджером сети.

После изменения домена

Проверьте A и AAAA, совпадение адресов с сервером и сертификат отдельно. Если IPv6-запись ведёт на неподготовленный сервер, часть клиентов будет испытывать ошибки, даже когда IPv4 работает. Меняйте записи у своего DNS-провайдера осознанно, а не локальными правками resolv.conf.

Основа: проверка адресов и маршрутов.

Документация: BIND dig.

Читайте дальше