Два инструмента для диагностики DNS-проблем: nslookup работает на Windows и Linux из коробки, dig — мощнее и информативнее, доступен на Linux/macOS. Разбираем основные сценарии.
nslookup — кроссплатформенный базовый инструмент
# Базовый запрос: получить IP домена
nslookup asknews.ru
# Запрос конкретного типа записи
nslookup -type=MX asknews.ru # почтовые серверы
nslookup -type=TXT asknews.ru # TXT-записи (SPF, DKIM)
nslookup -type=NS asknews.ru # nameserver-ы домена
nslookup -type=AAAA asknews.ru # IPv6
# Запрос через конкретный DNS-сервер
nslookup asknews.ru 8.8.8.8 # через Google DNS
nslookup asknews.ru 1.1.1.1 # через Cloudflare
Что важно в выводе nslookup: строка Server: показывает какой DNS-сервер ответил. Non-authoritative answer означает что ответ из кэша резолвера, не от авторитетного сервера домена.
dig — расширенная диагностика
# Установить если нет (Ubuntu/Debian)
sudo apt install dnsutils -y
# Базовый запрос
dig asknews.ru
# Только IP, без лишнего
dig asknews.ru +short
# Конкретный тип записи
dig asknews.ru MX
dig asknews.ru TXT
dig asknews.ru NS
dig asknews.ru AAAA
# Через конкретный DNS-сервер
dig @8.8.8.8 asknews.ru
dig @1.1.1.1 asknews.ru
# Обратный DNS: IP → имя
dig -x 185.230.63.171
Трассировка DNS-запроса
# Показать полную цепочку: корень → TLD → NS → ответ
dig asknews.ru +trace
# Краткий вывод трассировки
dig asknews.ru +trace +short
Совет: +trace позволяет убедиться, что делегирование DNS работает правильно: корневые серверы знают TLD, TLD знает NS домена, NS возвращает правильный IP.
Проверка распространения DNS-изменений
# Сравнить ответы разных DNS-серверов (выявить расхождение при смене IP)
for dns in 1.1.1.1 8.8.8.8 9.9.9.9 77.88.8.8; do
echo -n "$dns: "
dig @$dns asknews.ru +short
done
# Проверить TTL — сколько ещё кэшируется старый ответ
dig asknews.ru | grep -A1 'ANSWER SECTION'
Диагностические сценарии
Сайт не открывается — DNS работает?
# Если dig возвращает IP — DNS в порядке, проблема дальше
dig asknews.ru +short
# Если пустой ответ или NXDOMAIN — домен не разрешается
# NXDOMAIN = домен не существует в DNS
Почта не доходит — проверить MX
dig asknews.ru MX +short
# Должны быть MX-записи с приоритетом
SPF/DKIM не проходит — проверить TXT
dig asknews.ru TXT +short | grep spf
dig mail._domainkey.asknews.ru TXT +short
resolvectl — диагностика на Linux с systemd-resolved
# Статус DNS
resolvectl status
# Запрос через systemd-resolved
resolvectl query asknews.ru
resolvectl query --type=MX asknews.ru
# Статистика кэша
resolvectl statistics
# Сброс кэша
sudo resolvectl flush-caches
Итог
nslookup — быстрая проверка с любого устройства. dig +trace — полная трассировка делегирования. dig @DNS — сравнение ответов разных серверов при проблемах с распространением. Три команды покрывают 90% DNS-задач.