Что запрашивает эта проверка DNS
Инструмент запрашивает у публичных рекурсивных резолверов типы записей, важные в повседневной работе: A и AAAA для адресов IPv4 и IPv6, NS для авторитетных серверов имён, MX для маршрутизации почты, TXT для SPF, подтверждения домена и подобных данных, CAA для ограничений на удостоверяющие центры, SOA для метаданных зоны и CNAME для псевдонимов.
Каждый ответ показывается вместе с TTL и резолвером, который его вернул. Если записи какого-то типа не существует, результат говорит об этом прямо, потому что отсутствие записи часто и есть тот ответ, который вы искали.
Типы записей простыми словами
Записи A и AAAA сопоставляют имя с адресами. CNAME говорит, что имя является псевдонимом другого имени; она не может соседствовать с другими записями на том же имени, поэтому корневой домен обычно не может быть CNAME, а провайдеры предлагают вместо этого ALIAS или CNAME flattening. NS-записи перечисляют серверы, авторитетные для зоны. MX-записи перечисляют почтовые серверы с приоритетом, и первым пробуется сервер с наименьшим числом.
TXT-записи содержат произвольный текст и сегодня используются главным образом для политик SPF и токенов подтверждения владения. CAA-записи называют удостоверяющие центры, которым разрешено выпускать сертификаты для домена. SOA-запись содержит серийный номер зоны и таймеры, включая значение, определяющее, как долго кэшируется ответ о несуществующем имени.
TTL, кэширование и миф о распространении
Изменения DNS не расходятся по интернету волной. Когда вы меняете запись, ваши авторитетные серверы начинают отдавать новое значение почти сразу. Время уходит на то, что резолверы по всему миру закэшировали старый ответ и вправе хранить его, пока не истечёт TTL. Запись с TTL 3600 может отдаваться из кэша до часа после изменения, с TTL 300 — пять минут.
Поэтому процент «распространения» не имеет смысла: нет фиксированного множества серверов, которые можно пересчитать, есть только кэши, истекающие в разные моменты. Полезные вопросы такие: что авторитетные серверы возвращают сейчас, каким был старый TTL и как давно сделано изменение. Отрицательные ответы тоже кэшируются, на срок, заданный в SOA-записи; поэтому совсем новая запись может какое-то время казаться отсутствующей резолверу, который запрашивал это имя незадолго до её появления.
Это не копия файла зоны
Проверка DNS задаёт конкретные вопросы о конкретных именах. Она не перечисляет все записи зоны и не может обнаружить поддомены, о которых вы не спрашивали. Полная передача зоны закрыта для посторонних практически на любом правильно настроенном сервере имён. Чтобы проверить поддомен вроде mail.example.com или служебную запись вроде _dmarc.example.com, запросите именно это имя.
Ответы могут на законных основаниях различаться в зависимости от местоположения. CDN и провайдеры управляемого DNS возвращают разные адреса в зависимости от того, откуда пришёл запрос. Два инструмента, показывающие разные A-записи для одного имени, не обязательно противоречат друг другу.
Типичные проблемы, которые выявляет проверка DNS
Типичные находки: NS-записи в зоне не совпадают с делегированием в реестре; MX-записи указывают на имя хоста без адреса или на CNAME; в TXT больше одной SPF-записи; забытая AAAA-запись указывает на старый сервер, хотя A-запись обновили; CAA-записи блокируют удостоверяющий центр, которым вы пытаетесь воспользоваться; очень большие TTL у записей, которые вы собираетесь переносить.