🌐 Пропагация DNS: полное руководство
Почему изменения DNS не видны сразу и как это проверить
Что такое пропагация DNS
Пропагация DNS (DNS propagation) — это процесс распространения изменений в DNS-записях по всему интернету. Когда вы меняете IP-адрес домена, добавляете MX-запись или переносите домен на другой хостинг, эти изменения не становятся видны всему миру мгновенно.
Причина проста: DNS — это распределённая система кэширования. Тысячи DNS-серверов по всему миру хранят у себя копии ваших записей, и каждый обновляет их в своём темпе.
Почему изменения DNS не видны сразу
Когда браузер делает DNS-запрос для example.com, он не обращается напрямую к вашему DNS-серверу. Цепочка выглядит так:
- Кэш браузера — хранит ответы последних запросов (обычно 1 минута)
- Кэш ОС — системный резолвер (несколько минут)
- Кэш провайдерского DNS — ваш ISP (может хранить до 48 часов, игнорируя TTL)
- Публичные резолверы — Google 8.8.8.8, Cloudflare 1.1.1.1 (строго соблюдают TTL)
- Авторитативный DNS — ваш DNS-сервер у регистратора/хостинга
Каждый из этих слоёв кэширует ответ на время, указанное в TTL (Time to Live) записи. Пока кэш не устареет — старый ответ будет выдаваться снова и снова.
Роль TTL в распространении
TTL (Time to Live) — это число секунд, на которое DNS-серверы кэшируют запись. Оно задаётся в настройках вашей DNS-зоны.
| Значение TTL | Время кэша | Когда использовать |
|---|---|---|
300 | 5 минут | При активных изменениях, миграции |
3600 | 1 час | Стандартное значение для большинства записей |
86400 | 24 часа | Стабильные записи, редко меняющиеся |
604800 | 7 дней | MX, NS — очень стабильные записи |
Сколько времени занимает пропагация DNS
Технически, минимальное время пропагации равно TTL записи. Практически — дольше.
- Публичные резолверы (8.8.8.8, 1.1.1.1): строго по TTL, обычно 5-60 минут
- Провайдерские DNS: от 1 до 24 часов
- Корпоративные сети: могут кэшировать до 48 часов
- Полная пропагация: стандартно говорят «24-48 часов»
На практике, если TTL был 3600 (час) — через 1-2 часа большинство пользователей увидят новые записи. Если TTL был 86400 (сутки) — придётся ждать до двух суток.
Как проверить пропагацию DNS
Самый простой способ — воспользоваться нашим инструментом проверки из 23 точек по всему миру:
Введите домен и тип записи — увидите ответ от 23 серверов: Google, Cloudflare, Яндекс, DNSPod (Китай), BSNL (Индия) и других
Что означают результаты
- Все серверы показывают новый IP — пропагация завершена ✅
- Часть серверов — старый IP — идёт пропагация, ждите ⏳
- Расхождение между регионами — нормально в процессе распространения
- Большинство серверов — нет ответа — возможна ошибка в DNS-настройках
Командная строка
Если нужно проверить локально:
# Windows/macOS/Linux
nslookup example.com 8.8.8.8 # через Google DNS
nslookup example.com 1.1.1.1 # через Cloudflare
# macOS/Linux
dig example.com @8.8.8.8
dig example.com @77.88.8.8 # Яндекс
# Очистить локальный кэш (Windows)
ipconfig /flushdns
Как ускорить распространение DNS
До изменений (самое важное):
- Уменьшите TTL всех записей до
300за 24-48 часов - Дождитесь истечения старого TTL (чтобы кэши обновились с новым коротким TTL)
- Внесите изменения
- После завершения пропагации — верните TTL обратно на
3600
После изменений:
- Очистите кэш браузера (Ctrl+Shift+Delete)
- Выполните
ipconfig /flushdns(Windows) илиsudo dscacheutil -flushcache(macOS) - Попробуйте проверить через публичный DNS:
nslookup domain.com 8.8.8.8 - Подождите — ускорить пропагацию на стороне чужих серверов невозможно
DNS при переезде сайта на другой хостинг
Переезд сайта с одного хостинга на другой — самый частый сценарий когда важна пропагация DNS. Правильный алгоритм:
- За 48 часов до переезда: уменьшите TTL A-записи до 300
- Настройте новый хостинг — убедитесь что сайт работает по IP нового сервера
- Смените A-запись на IP нового хостинга
- Проверяйте пропагацию через наш инструмент — ждите пока 80%+ серверов покажут новый IP
- Держите старый хостинг активным ещё 48-72 часа — часть пользователей всё ещё получает старый IP
- После полной пропагации: верните TTL на 3600, отключите старый хостинг
Частые вопросы
Почему я вижу новый сайт, а коллега — старый?
Разные DNS-серверы провайдеров обновляются в разное время. Ваш провайдер мог уже получить новую запись, а его — нет. Или у вас настроены публичные DNS (8.8.8.8), а у него — провайдерские с долгим кэшем. Это нормально в процессе пропагации.
Как узнать что пропагация завершена?
Проверьте через наш инструмент пропагации — когда все (или почти все) серверы показывают одинаковый IP, пропагация завершена. Для критичных сервисов ориентируйтесь на 95%+ серверов с одинаковым ответом.
Влияет ли Cloudflare на скорость пропагации?
Да, положительно. Cloudflare строго соблюдает TTL и имеет очень короткие внутренние кэши. Если ваш домен проксируется через Cloudflare, изменение IP на странице Cloudflare распространяется по их сети обычно за 1-5 минут. Внешние DNS-серверы всё равно увидят IP Cloudflare, который не меняется.
Что делать если через 48 часов DNS всё ещё не обновился?
Проверьте: 1) правильно ли изменена запись на вашем DNS-сервере; 2) не зависло ли у вас в кэше (очистите через ipconfig /flushdns); 3) используйте nslookup domain.com 8.8.8.8 — если Google DNS уже видит новое значение, проблема у вашего провайдера. Можно временно сменить DNS на 8.8.8.8 в настройках сети.
Можно ли ускорить пропагацию платно?
Нет — нельзя заплатить провайдерам чужих пользователей за сброс кэша. Единственный способ ускорить пропагацию — уменьшить TTL заранее, до внесения изменений. После изменений остаётся только ждать.
Заключение
Пропагация DNS — неотъемлемая часть работы с доменами. Главное что нужно запомнить:
- TTL определяет минимальное время — уменьшайте его заранее
- 24-48 часов — стандартный максимум, на практике часто быстрее
- Разные пользователи видят разное — это нормально в процессе распространения
- Проверяйте из разных точек — не ориентируйтесь только на свой браузер