Что такое распространение 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
- Снизьте TTL заранее. За сутки до планируемого изменения уменьшите TTL записи до 300 секунд. Когда старый TTL истечёт, все кэши обновятся в течение пяти минут после вашего изменения.
- Внесите изменение, проверьте его через Проверку DNS-записей, а затем следите за этой страницей.
- Очистите локальные кэши. В Windows выполните
ipconfig /flushdns; в macOS выполнитеsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Браузеры тоже ненадолго кэшируют DNS. - Снова увеличьте TTL, когда всё стабилизируется, чтобы снизить нагрузку запросами.
Подробнее — в статье Что такое DNS и как он работает?
Часто задаваемые вопросы
Почему распространение занимает до 48 часов?
Изменения серверов имён (NS) у регистратора публикуются в зоне TLD, где делегирования обычно имеют TTL в один-два дня. Обычные изменения записей, как правило, завершаются намного быстрее.
Один резолвер всё ещё показывает старый IP. Что-то не так?
Скорее всего, нет. В этой точке резолвера пока хранится кэшированная копия. Посмотрите столбец TTL: он показывает, сколько секунд осталось до обновления.
Можно ли заставить резолвер обновиться?
Некоторые это позволяют: у Cloudflare и Google есть публичные страницы очистки кэша для их резолверов.
Обновлено