Очистка кэша DNS: решаем проблемы с доступом к сайтам

Привет, коллега по несчастью, или просто любопытный пользователь, который столкнулся с тем самым «призраком в машине» – сайт не грузится, хотя у всех остальных всё работает. Знакомо? Мне, как сисадмину с двадцатилетним стажем, это до боли знакомо. И чаще всего этот призрак зовется кэшем DNS. В наших российских реалиях 2025 года, когда интернет-ландшафт меняется порой быстрее, чем погода, понимание и умение работать с этим зверем становится не просто полезным навыком, а жизненной необходимостью.

За эти годы я повидал всякое: от корпоративных сетей, где из-за одной устаревшей записи DNS вставал целый отдел продаж, до домашнего роутера у тещи, на котором «Госуслуги» не открывались. И в 90% случаев решение лежало на поверхности – очистка кэша DNS. Но это не всегда банальный ipconfig /flushdns. Порой это целая детективная история.

Что такое кэш dns и почему он «тухнет»

Представьте, что DNS – это такая огромная телефонная книга интернета. Когда вы вводите адрес сайта, например, yandex.ru, ваш компьютер не знает, где он находится. Он обращается к DNS-серверу, чтобы тот подсказал ему IP-адрес этого сайта. И вот тут в дело вступает кэш DNS – это такая локальная, временная копия этой телефонной книги, которая хранится на вашем компьютере, браузере или даже роутере.

Зачем это нужно? Для скорости! Вместо того чтобы каждый раз спрашивать у DNS-сервера, где живет yandex.ru, ваш компьютер запоминает это на некоторое время. Это время называется TTL (Time To Live – время жизни записи). Если TTL, скажем, 3600 секунд (час), то в течение часа ваш комп будет ходить по памяти, а не по справочнику. Это экономит трафик и ускоряет загрузку страниц.

Но что происходит, когда сайт переезжает на новый сервер, меняет IP-адрес, или какой-то ушлый админ на хостинге решил обновить CDN? А ваш компьютер об этом не знает! Он продолжает ходить по старому адресу, который у него в кэше. И вот тут-то и начинается самое интерес – «сайт не открывается», «ошибка соединения», «страница не найдена». Вы видите призрак старого интернета, а ваш сосед уже вовсю листает новый дизайн сайта.

На моей практике, самый частый «попадос» с кэшем DNS случается после миграции сайтов. Перевезли клиента на новый хостинг, сменили IP – а у него половина офиса не видит сайт. Почему? Потому что их компьютеры закешировали старый IP, и им глубоко фиолетово, что там в глобальном DNS уже все обновилось. Или другой случай: клиент купил новый домен, привязал к старому сайту, но у части пользователей он не открывается, потому что DNS-серверы провайдера (а, соответственно, и локальный кэш) еще не обновились. Это особенно актуально, когда TTL был выставлен очень высоким, а об этом забыли.

Чистим кэш на разных платформах: не только «флашднс»

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

Windows: классика с нюансами

Начнем с самой распространенной ОС. Стандартная команда, которую знает каждый: ipconfig /flushdns. Открываем командную строку (обязательно от имени администратора!) и вводим. Вроде бы все. Но не всегда!

Нюанс из практики: Бывает, что после ipconfig /flushdns сайт все равно не открывается. В моем опыте, особенно на старых версиях Windows или после каких-то кривых обновлений, эта команда не всегда срабатывает на 100%. Или, точнее, срабатывает, но не так, как ожидаешь. В таких случаях я прибегаю к более радикальным мерам: перезапуск службы «Клиент DNS» (DNS Client).

Лайфхак: Откройте командную строку от имени администратора и введите:

net stop dnscache
net start dnscache

Это принудительно останавливает и запускает службу, которая отвечает за локальный кэш DNS. Это как перезагрузить компьютер, но только для одной конкретной службы. Если flushdns – это вытереть пыль, то перезапуск службы – это уже генеральная уборка.

Кейс из жизни: Однажды, на одном из предприятий, где я внедрял новую систему документооборота, после ее развертывания часть пользователей не могла зайти на сайт системы. ipconfig /flushdns не помогал. Я уже начал грешить на сетевое оборудование, но потом вспомнил про этот «генеральный» метод. После перезапуска службы DNS-клиента на проблемных машинах, все заработало. Оказалось, у них были какие-то специфические политики безопасности, которые мешали нормальной работе flushdns.

