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/
Этого достаточно для базовой проверки: домен делегирован, адреса отдаются, сайт отвечает.