Битлента
Словарь терминов3 мин чтения·

Кэш DNS: зачем он нужен и как его сбросить

Кэш DNS хранит недавние ответы о соответствии имён и адресов. Разбираем, где он находится, зачем его чистить и как это сделать в разных системах.

Зачем система запоминает ответы

Каждый вопрос к DNS-серверу занимает время, а страницы обычно обращаются к десяткам доменов. Чтобы не спрашивать одно и то же снова и снова, ответы запоминаются на срок, заданный владельцем домена в параметре TTL. Пока срок не вышел, устройство берёт адрес из памяти и не обращается к сети.

Такой кэш существует на нескольких уровнях сразу: в самом браузере, в операционной системе, на роутере и у DNS-сервера провайдера. Поэтому чистка одного уровня не означает, что старый ответ исчез со всех остальных.

У разных записей срок жизни разный: у сервисов, которые часто переезжают, он может составлять минуты, у стабильных сайтов часы или сутки. Именно поэтому одни изменения вступают в силу почти сразу, а другие расходятся по сети заметно дольше.

Когда кэш начинает мешать

Проблемы возникают, когда данные устарели. Типичный пример: владелец сайта перенёс его на другой сервер и сменил IP, а ваше устройство ещё держит прежний адрес и идёт на выключенный или чужой узел. Тогда сайт не открывается или показывает старую версию, хотя у знакомых всё работает.

Похожая ситуация после смены DNS-сервера в настройках или после отключения защищённого DNS: часть записей ещё берётся из памяти, и разницы вы сразу не заметите. Ошибка обычно проходит сама после истечения TTL, но ждать иногда неудобно.

Порядок очистки шаг за шагом

Начинайте с ближайшего уровня. Сначала перезапустите браузер или откройте у него внутреннюю страницу DNS, если она есть, и сбросьте кэш там. Затем очистите кэш системы.

В Windows используется команда ipconfig /flushdns в командной строке. В macOS команды зависят от версии системы, чаще всего это связка с dscacheutil и перезапуском службы mDNSResponder. В Linux с systemd-resolved применяется resolvectl flush-caches. На Android и iOS отдельной кнопки нет, помогает переключение режима полёта или перезагрузка. Наконец, перезагрузите роутер: он тоже кэширует ответы.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Как убедиться, что дело было в кэше

Сравните результаты двух запросов. Команда nslookup с именем сайта покажет адрес, полученный вашим DNS-сервером. Если запросить ту же запись у другого общедоступного сервера и получить другой адрес, значит, ваш сервер или кэш отдаёт старые данные.

Ещё один признак: сайт открывается с мобильной сети, но не с домашнего Wi-Fi. Это указывает на проблему в цепочке DNS домашней сети, а не на сам сайт. После очистки кэша проверьте страницу снова, желательно в окне без сохранённых данных.

Что чистка кэша не исправит

Она не решит проблемы, у которых иная причина: нестабильный канал, ошибки сертификата, сбой на стороне сайта или ограничение доступа на уровне IP-адреса. Если после сброса ничего не поменялось, значит, устаревшая запись не виновата, и пора искать причину дальше по цепочке.

Ещё одно заблуждение: регулярная очистка якобы ускоряет интернет. Наоборот, после неё первые обращения к сайтам выполняются чуть медленнее, так как всё приходится узнавать заново. Чистить нужно по конкретному поводу, а не по расписанию.

Полезно также помнить о файле hosts: в нём хранятся ручные соответствия имён и адресов, и они имеют приоритет над кэшем и запросами. Если сайт открывается не там, где должен, проверьте, нет ли в этом файле старой строки, оставленной программой или вами.

Кэш в самом браузере и на роутере

Про браузерный кэш помнят реже всего. У популярных браузеров есть собственное хранилище соответствий имён и адресов, независимое от системного. Полная перезагрузка браузера обычно очищает его, а в некоторых есть внутренняя страница со списком записей и кнопкой очистки.

На роутере кэш есть, если он выполняет роль DNS-ретранслятора: принимает запросы от устройств и пересылает дальше. Перезагрузка роутера сбрасывает его. Если вы правили запись на собственном DNS-сервере и не видите изменений, проверьте, не отвечает ли за вас чужой кэш с ещё не истёкшим TTL. В таком случае остаётся подождать либо использовать другой резолвер.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
dnsкэшдиагностика

Часто задаваемые вопросы

Читайте также