Unix/Linux: зоопарк дистрибутивов

Здесь все зависит от того, какой дистрибутив вы используете и какой DNS-резолвер там установлен. В современных системах чаще всего встречается systemd-resolved.

Для систем с systemd-resolved (Ubuntu 18.04+, Fedora, Debian 9+):

sudo systemd-resolve --flush-caches

Иногда нужно перезапустить службу:

sudo systemctl restart systemd-resolved.service

Для старых систем или тех, что используют nscd (Name Service Cache Daemon):

sudo /etc/init.d/nscd restart

или, если у вас systemd, но используется nscd:

sudo systemctl restart nscd.service

Нюанс из практики: Не все Linux-системы одинаково полезны в этом плане. Помню, как-то на сервере с CentOS 7, где стоял nginx и проксировал на другой сервис, после обновления IP этого сервиса, nginx продолжал ломиться по старому адресу. Час убил, пока допёр, что systemd-resolved кэширует, а я его не чистил. Это был 2023 год, и я уже думал, что знаю всё про Linux, но нет, система всегда найдет чем удивить. Всегда проверяйте, какой резолвер у вас активен!

macOS: свой подход к кэшу

Apple тоже любит делать по-своему. Для macOS используется команда dscacheutil и перезапуск службы mDNSResponder.

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Нюанс из практики: На моей практике, mDNSResponder довольно упрям, и иногда даже эта команда не помогает. Особенно на MacBook’ах, которые неделями не выключаются. В таких случаях, если пользователь совсем не технически подкован, я просто советую перезагрузить компьютер. Это не элегантно, но работает в 99% случаев.

Android: дикий запад

С мобильными устройствами все сложнее. В Android нет прямой команды для очистки системного DNS-кэша, как на десктопах. Чаще всего проблемы с DNS на Android связаны с кэшем конкретных приложений или самого Wi-Fi/сотового соединения.

Лайфхак:

  1. Режим полета: Самый простой и часто работающий способ. Включите режим полета на 10-15 секунд, затем выключите. Это принудительно сбросит все сетевые соединения, включая DNS.
  2. Очистка кэша браузера: Если проблема только с сайтами в браузере, попробуйте очистить кэш и данные самого браузера (Chrome, Firefox и т.д.) через настройки приложений.
  3. Перезагрузка устройства: Банально, но эффективно.
  4. Сброс сетевых настроек: Это более радикальный шаг. В настройках Android есть пункт «Сброс настроек сети» (или что-то похожее). Это сбросит Wi-Fi, Bluetooth, мобильные данные, VPN и DNS-серверы к значениям по умолчанию. Помогает, когда совсем ничего не помогает, но требует переподключения ко всем Wi-Fi сетям.
  5. Chrome: В Chrome на Android (как и на десктопе) есть скрытая страница для работы с DNS: введите chrome://net-internals/#dns в адресную строку и нажмите «Clear host cache». Это сбросит только DNS-кэш Хрома.

Кейс из жизни: С Андроидом всегда весело. Особенно когда тебе звонит бабушка и говорит, что у неё «сайт госуслуг не работает», а ты понимаешь, что она полгода не перезагружала планшет. В 90% случаев, если не помогло «включить-выключить Wi-Fi», то «режим полёта» на 30 секунд творит чудеса. А если и это не помогло, то просто почистить кэш браузера или, на худой конец, переустановить приложение. Это не совсем DNS-кэш, но для пользователя эффект тот же.

Браузеры: свой собственный кэш

Помимо системного кэша DNS, многие браузеры (особенно Chrome) имеют свой собственный, внутренний кэш DNS. Это сделано для еще большей скорости, но может стать источником проблем.

Лайфхак для Chrome: Введите в адресную строку chrome://net-internals/#dns и нажмите кнопку «Clear host cache». Это мгновенно очистит внутренний DNS-кэш Chrome, не затрагивая системный.

Предостережение: Очистка кэша браузера (история, куки, кэшированные файлы) не всегда очищает его DNS-кэш. Это разные вещи. Если у вас проблемы с доступом к конкретному сайту только в одном браузере, а в другом все ОК – скорее всего, дело в его внутреннем кэше.

Нюансы российских реалий 2025 года и продвинутые лайфхаки

