DNS-запрос

Спросите публичный резолвер, что он на самом деле хранит для домена: записи A, AAAA, MX, TXT, CNAME, NS и SOA вместе с TTL. Это взгляд одного резолвера — сначала Google, Cloudflare как запасной вариант, — а не всемирная карта распространения, и страница говорит об этом везде, где это важно.

Чем ответ является на самом деле

Когда вы меняете DNS-запись, не существует единого момента, в который весь интернет приходит к согласию. Каждый резолвер кэширует то, что он в последний раз получил, на срок, указанный в TTL записи, и каждый обновляется по собственному расписанию. Поэтому инструмент запроса может показать вам только текущий взгляд одного резолвера — а полезный инструмент говорит, чей именно. Эта страница сначала запрашивает Google Public DNS поверх HTTPS; если Google не отвечает, она повторяет попытку через резолвер Cloudflare и сообщает, кто ответил. Если двое когда-нибудь разойдутся во мнениях, это нормально: дождитесь истечения более длинного TTL и проверьте снова.

Типы записей покрывают вопросы, которые люди действительно задают. A и AAAA — это то, куда указывает имя: IPv4 и IPv6. MX — это то, куда уходит почта, а его числа — приоритеты: меньшее доставляется первым. TXT несёт строки проверки (SPF, DKIM, подтверждения владения доменом) и является записью, которую чаще всего вставляют неправильно, поэтому страница показывает строку точно так, как она возвращена, включая кавычки. CNAME — псевдоним другого имени. NS называет серверы, авторитетные для зоны. SOA несёт серийный номер и таймеры зоны — серийный номер увеличивается при каждом изменении зоны, что делает его самым быстрым способом понять, действительно ли правка опубликована.

Почему TTL важнее самой записи

Большинство DNS-инцидентов — это инциденты TTL. Запись с TTL 3600 секунд продолжает отдавать старое значение ещё час после того, как вы её изменили, и никакой инструмент запроса не может заставить обновление произойти быстрее — кэш живёт на резолверах, которые вы не контролируете. Практическое правило — понижать TTL до нескольких минут за день-два до запланированной миграции, а затем снова повышать, когда новые значения стабилизируются. Столбец TTL в каждом результате нужен для того, чтобы вы могли увидеть до того, как действовать, сколько времени потребуется, чтобы любому изменению, которое вы собираетесь внести, поверили.

Пустой ответ — тоже ответ. NXDOMAIN означает, что резолвер авторитетно утверждает: этого имени не существует — как правило, это опечатка или запись, которую удалили, а не изменили. NOERROR без записей запрошенного типа означает, что имя существует, но не содержит ничего этого типа: например, домен с записью A и без записи MX принимает веб-трафик и не принимает почту. И то и другое отличается от SERVFAIL, который означает, что отказал сам резолвер и результату не следует доверять ни в какую сторону.

Связанные инструменты: запрос домена — для регистрационной записи, стоящей за именем; калькулятор подсетей — если запись A приводит вас в диапазон, который нужно спланировать; и проверка здоровья сайта — для полной картины: доступность, сертификат, срок действия и записи вместе.

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

Чей ответ я вижу?

Ответ публичного резолвера, к которому обращались, — сначала Google Public DNS, Cloudflare вторым, если Google откажет. Это взгляд одного резолвера на зону, а не всемирная карта распространения: другие резолверы могут по-прежнему хранить более старые записи, пока не истекут их кэшированные копии.

Почему изменённая запись всё ещё показывает старое значение?

Ответы DNS кэшируются на срок TTL, показанный рядом с каждой записью. Пока не пройдёт столько секунд, резолверы продолжают отдавать старое значение. Понижайте TTL задолго до запланированного изменения, если хотите, чтобы новое значение распространилось быстро.

Что означает NXDOMAIN?

Резолвер авторитетно утверждает, что этого имени в зоне не существует — в отличие от SERVFAIL, который означает, что при ответе что-то пошло не так. Опечатка в домене — самая частая причина NXDOMAIN для имени, которое, как вы ожидали, должно существовать.

Отправляет ли эта страница мой запрос ещё куда-нибудь?

Домен, который вы запрашиваете, отправляется публичному DNS-резолверу, который на него отвечает, — Google или Cloudflare как запасной вариант, — потому что так работает DNS поверх HTTPS. Ничего другого о вашем визите не отправляется, и никакие аккаунты или отслеживание не задействованы.

Могу ли я здесь же проверить регистрацию домена?

Регистрационные данные (регистратор, даты создания и истечения) — это другой запрос. Используйте запрос домена для данных реестра RDAP или проверку срока домена для обратного отсчёта и мониторинга.