Обновлено:

dig cheatsheet

dig — основной CLI-инструмент для проверки DNS.
Он показывает не только ответ, но и TTL, resolver, authoritative data и детали DNS-цепочки.

Короткий ответ

dig +short getsrv.app A
dig +short getsrv.app AAAA

Удобно для быстрых проверок и скриптов.

Полный ответ

dig getsrv.app A

Смотрите:

  • ANSWER SECTION;
  • TTL;
  • record type;
  • server, который дал ответ;
  • query time.

Проверить A

dig getsrv.app A
dig +short getsrv.app A

Проверить AAAA

dig getsrv.app AAAA
dig +short getsrv.app AAAA

Если AAAA есть, клиенты могут использовать IPv6.

Проверить CNAME

dig getsrv.app CNAME
dig +short getsrv.app CNAME

Если CNAME есть, проверьте финальное имя:

dig final.example.net A
dig final.example.net AAAA

Проверить NS

dig getsrv.app NS
dig +short getsrv.app NS

NS особенно важны после смены DNS-провайдера.

Проверить TXT

dig getsrv.app TXT
dig +short getsrv.app TXT

Для конкретной записи:

dig _dmarc.getsrv.app TXT

Проверить CAA

dig getsrv.app CAA

CAA может влиять на выпуск сертификатов.

Спросить конкретный resolver

Cloudflare:

dig @1.1.1.1 getsrv.app A

Google:

dig @8.8.8.8 getsrv.app A

Quad9:

dig @9.9.9.9 getsrv.app A

Коротко:

dig @1.1.1.1 getsrv.app A +short
dig @8.8.8.8 getsrv.app A +short
dig @9.9.9.9 getsrv.app A +short

Проверить authoritative DNS

Узнать NS:

dig +short getsrv.app NS

Спросить NS напрямую:

dig @ns1.example.net getsrv.app A

Если authoritative NS уже отдаёт новую запись, а public resolver — старую, значит public resolver ещё держит кэш.

Посмотреть trace

dig +trace getsrv.app

+trace показывает путь от root DNS до authoritative servers.

Это полезно при проблемах с делегированием зоны.

Посмотреть TTL

dig getsrv.app A

Пример:

getsrv.app. 300 IN A 203.0.113.10

300 — TTL.

Проверить несколько типов подряд

for t in A AAAA CNAME NS TXT CAA; do
  echo "=== $t ==="
  dig +short getsrv.app "$t"
done

Сравнить resolvers

for r in 1.1.1.1 8.8.8.8 9.9.9.9; do
  echo "=== @$r ==="
  dig @"$r" getsrv.app A +short
done

Проверить DNS + HTTP

DNS сам по себе не доказывает, что сайт работает.

dig +short getsrv.app A
curl -kI https://getsrv.app/

Проверить DNS + TLS

dig +short getsrv.app A
openssl s_client -connect getsrv.app:443 -servername getsrv.app -brief

Частые ошибки

Пустой ответ не всегда ошибка

Если вы проверяете AAAA, а IPv6 у домена не настроен, ответ может быть пустым. Это нормально, если IPv6 не нужен.

+short скрывает детали

Для быстрой проверки удобно. Для диагностики лучше смотреть полный dig.

Спросили не тот resolver

Разные resolvers могут временно видеть разные ответы.

Смотрят A, но проблема в CNAME

Если имя — CNAME, проверяйте и промежуточное, и финальное имя.

Минимальный набор

dig +short getsrv.app NS
dig +short getsrv.app A
dig +short getsrv.app AAAA

dig @1.1.1.1 getsrv.app A +short
dig @8.8.8.8 getsrv.app A +short

curl -kI https://getsrv.app/

Этого достаточно для базовой проверки: домен делегирован, адреса отдаются, сайт отвечает.