Проверка DNS-записей домена: как убедиться, что всё настроено правильно
6 мин чтения
Проверка DNS-записей домена: как убедиться, что всё настроено правильно

Проверка DNS-записей домена: как убедиться, что всё настроено правильно

DNS — та часть сайта, которую настраивают один раз и забывают. Ровно до момента, когда «сайт не открывается», «почта не доходит» или «после переезда всё сломалось». Практический разбор: как проверить каждую DNS-запись домена своими руками, какие ошибки встречаются чаще всего и как поймать изменение записей раньше, чем его заметят посетители.

Инструмент один — dig (и nslookup для Windows)

Теорию — какие бывают записи и за что отвечают — мы разбирали в статье про DNS-записи. Здесь — практика. Всё проверяется двумя командами: dig (macOS/Linux, самый удобный) или nslookup (есть и в Windows). Полный аудит домена руками занимает три минуты:

# Куда указывает сайт
dig example.ru +short              # A-запись (IPv4)
dig AAAA example.ru +short         # IPv6, если есть
dig www.example.ru +short          # не забыть www!

# Кто принимает почту
dig MX example.ru +short

# Служебные записи
dig TXT example.ru +short          # SPF и подтверждения сервисов
dig TXT _dmarc.example.ru +short   # DMARC
dig NS example.ru +short           # NS-серверы домена

# Спросить конкретный DNS-сервер (минуя кэш провайдера)
dig example.ru @77.88.8.8 +short

Последний приём — самый недооценённый: один и тот же вопрос, заданный разным DNS-серверам, показывает, разошлись ли ответы. Это главный инструмент диагностики «у меня работает, у клиента нет» после любых изменений в зоне.

Чек-лист: что проверять и какие ошибки искать

Запись Что должно быть Типовая ошибка
A / AAAA Актуальный IP сервера — и для домена, и для www После переезда обновили только апекс: example.ru живёт на новом сервере, www — на старом
CNAME Только у поддоменов CNAME на апексе домена — запрещён стандартом и ломает остальные записи
MX Имена почтовых серверов (не IP!) с приоритетами MX указывает на CNAME или на IP-адрес — часть серверов такую почту отвергает
TXT (SPF) Ровно одна запись v=spf1 со всеми отправителями Две SPF-записи (после подключения нового сервиса) — проверка становится невалидной
NS Одинаковый список у регистратора и в самой зоне У регистратора одни NS, на DNS-хостинге другие — домен работает «через раз»
TTL 3600–86400 в обычной жизни, 300 — на время переезда Переезд с TTL 86400: сутки часть посетителей ходит на старый сервер
Забытые записи В зоне нет мусора Поддомен указывает на брошенный сервис — готовая площадка для перехвата (subdomain takeover)

Аудит зоны за десять минут: готовый сценарий

Если проверять домен приходится регулярно (после работ подрядчика, перед переездом, при приёмке нового проекта), удобно прогонять весь список одной командой. Скрипт для macOS/Linux, который выводит все ключевые записи разом:

D=example.ru
for T in A AAAA MX NS TXT SOA; do
  echo "== $T =="; dig $T $D +short
done
echo "== www =="; dig www.$D +short
echo "== DMARC =="; dig TXT _dmarc.$D +short

Сохраните вывод в файл — это и есть эталонный снимок зоны. После любых работ прогоните скрипт снова и сравните два файла: любое расхождение, которое вы не планировали, — предмет для разбирательства. По сути это ручная версия того, что мониторинг DNS делает автоматически каждый день.

Отдельного взгляда заслуживает запись SOA (её выводит скрипт): в ней зашит серийный номер зоны, который должен увеличиваться при каждом изменении. Если вы что-то поменяли, а серийник на авторитетных серверах не вырос, — изменение не применилось. И проверьте, что NS-серверов у домена минимум два и они в разных сетях: единственный NS — единая точка отказа для всего домена сразу, включая почту.

«Я поменял запись, но ничего не изменилось»

