Подготовка
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.