Проверка DNS-записей
Введите домен или имя хоста и посмотрите все, что DNS публикует для него, по одному типу записей за раз. В каждом блоке сказано, для чего нужен этот тип, а немногие записи, которые противоречат друг другу, мы отмечаем отдельно.
Одно имя, несколько видов ответа
DNS любят называть телефонным справочником интернета. Сравнение работает, если представить справочник, где у каждого имени несколько строк: одна для адреса дома, одна для почтового ящика, одна для нотариуса, который хранит документы. Браузер спрашивает только адрес. Почтовый сервер спрашивает только почтовый ящик. Каждый вид строки называется типом записи, и в любом запросе к DNS указаны и домен, и нужный тип.
Поэтому домен может отлично открываться в браузере, а письма на него при этом возвращаются. Сайт и почта опираются на разные записи, их редактируют отдельно, часто разные люди.
Какие типы записей читает эта проверка
| Тип | Что содержит | Кто читает |
|---|---|---|
A, AAAA | Адреса IPv4 и IPv6 сервера | Браузеры и все, что подключается к этому имени |
CNAME | Другое имя, которое нужно использовать вместо этого | Резолверы, которые начинают поиск заново с целевого имени |
MX | Серверы, принимающие почту, каждый со своим приоритетом | Отправляющие почтовые серверы |
NS | Серверы имен, на которых хранится зона | Резолверы, которые ищут первоисточник |
SOA | Основной сервер зоны, контакт, серийный номер и таймеры | Вторичные серверы имен |
TXT | Произвольный текст: SPF, ключи DKIM, коды подтверждения владения | Почтовые серверы получателей и сервисы, на которые вы подписаны |
CAA | Удостоверяющие центры, которым разрешено выпускать сертификаты для домена | Удостоверяющие центры, перед выпуском |
DS, DNSKEY | Ключи, которыми подписана зона, и их отпечаток у родительской зоны | Резолверы, проверяющие DNSSEC |
Мы запрашиваем все эти записи одновременно у публичного резолвера, а второй резолвер подстраховывает на случай потерянного запроса. Политика DMARC тоже проверяется. Это TXT-запись, но она живет на отдельном имени, _dmarc.example.com, поэтому обычный запрос TXT для домена ее никогда не покажет.
Значения TXT сверяются с известными форматами. Значение, начинающееся с v=spf1, помечается как SPF, google-site-verification= или MS= как подтверждение владения для Google или Microsoft 365, и так далее для нескольких десятков сервисов. Почтовые серверы и серверы имен распознаются так же, поэтому aspmx.l.google.com показывается как Google Workspace / Gmail.
О чем говорит столбец TTL
У каждой записи есть время жизни (TTL) в секундах. Столько резолвер может хранить ответ, прежде чем спросить снова. Значит, столько же посетитель может получать старое значение после того, как вы изменили запись. TTL 3600 означает до часа ожидания, 300 означает пять минут.
Резолвер, у которого запись уже есть в кэше, сообщает оставшееся время, а не настроенное вами значение, поэтому два запроса подряд могут дать 3600, а потом 2954. Чтобы избавить вас от этой путаницы, проверка по возможности берет TTL у одного из собственных серверов имен зоны, а примечание под результатами говорит, какой источник использован.
Две ситуации упоминаются только для сведения: TTL меньше 60 секунд и TTL больше суток у любых записей, кроме NS. Ни то ни другое не ошибка. Очень короткие значения нормальны у провайдеров, которые переключают трафик между дата-центрами через DNS. Очень длинные мешают только в тот день, когда нужно переехать.
Какие противоречия она отмечает
- Больше одной записи SPF
- Домен может публиковать только одну TXT-запись, начинающуюся с
v=spf1. Если их две, получатели возвращают постоянную ошибку, и SPF не проходит ни для одного письма. Объедините их в одну, напримерv=spf1 include:_spf.google.com include:sendgrid.net ~all. - CNAME рядом с другими записями
- Псевдоним заменяет имя целиком, поэтому не может делить его с MX, TXT или чем-то еще. Обычно это случается на вершине домена, где обязаны быть записи NS и SOA. Используйте там записи A и AAAA или функцию вашего DNS-хостинга «ALIAS», «ANAME» или «CNAME flattening».
- Нет записи с адресом
- Без A или AAAA к имени невозможно подключиться. Это нормально для имени, у которого есть только почтовые записи или записи подтверждения. Для сайта это проблема.
- Единственный сервер имен или ключи DNSSEC без записи DS
- С одним сервером имен и сайт, и почта зависят от того, работает ли одна машина. Ключи без записи DS у регистратора означают, что зона подписана, но подписи никто не проверяет.
- Почтовые серверы без SPF или запись DMARC не на том имени
- В обоих случаях подделать домен проще. Проверка аутентификации почты подробно разбирает SPF, DKIM и DMARC.
Результаты показывают то, что один публичный резолвер видит прямо сейчас. После недавнего изменения другие резолверы еще могут хранить прежнее значение, сравнить их можно с помощью проверки распространения DNS. Записи на именах, которые вы не вводили, например ключи DKIM под selector._domainkey или записи SRV, в список не попадают: DNS не позволяет запросить у домена все его имена.
Частые вопросы
Как посмотреть все DNS-записи домена?
Нужно запросить каждый тип записей по очереди, именно это страница и делает для распространенных типов. Запроса «дай мне все», который надежно работает, не существует. Большинство серверов сегодня отклоняют тип ANY или отвечают на него частично, а записи поддоменов видны, только если запрашивать эти поддомены по имени.
Чем запись A отличается от CNAME?
Запись A сразу дает IP-адрес. CNAME дает другое имя, и резолвер идет искать уже его. Используйте CNAME, когда провайдер просит указать на одно из его имен хостов: так он сможет менять адрес, не беспокоя вас. У имени с CNAME не может быть никаких других записей.
Сколько времени нужно, чтобы изменение DNS вступило в силу?
Не больше TTL, который был у записи до правки, плюс несколько секунд, нужных DNS-хостингу на публикацию. Если старый TTL был час, некоторые посетители будут видеть старое значение до часа. Смена серверов имен у регистратора зависит от TTL родительской зоны, часто это один-два дня.
Почему у моего домена так много TXT-записей?
Каждый подключенный онлайн-сервис, от почтовых платформ до аналитики и электронной подписи документов, просит добавить TXT-код, чтобы доказать, что домен ваш. Они накапливаются, и большинство можно удалить, когда сервис их проверил или когда вы перестали им пользоваться. Запись SPF оставьте, а перед удалением кода, который сервис может проверить повторно, загляните в его документацию.
Что значит «нет записи MX» для моей почты?
Для домена не назначен сервер, принимающий почту. Отправители тогда пробуют адрес из записи A, а это обычно веб-сервер, который почту не принимает, и письмо возвращается. Если домен никогда не должен получать почту, опубликуйте «null MX» (0 .), чтобы отправители сразу сдавались.
Можно ли проверить поддомен?
Да. Введите полное имя хоста, например shop.example.com. У поддомена обычно нет собственных записей NS или SOA. За него отвечают серверы имен вышестоящей зоны, и в результате указана эта зона.