Самый частый вопрос про DNS. Ответ почти всегда один: кэш. Изменение записи не рассылается миру мгновенно — мир сам приходит за ней, когда истечёт TTL предыдущего ответа. Если TTL был сутки, то в течение суток разные провайдеры будут отдавать разные ответы, и это не поломка, а штатная работа системы. Проверить фактическое состояние можно, спросив напрямую авторитетный сервер зоны (dig example.ru @ns1.вашdns.ru) — он отдаёт свежее значение без кэша. Если там запись новая, остаётся ждать истечения TTL; если старая — изменение вообще не применилось, и вопрос уже к панели DNS-хостинга. Подробно про эту механику — в статье про TTL.

Золотое правило переезда

За сутки до любых изменений снизьте TTL меняемых записей до 300 секунд. После переезда, убедившись, что всё работает, верните обратно. Пять минут неопределённости вместо суток — вся цена вопроса.

Приёмка проекта: DNS-вопросы подрядчику

Отдельный сценарий, где проверка DNS обязательна, — приём сайта у студии или уходящего администратора. Три вопроса, которые сэкономят месяцы разбирательств. Первый: у кого доступ к панели DNS и к аккаунту регистратора — это два разных доступа, и оба должны быть у вас, а не «у Миши, который уволился». Второй: почему записи такие — по каждой непонятной строке зоны должен быть ответ; забытые записи старых сервисов удаляются сразу (это готовые лазейки для перехвата поддоменов). Третий: где почта — MX и SPF должны указывать на сервис, которым вы реально пользуетесь, а не на хостинг студии, с которого вы съезжаете. Снимите эталонный снимок зоны скриптом выше до расставания с подрядчиком: потом сравнивать будет не с чем.

Почему разовая проверка не решает проблему

Проверить зону один раз — полезно, но DNS ломается не в день аудита. Записи меняются при переездах, смене почтового сервиса, подключении CDN, работе подрядчиков с доступом к панели — и каждая такая операция может незаметно снести или переписать что-то соседнее. А ещё DNS — первая цель при угоне домена: злоумышленнику не нужен ваш сервер, достаточно переписать A-запись, и трафик уходит на подставную площадку.

Общая черта всех этих сценариев: сломанную DNS-запись не видно снаружи, пока не начнут жаловаться люди. Сайт у вас открывается (кэш!), письма вроде уходят — а часть мира уже живёт с другой версией вашей зоны. Поэтому зрелый подход — сравнение: зафиксировать эталонное состояние записей и автоматически сверять с ним текущее, поднимая тревогу при любом расхождении.

Как это устроено в Пруфене

Пруфен ежедневно выполняет проверку DNS-записей: сверяет A, MX, TXT, NS и другие записи домена с эталоном и присылает уведомление, если что-то изменилось или пропало, — в Email, Telegram, Макс или звонком. В связке с проверкой домена это закрывает и сценарий тихого угона, и «человеческий фактор» после работ в панели.

Частые вопросы

Как проверить DNS-записи без терминала? Любым онлайн-DNS-чекером: вводите домен и тип записи, получаете ответ, часто сразу с нескольких серверов мира. Для разовой проверки этого достаточно; терминал выигрывает, когда нужно спросить конкретный сервер или сравнить ответы.

Сколько ждать обновления DNS «по всему миру»? Ровно столько, каким был TTL старой записи, плюс небольшой хвост: провайдерские кэши в основном уважают TTL. Мифические «72 часа» из старых инструкций — перестраховка; при TTL 300 обновление расходится за минуты.

Что проверить первым, если перестала ходить почта? MX-записи (не пропали ли), затем SPF (одна ли запись, все ли отправители в ней) и не попал ли IP почтового сервера в чёрные списки. Полный разбор почтовых записей — в статье про SPF, DKIM и DMARC.

Опасно ли, что кто-то может посмотреть все мои DNS-записи? Записи, нужные для работы, публичны по определению — это нормально. Опасны не любопытные глаза, а забытые записи (лазейка для перехвата поддомена) и отсутствие контроля изменений: смотреть на вашу зону должны не только чужие, но и ваш собственный робот.

Была ли статья полезна?

Начните мониторинг прямо сейчас

Бесплатный тариф — до 5 проверок. 150 ₽ на баланс при регистрации.

Создать аккаунт