DNS WindowsLinux

Как проверить DNS: nslookup и dig

  • Обновлено
  • Чтение ≈ 4 минуты

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

Для проверки DNS используйте nslookup в Windows и dig в Linux и macOS: запрашивайте записи A, MX, NS и TXT у разных серверов, сравнивайте ответы и смотрите коды NXDOMAIN, SERVFAIL, REFUSED. Так видно, где ломается разрешение имени — на клиенте, у провайдера или на авторитетном сервере.

В этой статье
  1. Как устроена проверка
  2. nslookup в Windows
  3. Проверка DNS для начинающих
  4. dig в Linux и macOS
  5. Как читать ответ
  6. Кэш и распространение изменений

#Как устроена проверка

Когда вы открываете сайт, система спрашивает рекурсивный DNS-сервер (провайдера, роутера, 1.1.1.1 и т. д.), тот обращается к корневым и авторитетным серверам. Диагностика заключается в том, чтобы отправить запрос напрямую на нужный сервер и сравнить ответы. Если авторитетный сервер отвечает правильно, а ваш резолвер — нет, проблема в резолвере или кэше; если ошибка и у авторитетного — запись неверна или не опубликована.

#nslookup в Windows

Возможная причинаКак узнатьЧто делать
NOERROR и пустой ответДомен существует, но записи нужного типа нет.Запрос AAAA для домена без IPv6.Это нормально; проверьте другой тип записи.
NXDOMAINИмя не существует.Опечатка, домен не делегирован или запись не создана.Проверьте написание и настройки NS у регистратора.
SERVFAILСервер не смог получить ответ.Неверные NS, ошибка DNSSEC, недоступный авторитетный сервер.Выполните dig +trace и проверьте DNSSEC: dig +dnssec.
REFUSEDСервер отказывает в запросе.Запрос к закрытому резолверу или зоне, которую он не обслуживает.Используйте другой DNS-сервер.
ТаймаутНет ответа.Блокировка UDP/53 или недоступный сервер.Проверьте Test-NetConnection 1.1.1.1 -Port 53, файрвол и VPN.
Разные ответы у разных серверовНе распространились изменения или кэш.После смены записи часть пользователей видит старое.Подождите окончания TTL; проверьте на DNS Checker.

#Проверка DNS для начинающих

В Windows нажмите Win+R, введите cmd и нажмите Enter: выполните nslookup example.com для поиска A/AAAA-записей, заменяя example.com своим доменом. В Linux/macOS откройте «Терминал» и используйте dig example.com A +noall +answer (если утилита установлена). Для альтернативного сервера укажите nslookup example.com 1.1.1.1 или dig @1.1.1.1 example.com A. Сравнивайте имя, тип записи и выдавший ответ сервер. Команды ниже — независимые примеры, их не нужно выполнять все подряд; значения example.com и примерные IP заменяются реальными для вашей задачи. Секретные значения DNS/TXT не публикуйте.

  1. Выберите способ в командной строке или терминалеЕсли предыдущие действия не помогли, прочитайте назначение каждого варианта ниже. Не выполняйте их все подряд: выбирайте только соответствующий вашей ситуации.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Базовый запрос через DNS, указанный в системе
    Windows · Командная строка (CMD)Только проверка
    Базовый запрос через DNS, указанный в системе
    nslookup example.com
    Вариант 2Запрос через конкретный сервер (Google 8.8.8.8, Cloudflare 1.1.1.1)
    Windows · Командная строка (CMD)Команда
    Запрос через конкретный сервер (Google 8.8.8.8, Cloudflare 1.1.1.1)
    nslookup example.com 8.8.8.8
    nslookup example.com 1.1.1.1
    Вариант 3Запись другого типа: MX (почта), NS (серверы имён), TXT (SPF/DKIM)
    Windows · Командная строка (CMD)Команда
    Запись другого типа: MX (почта), NS (серверы имён), TXT (SPF/DKIM)
    nslookup -type=MX example.com
    nslookup -type=NS example.com
    nslookup -type=TXT example.com
    Вариант 4Современная замена: Resolve-DnsName умеет все типы и выводит TTL
    Windows · PowerShellКоманда
    Современная замена: Resolve-DnsName умеет все типы и выводит TTL
    Resolve-DnsName example.com -Type A -Server 1.1.1.1
    Resolve-DnsName example.com -Type MX
  2. Уточните домен и получите первый ответВместо example.com укажите проблемный домен без https:// и пути, например site.ru. В Windows введите nslookup site.ru, в Linux/macOS — dig site.ru A +noall +answer. Нажмите Enter. Посмотрите, вернулся ли IP-адрес или показаны NXDOMAIN, SERVFAIL, timed out. Если ответ пустой, проверьте имя и тип записи: у некоторых доменов нет A-записи, но есть AAAA.
  3. Сравните ответы разных DNS-серверовВ Windows отдельно выполните nslookup site.ru 1.1.1.1 и nslookup site.ru 8.8.8.8. В Linux/macOS — dig @1.1.1.1 site.ru A +noall +answer и повторите с @8.8.8.8. Не объединяйте эти команды как изменение настроек компьютера: они лишь отправляют диагностические запросы. Если ответы различаются, запишите сервер, время и TTL; это может быть кеширование или разная конфигурация, а не обязательно неисправность.
  4. Проверьте нужный тип записи и авторитетный серверДля почты запросите MX, для делегирования — NS, для адреса — A или AAAA. Например в Windows выполните nslookup -type=MX site.ru, в Linux/macOS — dig site.ru MX +noall +answer. Если вы управляете доменом, сравните результаты с настройками у DNS-провайдера и с ответом авторитетного сервера. Не меняйте DNS-записи наугад: запишите старые значения и выясните, где размещается зона.
  5. Зафиксируйте результат и выберите следующую проверкуЕсли NXDOMAIN приходит со всех серверов, проверьте правильность домена и опубликованное делегирование. Если SERVFAIL появляется только у одного сервера, проверьте его состояние и возможные проблемы DNSSEC. Если ответы нормальные, а сайт не открывается, следующая проверка — HTTPS, прокси, файл hosts и доступность самого сервера; диагностика DNS не устраняет ошибки веб-приложения. Сохраните сообщения и адреса серверов для обращения к администратору.

#dig в Linux и macOS

Linux · Терминал (Bash)Команда
Краткий ответ A-записи
dig +short example.com A
Linux · Терминал (Bash)Команда
Запрос к конкретному серверу и полный вывод с TTL, флагами и временем ответа
dig @1.1.1.1 example.com A
Linux · Терминал (Bash)Команда
Авторитетные серверы домена и прямой запрос к одному из них
dig +short NS example.com
dig @ns1.example.com example.com A +norecurse
Linux · Терминал (Bash)Команда
Трассировка от корневых серверов — видно, где разрыв цепочки делегирования
dig +trace example.com
Linux · Терминал (Bash)Команда
Обратный запрос (PTR) по IP
dig -x 93.184.216.34 +short

Установить dig: sudo apt install dnsutils (Debian/Ubuntu), sudo dnf install bind-utils (Fedora, RHEL), на macOS утилита уже есть.

#Как читать ответ

#Кэш и распространение изменений

После смены записи старые значения живут в кэше до окончания TTL (число секунд в ответе). Сбросить локальный кэш можно командами: Windows — ipconfig /flushdns (посмотреть кэш: ipconfig /displaydns), macOS — sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder, Linux с systemd-resolved — sudo resolvectl flush-caches. Кэш провайдера сбросить нельзя: используйте другой резолвер или ждите.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.