Что такое кэш DNS и зачем его очищать

DNS (Domain Name System) — это система, которая преобразует доменные имена (например, example.com) в IP‑адреса, необходимые для установления соединения в сети.

Чтобы ускорить работу, операционная система сохраняет результаты DNS‑запросов в локальном кэше. Это позволяет:

  • сократить время загрузки сайтов;
  • снизить нагрузку на DNS‑серверы;
  • уменьшить сетевой трафик.

Однако в некоторых случаях кэш может стать источником проблем:

  • устаревшие записи — если IP‑адрес сайта изменился, система продолжит использовать старый из кэша;
  • ошибки разрешения имён — некорректные данные в кэше приводят к невозможности открыть сайт;
  • проблемы после смены DNS‑провайдера — система может продолжать использовать старые настройки;
  • сетевые сбои — повреждённые записи в кэше нарушают подключение.

Очистка кэша DNS — простой способ устранить эти проблемы без перезагрузки системы.

Почему команда systemd-resolve не работает в Ubuntu 22.04+

В Ubuntu 22.04 и новее произошли изменения в механизме управления DNS:

  • Утилита systemd-resolve была изменена на resolvectl.
  • Сервис systemd-resolved по‑прежнему работает в фоне, но интерфейс взаимодействия с ним изменился.
sudo systemd-resolve --status

система ответит: «команда не найдена», так как этот синтаксис больше не поддерживается.

Как очистить кэш DNS в разных версиях Ubuntu

Для Ubuntu 22.04 и новее:

sudo resolvectl flush-caches

Для Ubuntu 20.04 и старше:

sudo systemd-resolve --flush-caches

Пошаговая инструкция для Ubuntu 22.04+

  1. Откройте терминал
    • Сочетание клавиш: Ctrl + Alt + T.
    • Или через меню приложений: найдите «Terminal».
  2. Проверьте статус кэша (опционально)
sudo resolvectl statistics

Эта команда покажет:

  • текущий размер кэша;
  • количество успешных обращений (hits);
  • число промахов (misses).
  1. Очистите кэш
sudo resolvectl flush-caches

Система выполнит операцию без вывода сообщений (если нет ошибок).

  1. Подтвердите очистку

Повторно запустите:

sudo resolvectl statistics

В строке Current Cache Size должно быть 0.

Дополнительные команды для диагностики

  • Просмотр списка DNS‑серверов:
sudo resolvectl status 

Отображает активные DNS‑серверы и их статус.

  • Проверка разрешения конкретного домена:
resolvectl query example.com

Показывает IP‑адрес для указанного домена с учётом текущего кэша.

Если вы используете сторонние DNS‑сервисы

При настройке альтернативных DNS‑решений (например, dnsmasq, unbound, bind) кэш нужно очищать отдельно:

  • Для dnsmasq:
sudo killall -HUP dnsmasq

Или перезапустите сервис:

sudo systemctl restart dnsmasq
  • Для nscd (Name Service Cache Daemon):
sudo nscd -i hosts

Когда ещё стоит очищать кэш DNS

  • После изменения DNS‑серверов в настройках сети.
  • При появлении ошибок типа DNS_PROBE_FINISHED_NXDOMAIN.
  • Если сайт не открывается, хотя другие устройства подключаются к нему.
  • После настройки VPN или прокси.
  • При переходе на новый интернет‑провайдер.

Частые ошибки и их решения

  1. «Команда не найдена»
    • Причина: используется устаревший синтаксис systemd-resolve.
    • Решение: перейдите на resolvectl для Ubuntu 22.04+.
  2. «Permission denied»
    • Причина: команда запущена без sudo.
    • Решение: добавьте sudo перед командой.
  3. Кэш не очищается
    • Причина: работает сторонний DNS‑сервис.
    • Решение: проверьте и очистите кэш для используемого сервиса (см. раздел выше).

Заключение

Очистка кэша DNS — безопасная и эффективная процедура для:

  • устранения сетевых проблем;
  • ускорения доступа к сайтам;
  • применения новых DNS‑настроек.

Ключевые моменты:

  • В Ubuntu 22.04+ используйте resolvectl flush-caches.
  • Для старых версий Ubuntu — systemd-resolve --flush-caches.
  • Проверяйте статус кэша через resolvectl statistics.
  • Учитывайте сторонние DNS‑сервисы при наличии.

Регулярная очистка кэша (раз в 1–2 месяца)поможет поддерживать стабильную работу сети без лишних задержек.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0 0 голоса
Рейтинг статьи
0
Можете поделится своими мыслями.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять