«Распространение» — это лишь истечение срока жизни кэшей
0 мин
вы сохраняете изменение
0-5 мин
DNS-хостинг обновляет данные
до конца TTL
старый ответ ещё в кэше
после TTL
новый ответ видят все
Ничего никуда не рассылается — каждый кэш просто перестаёт использовать свою копию
Что делать, если изменения DNS не вступают в силу
Изменение DNS, которое будто бы не вступает в силу, — один из самых частых источников раздражения в повседневной работе с инфраструктурой, в основном потому, что лежащая в основе система (распределённое кеширование с истечением срока у каждой записи) остаётся невидимой, пока специально в неё не заглянешь.
Пройдите эти шаги, прежде чем считать, что всё сломано
- Убедитесь, что изменение действительно сохранено на авторитативной стороне: запрашивайте собственные авторитативные серверы имён домена напрямую, а не обычный публичный резолвер, чтобы исключить тихо не сохранившееся изменение или то, что оно ещё не синхронизировалось внутри инфраструктуры провайдера.
- Проверьте прежний TTL записи: если он был, скажем, 86400 секунд (24 часа), резолвер, закешировавший старый ответ за несколько минут до вашего изменения, не спросит снова вплоть до целых суток.
- Исключите кеш DNS на уровне браузера или ОС: он находится даже ближе к вам, чем настроенный резолвер, и может хранить ответ независимо от него.
- Убедитесь, что вы изменили именно ту запись, которую собирались: на удивление частая ошибка — случайно обновить тестовую или непроизводственную DNS-зону.
- Проверьте из нескольких точек: то, что один резолвер показывает старый ответ, не говорит о том, распространилось ли изменение во всех остальных местах.
Менее очевидная причина: вторичный сервер имён отстаёт
В крупных DNS-конфигурациях часто есть первичный (или «master») сервер имён, где и вносятся изменения, и один или несколько вторичных («slave») серверов, периодически копирующих зону с него через передачу зоны. Если вторичный сервер ещё не получил последнюю передачу — из-за неверно настроенного расписания передачи, сетевой проблемы между первичным и вторичным серверами или просто потому, что интервал передачи ещё не истёк, — резолверы, которые обратятся именно к этому вторичному серверу, продолжат получать старый ответ, хотя сам первичный сервер полностью актуален, а кеширование по TTL у всех резолверов давно истекло. Эта причина встречается реже обычного кеширования, но её стоит исключить отдельно, когда разные авторитативные серверы имён одного домена расходятся друг с другом, а не только когда расходятся публичные резолверы.
Планирование заранее избавляет от большей части проблем
Для плановых изменений — миграции, смены провайдера, переключения — самое эффективное, что можно сделать, это понизить TTL за день-два до работ. Это стоит небольшого увеличения числа запросов, зато изменение распространится за минуты, а не за потенциально целые сутки. Установите значение, дождитесь, пока полностью пройдёт окно прежнего TTL, внесите изменение, а затем верните TTL обратно, когда убедитесь, что всё выглядит правильно.
Очистка собственного локального кеша, когда виноват именно он
Если авторитативные серверы имён и все публичные резолверы, которые вы проверили, уже сходятся на новом ответе, а одна конкретная машина всё ещё показывает старый, остаётся подозревать её собственный локальный кеш.
| Платформа | Команда | Что очищает |
|---|---|---|
| Windows | ipconfig /flushdns | Кеш DNS на уровне ОС |
| macOS | sudo dscacheutil -flushcache | Кеш DNS на уровне ОС |
| Linux (systemd-resolved) | sudo resolvectl flush-caches | Кеш DNS на уровне ОС |
| Chrome | chrome://net-internals/#dns | Собственный отдельный кеш браузера |
Проверять это стоит только после того, как вы убедились, что авторитативная сторона уже верна: очистка локального кеша, когда настоящая запись ещё не обновилась, просто даст вам свежую копию того же старого ответа и будет выглядеть так, будто очистка не сработала.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Читайте также
Сколько обычно занимает проверка
Диагностика медленного DNS-разрешения
Медленно открывающийся сайт иногда оказывается медленным DNS-запросом. Как отличить одно от другого и что обычно становится причиной.
Три причины, почему один домен отвечает по-разному
Геомаршрутизация
Свой edge-сервер в каждом регионе
Кэширование
Независимые TTL и кэши
Split-horizon
Другой ответ — так задумано
Почему домен разрешается по-разному в разных сетях
Разный IP дома, в офисе и в мобильной сети телефона не обязательно ошибка. Разбираем, что на самом деле происходит.
Четыре исхода — четыре разных дальнейших шага
Тайм-аут DNS или SERVFAIL: в чём разница
Оба выглядят как неудачный DNS-запрос, но тайм-аут и SERVFAIL указывают на разные причины и требуют разных дальнейших шагов.