В условиях постоянно меняющегося интернета, особенно в России, где то и дело появляются новые «ограничения» или «оптимизации» от провайдеров, знание только базовых команд уже недостаточно. Вот что еще стоит учитывать:

DNS over HTTPS (DoH) и DNS over TLS (DoT)

Это технологии шифрования DNS-запросов. Они стали довольно популярны, потому что позволяют обходить цензуру и улучшать приватность. Многие браузеры (Chrome, Firefox, Edge) по умолчанию могут использовать DoH (например, Cloudflare DNS 1.1.1.1 или Google DNS 8.8.8.8) вместо системного резолвера. И вот тут начинается веселье:

Нюанс: Если ваш браузер использует DoH, то очистка системного DNS-кэша (ipconfig /flushdns) может не помочь, потому что браузер вообще не использует системный DNS-резолвер для этих запросов. Он общается напрямую с DoH-сервером.

Лайфхак: Если у вас проблемы с сайтом, а все системные очистки не помогли, проверьте настройки DoH в браузере. В Chrome это «Настройки» -> «Конфиденциальность и безопасность» -> «Безопасность» -> «Использовать безопасный DNS». Попробуйте отключить его или сменить провайдера DoH, если он включен. Или же, если вы используете VPN-сервисы, которые часто поставляются со своими DoH/DoT резолверами (вроде AdGuard VPN), проверьте их настройки.

DNS-серверы провайдера и роутер

Ваш домашний роутер тоже имеет DNS-кэш. И DNS-серверы вашего интернет-провайдера (Ростелеком, Билайн, МТС и т.д.) тоже кэшируют записи. Иногда проблема не в вашем компьютере, а на уровне выше.

Лайфхак:

  1. Перезагрузка роутера: Банально, но часто помогает. Отключите его от питания на 30 секунд и включите снова. Это сбросит его внутренний кэш.
  2. Смена DNS-серверов: Если провайдерские DNS-серверы медленно обновляются или барахлят (а такое бывает, поверьте), попробуйте вручную прописать на своем компьютере или роутере публичные DNS-серверы:
    • Cloudflare: 1.1.1.1 и 1.0.0.1
    • Google: 8.8.8.8 и 8.8.4.4
    • Яндекс.DNS: 77.88.8.8 и 77.88.8.1 (у Яндекса есть еще «Семейный» и «Безопасный» варианты, что в наших реалиях тоже может быть полезно).

    Это как сменить плохого почтальона на быстрого курьера. На моей практике, это одно из первых действий, когда пользователь жалуется на «медленный интернет» или «не открывается какой-то сайт».

VPN-сервисы и их влияние

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

Инструменты диагностики: nslookup и dig

Всегда говорю своим молодым специалистам: nslookup – ваш лучший друг, когда «что-то не так с интернетом». Это командная утилита для запроса DNS-серверов. В Windows просто введите nslookup <домен>. В Linux/macOS есть еще более мощная утилита dig (например, dig <домен>).

Лайфхак: Используйте nslookup, чтобы проверить, какой IP-адрес видит ваш компьютер для проблемного домена. Сравните его с тем, что показывают онлайн-сервисы типа whatsmydns.net. Если они разные – вы нашли виновника: у вас устаревший кэш.

Например, если nslookup показывает старый IP, а онлайн-сервисы – новый, то проблема точно в кэше на вашем пути.

Заключение

Очистка кэша DNS – это не панацея от всех бед интернета, но это один из первых и самых эффективных шагов в диагностике и устранении проблем с доступом к сайтам. Мой двадцатилетний опыт подсказывает: если сайт не открывается, а интернет в целом работает, в 7 из 10 случаев виноват DNS-кэш. И чем глубже вы понимаете, как он работает на разных уровнях – от браузера до роутера и провайдера – тем быстрее вы сможете найти и устранить проблему. Удачи в вашей борьбе с «призраками» интернета!

Отказ от ответственности

Информация, представленная в этой статье, основана на личном опыте и знаниях автора. Применение любых команд или рекомендаций, упомянутых здесь, вы осуществляете на свой страх и риск. Автор не несет ответственности за любые потенциальные проблемы или потерю данных, которые могут возникнуть в результате неверного использования предоставленных инструкций. Если вы не уверены в своих действиях, рекомендуется обратиться за помощью к квалифицированному специалисту.

Радик Камаев

Сисадмин с 20-летним опытом. Windows, Unix, Android.

Оцените автора
Познавательный портал