Изменение DNS-записи не применяется: роль TTL

  • Обновлено
  • Чтение ≈ 5 минут

Краткий ответ

Если изменение DNS-записи не вступает в силу, дело в TTL и кеше резолверов. Проверьте реальные значения через dig на авторитетных серверах, дождитесь окончания старого TTL, сбросьте локальный кеш и проверьте, что записи изменены у нужного провайдера NS.

В этой статье
  1. Как работает TTL
  2. Причины
  3. Порядок
  4. Проверка онлайн

#Как работает TTL

TTL (time to live) — время в секундах, в течение которого резолверы (провайдера, Google DNS, роутер, браузер) хранят ответ. Если запись раньше имела TTL 86400 (сутки), то после изменения часть пользователей будет видеть старый адрес до суток: кеш не обновится, пока не истечёт предыдущий TTL. Уменьшение TTL помогает только для следующих изменений и только если оно было сделано заранее. Кроме того, изменение может «не применяться» из-за того, что вы редактируете записи не у того провайдера: NS-серверы домена могут указывать на другой DNS-хостинг.

#Причины

Возможная причинаКак узнатьЧто делать
Старый TTL ещё не истёкБыло 86400.Разные пользователи видят разное.Подождите.
Запись изменена не у того провайдераNS на другом DNS-хостинге.Авторитетный сервер отдаёт старое.Меняйте у реального провайдера NS.
Кеш роутера или браузераЛокальный.Только у вас старый адрес.Сбросьте кеш, перезагрузите роутер.
Дублирующая записьДве A-записи.Часть запросов идёт на старый IP.Удалите лишнюю.
Смена NS ещё не распространиласьДелегирование обновляется до 24–48 часов.whois показывает новые NS, dig старые.Подождите.
Ошибка в записиОпечатка в IP.Адрес неверный.Исправьте.

