Утилита dig. Как проверить DNS-записи и отладить домен
dig (Domain Information Groper) — это консольная утилита для работы с DNS-серверами. С её помощью можно проверить, какие записи настроены для домена, откуда они приходят и насколько корректно работает резолвинг.
Эта команда полезна администраторам, разработчикам и DevOps-инженерам, когда нужно:
- убедиться, что домен правильно указывает на сервер;
- проверить наличие MX-записей для почты;
- отладить проблему с кешированием DNS;
- узнать, откуда приходит «неправильный» ответ.
Базовый синтаксис
Кратко о структуре команды и основных параметрах запроса к DNS.
dig [опции] [домен] [тип_записи]
- домен — имя домена, который нужно проверить (например,
example.com
); - тип_записи — A, AAAA, MX, TXT, NS и т. д.;
- если тип не указан, по умолчанию проверяется
A
-запись.
Пример:
dig example.com A
Покажет IPv4-адрес, на который указывает домен.
Основные типы DNS-записей
Ключевые типы записей, которые чаще всего нужны в повседневной работе.
- A — IPv4-адрес.
- AAAA — IPv6-адрес.
- MX — почтовый сервер.
- NS — список авторитетных DNS-серверов.
- CNAME — каноническое имя (псевдоним).
- TXT — произвольные текстовые данные (например, SPF/DKIM/DMARC).
Вывод dig: что означают секции
Разбираем, что означает каждая часть ответа и где искать нужную информацию.
Пример вывода:
; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62419
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 0 IN A 142.250.179.142
;; Query time: 27 msec
;; SERVER: 172.17.112.1#53(172.17.112.1) (UDP)
;; WHEN: Mon Aug 25 19:41:10 MSK 2025
;; MSG SIZE rcvd: 54
1. HEADER section
Сводка запроса и ответа:
- opcode — тип запроса (обычно
QUERY
). - status — статус (
NOERROR
,NXDOMAIN
,SERVFAIL
). - flags — ключевые атрибуты:
qr
— это ответ;rd
— recursion desired (разрешить рекурсию);ra
— recursion available (сервер поддерживает рекурсию).
- QUERY/ANSWER/AUTHORITY/ADDITIONAL — сколько записей вернулось в каждой секции.
2. QUESTION section
То, что мы спросили: домен и тип записи.
3. ANSWER section
Собственно ответ — IP-адрес, MX-сервер или что мы запросили.
4. AUTHORITY section
Какие DNS-серверы считаются авторитетными для этого домена.
5. ADDITIONAL section
Дополнительные записи (например, IP-адреса NS).
6. OPT PSEUDOSECTION
Появляется при использовании EDNS (Extension mechanisms for DNS).
Здесь можно увидеть:
- максимальный размер UDP-пакета;
- доп. флаги (DNSSEC и др.).
7. Statistics section
Внизу выводится:
- Query time — время ответа;
- SERVER — какой DNS-сервер ответил;
- WHEN — время выполнения;
- MSG SIZE rcvd — размер ответа.
Примеры использования
Готовые команды для типичных задач диагностики и проверки DNS.
Проверка A-записи
Показывает текущий IPv4-адрес, на который указывает домен.
dig example.com A
Проверка MX-записей
Проверяет, какие почтовые серверы принимают почту для домена.
dig example.com MX
Проверка TXT-записей (например, SPF)
Показывает текстовые записи: SPF, DKIM, DMARC, верификации и др.
dig example.com TXT
Запрос к конкретному DNS-серверу
Выполняет запрос через указанный DNS‑резолвер.
dig @8.8.8.8 example.com A
Здесь @8.8.8.8
указывает, что запрос пойдёт через публичный сервер Google DNS.
Получение только «чистого» ответа
Выводит только значимые данные без служебных секций — удобно для скриптов.
dig +short example.com A
Выведет только IP-адрес, без технической информации. Удобно для скриптов.
Запросить все записи
Пытается получить все доступные типы записей для домена.
dig example.com ANY
Покажет A, MX, TXT, NS и всё, что доступно. (Хотя многие DNS-провайдеры фильтруют ANY
).
Трассировка DNS-резолвинга
Пошаговая трассировка от корневых серверов до авторитетного NS.
dig +trace example.com
Пошагово покажет путь от корневых серверов до авторитетного NS. Отлично для отладки проблем с NS или при делегировании зон.
Reverse lookup (PTR)
Определяет доменное имя по IP‑адресу при наличии PTR‑записи.
dig -x 142.250.180.206
Покажет доменное имя по IP-адресу (если PTR-запись настроена).
Отладка DNS-проблем
Набор приёмов для сравнения ответов, проверки авторитетных серверов и кешей.
Проблема с кешированием: можно сравнить ответы от разных DNS-серверов.
dig @8.8.8.8 example.com
dig @1.1.1.1 example.com
Проверка авторитетного ответа:
dig @ns1.example.com example.com A
Так можно проверить, что отдают именно ваши NS-сервера.
Постоянная настройка опций по умолчанию
Как зафиксировать любимые флаги dig в файле конфигурации ~/.digrc
.
Вывод команды dig
можно изменить через файл ~/.digrc
. Чтобы задать нужные параметры по умолчанию, выполните следующие шаги:
Откройте файл в текстовом редакторе, например, в Nano:
sudo nano ~/.digrc
И добавьте строки:
+noall
+answer
Теперь результат будет таким же, как если бы вы вручную добавили опции +noall +answer
в терминале.
Выводы
dig
— незаменимый инструмент для работы с DNS. Он позволяет не только узнать, куда указывает домен, но и разобраться в сложных случаях: почему письма не доходят, почему сайт открывается не у всех, и где именно «застряла» неправильная запись.
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний