Проверка распространения DNS

RSS

Changed a DNS record? Compare live answers from six major public resolvers to see whether your update has propagated.

Что такое распространение DNS?

Когда вы меняете DNS-запись, например направляете домен на новый хостинг, изменение почти сразу вступает в силу на ваших авторитетных серверах имён. Но рекурсивные резолверы по всему миру (вашего провайдера, Google, Cloudflare и другие) хранят в кэше старый ответ, пока не истечёт его TTL (время жизни записи). «Распространение» — это просто время, за которое эти кэши устаревают и получают новое значение. Обычно оно занимает от нескольких минут до TTL старой записи, а при смене самих серверов имён — до 48 часов, потому что делегирования в TLD имеют долгий TTL.

Как работает эта проверка

Мы запрашиваем одну и ту же запись в один и тот же момент у шести крупных публичных резолверов: Cloudflare (1.1.1.1), Google Public DNS (8.8.8.8), AdGuard DNS, NextDNS, DNS.SB и AliDNS. Затем мы выделяем те, что совпадают с ответом большинства. Эти сервисы используют anycast-сети со множеством точек присутствия, поэтому отражают то, что видит значительная часть пользователей интернета. Если все они согласны с новым значением, ваше изменение фактически распространилось.

Как ускорить распространение DNS

  1. Снизьте TTL заранее. За сутки до планируемого изменения уменьшите TTL записи до 300 секунд. Когда старый TTL истечёт, все кэши обновятся в течение пяти минут после вашего изменения.
  2. Внесите изменение, проверьте его через Проверку DNS-записей, а затем следите за этой страницей.
  3. Очистите локальные кэши. В Windows выполните ipconfig /flushdns; в macOS выполните sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Браузеры тоже ненадолго кэшируют DNS.
  4. Снова увеличьте TTL, когда всё стабилизируется, чтобы снизить нагрузку запросами.

Подробнее — в статье Что такое DNS и как он работает?

Часто задаваемые вопросы

Почему распространение занимает до 48 часов?

Изменения серверов имён (NS) у регистратора публикуются в зоне TLD, где делегирования обычно имеют TTL в один-два дня. Обычные изменения записей, как правило, завершаются намного быстрее.

Один резолвер всё ещё показывает старый IP. Что-то не так?

Скорее всего, нет. В этой точке резолвера пока хранится кэшированная копия. Посмотрите столбец TTL: он показывает, сколько секунд осталось до обновления.

Можно ли заставить резолвер обновиться?

Некоторые это позволяют: у Cloudflare и Google есть публичные страницы очистки кэша для их резолверов.

Обновлено

Скопировано в буфер обмена