Утилита dig. Как проверить DNS-записи и отладить домен

7 минут чтения
Средний рейтинг статьи — 4.7

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. Он позволяет не только узнать, куда указывает домен, но и разобраться в сложных случаях: почему письма не доходят, почему сайт открывается не у всех, и где именно «застряла» неправильная запись.

7 минут чтения
Средний рейтинг статьи — 4.7

Настроить мониторинг за 30 секунд

Надежные оповещения о даунтаймах. Без ложных срабатываний