#Порядок

  1. Проверьте, на каких серверах NS делегирован доменЭто действие выполняет владелец домена. Откройте панель регистратора и посмотрите раздел «Домены → DNS-серверы/NS» (названия зависят от компании); запишите опубликованные NS. Затем в терминале Linux/macOS выполните dig NS example.com +short, а в Windows — nslookup -type=NS example.com, заменив example.com вашим доменом. Сравните список с DNS-панелью, где редактируется зона: правки в другой, неделегированной зоне не увидят посетители. Если NS отличаются, сначала уточните у регистратора, какие серверы обслуживают домен.
  2. Убедитесь, что запись изменена именно тамВойдите в панель поставщика DNS, на которого указывают опубликованные NS домена, и откройте зону домена. Найдите запись по полному имени и типу (например, www + A), проверьте новое значение и сохранение. Затем опросите один из авторитетных NS запросом dig @ИМЯ_NS ИМЯ_ДОМЕНА A +noall +answer, заменив оба имени и тип на фактические; заполнять заглушки буквально нельзя. Если NS отдаёт старый ответ, исправляйте именно эту зону, а не сбрасывайте DNS-кеш посетителя.
  3. Запросите запись напрямую у авторитетного сервера, минуя кешДля владельца домена: сначала выясните фактические NS у регистратора. На Linux/macOS откройте «Терминал» и выполните dig @ns1.example.net example.com A +noall +answer, заменив имя NS и домен на реальные, а A — на тип изменённой записи. Данные в ответе должны совпадать с новой записью DNS-панели; запрос напрямую к NS обходит кеш публичного рекурсивного DNS. Если запись там старая или не найдена — исправляйте зону у поставщика DNS, а не ждите кеш.
  4. Сравните с ответами публичных резолверовОткройте терминал Linux/macOS и по очереди выполните dig @1.1.1.1 example.com A +noall +answer и dig @8.8.8.8 example.com A +noall +answer. Замените example.com и тип A на свои. В Windows используйте nslookup -type=A example.com 1.1.1.1, затем с 8.8.8.8. Сверьте IP и оставшийся TTL с ответом авторитетного сервера. Разные ответы при правильной авторитетной записи обычно указывают на разные состояния кеша; повторяйте проверку после окончания прежнего TTL.
  5. Подождите окончания старого TTLTTL означает срок, в течение которого рекурсивный DNS может хранить прежний ответ. В терминале Linux/macOS выполните dig @1.1.1.1 example.com A +noall +answer, заменив example.com и тип A на свои. В первой колонке после имени показан оставшийся TTL в секундах на данном DNS-сервере; другой сервер может иметь иной срок. Если авторитетный сервер уже отдаёт новое значение, не меняйте запись повторно: дождитесь истечения прежнего TTL, затем повторите запрос.
  6. Сбросьте локальный кеш DNS и кеш браузераОчистка локального DNS полезна, только если запись уже изменена у авторитетного сервера, а этот компьютер продолжает находить старый адрес. В Windows нажмите «Пуск», введите cmd, откройте «Командная строка» и выполните ipconfig /flushdns (сообщение об успешной очистке кеша). В macOS откройте «Терминал» и выполните sudo dscacheutil -flushcache, затем sudo killall -HUP mDNSResponder с паролем администратора; команды не показывают подробный вывод. В Linux с systemd-resolved выполните resolvectl flush-caches (права зависят от настроек). Выберите только вариант своей ОС и снова откройте нужный сайт; чужие кеши этим не очищаются.
  7. Перед будущими изменениями заранее уменьшите TTL до 300 секундЭто подготовка к следующей миграции, а не способ ускорить уже закешированное изменение. За время не меньше прежнего TTL до плановой смены адреса откройте DNS-панель авторитетной зоны, выберите нужную запись и уменьшите TTL, например до 300 секунд (если провайдер позволяет). Сохраните и проверьте опубликованное TTL командой dig example.com A +noall +answer. После миграции и стабилизации верните обычное значение. Текущее ожидание старых кешей сокращено не будет.
  8. Проверьте, что у домена нет дублирующих записейВ DNS-панели зоны откройте список ресурсных записей и выберите имя, тип (A, AAAA, CNAME, MX или TXT) и значение, которое намеревались изменить. Сверьте имя записи: символ @ обычно означает корень домена, а www — поддомен; интерфейсы могут автоматически добавлять доменное имя. Сохраните запись и затем запросите её у авторитетного сервера, чтобы проверить публикацию именно этой версии.
  9. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1У каких серверов делегирован домен
    Linux · Терминал (Bash)Команда
    У каких серверов делегирован домен
    dig +short NS example.ru
    Вариант 2Запрос напрямую к авторитетному серверу (замените ns1.example.net)
    Linux · Терминал (Bash)Команда
    Запрос напрямую к авторитетному серверу (замените ns1.example.net)
    dig @ns1.example.net example.ru A +noall +answer
    Вариант 3Что отвечают публичные резолверы и какой остаток TTL (второе число)
    Linux · Терминал (Bash)Команда
    Что отвечают публичные резолверы и какой остаток TTL (второе число)
    dig @8.8.8.8 example.ru A +noall +answer
    dig @1.1.1.1 example.ru A +noall +answer

Локальную очистку DNS выполняйте только для вашей ОС. Windows: «Командная строка» → ipconfig /flushdns; macOS: «Терминал» → sudo dscacheutil -flushcache, затем sudo killall -HUP mDNSResponder; Linux с systemd-resolved: «Терминал» → resolvectl flush-caches. Это альтернативы, не последовательность для исполнения на одном компьютере. Кешы чужих DNS-провайдеров очистить так нельзя.

Linux · Терминал (Bash)Команда
Трассировка делегирования от корня
dig +trace example.ru A

#Проверка онлайн

Сервисы https://dnschecker.org/ и https://www.whatsmydns.net/ показывают ответы серверов в разных странах. Если везде новая запись, а у вас старая, виноват локальный кеш. Если ответы различаются, процесс распространения ещё идёт. Помните, что некоторые провайдеры игнорируют низкий TTL и кешируют записи дольше, поэтому для критичных переключений планируйте окно с запасом.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.