DNS-изменения: почему домен не сразу начинает работать
DNS Propagation: Почему изменения в домене не появляются сразу
Вы сменили хостинг и обновили nameservers у регистратора. Прошло 10 минут, а сайт всё ещё старый. Прошёл час — то же самое. Возникает ощущение, что что-то сломалось навсегда.
На самом деле это нормальное поведение DNS. Система специально устроена так, чтобы не менять данные мгновенно по всему миру.
Как работает DNS
DNS — это глобальная база, которая переводит доменные имена в IP-адреса. Когда вы вводите example.com в браузере, система находит соответствующий IP и отдаёт его браузеру.
DNS не хранится в одном месте. Информация распределена по тысячам серверов по всему миру. Каждый из них хранит копию данных и обновляет её по своим правилам. Именно поэтому изменения распространяются не сразу.
Какие серверы участвуют в запросе
Когда пользователь открывает сайт, запрос проходит через несколько уровней:
Recursive resolver — обычно это серверы провайдера или публичные DNS вроде Cloudflare и Google. Они принимают запрос от браузера и ищут ответ.
Root-серверы — верхний уровень иерархии. Их 13 кластеров по миру. Они не знают, где находится конкретный домен, но могут подсказать, к какому TLD-серверу обратиться дальше.
TLD-серверы — отвечают за домены определённой зоны. Например, .com-сервер знает, какие nameservers обслуживают каждый домен в этой зоне.
Authoritative nameservers — финальная инстанция. На них хранятся актуальные DNS-записи: A, AAAA, MX, TXT и другие. Именно здесь находится «правда» о вашем домене.
Как проходит запрос
При первом обращении к домену resolver последовательно спрашивает root-сервер, затем TLD-сервер, потом authoritative nameserver. Получив IP, resolver сохраняет его в кэш на время, указанное в TTL.
Пока TTL не истёк, resolver будет отдавать старый ответ, даже если вы уже поменяли настройки.
Почему изменения «застревают»
Каждая DNS-запись содержит TTL — время жизни. Это число секунд, в течение которых кэш считается актуальным. Если TTL равен 86400 (сутки), то resolver может не проверять обновления целый день.
Разные провайдеры кэшируют по-разному. У кого-то обновление придёт через 5 минут, у кого-то — через несколько часов. Нет центральной кнопки «обновить всё». Изменения доходят постепенно, resolver за resolver'ом.
Как ускорить и упростить процесс
Заранее снижайте TTL. За день-два до переезда хостинга поставьте TTL на 300 секунд. Тогда кэш будет обновляться быстро.
Проверяйте глобально. Не ориентируйтесь только на свой браузер. Используйте инструменты, которые опрашивают DNS-сервера в разных странах.
Выбирайте TTL осознанно. Для стабильных доменов подойдёт 3600 секунд и больше. Во время переезда — меньше.
Делайте изменения в тихое время. Меньше пользователей — меньше проблем, если что-то пойдёт не так.
Оставляйте старый хостинг на пару дней. Это даст запас на случай, если propagation затянется.
Почему так устроено
DNS — распределённая система без единой точки отказа. Если один сервер недоступен, работают другие. Но за эту надёжность приходится платить: изменения распространяются не мгновенно, а постепенно.
Понимание этого помогает не паниковать и планировать переезды грамотно. DNS не сломан — он просто работает по своим правилам.