Что такое кэш DNS и зачем его очищать
DNS (Domain Name System) — это система, которая преобразует доменные имена (например, example.com) в IP‑адреса, необходимые для установления соединения в сети.
- 1. Что такое кэш DNS и зачем его очищать
- 2. Почему команда systemd-resolve не работает в Ubuntu 22.04+
- 3. Как очистить кэш DNS в разных версиях Ubuntu
- 4. Пошаговая инструкция для Ubuntu 22.04+
- 5. Если вы используете сторонние DNS‑сервисы
- 6. Когда ещё стоит очищать кэш DNS
- 7. Частые ошибки и их решения
- 8. Заключение
Чтобы ускорить работу, операционная система сохраняет результаты 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+
- Откройте терминал
- Сочетание клавиш:
Ctrl + Alt + T. - Или через меню приложений: найдите «Terminal».
- Сочетание клавиш:
- Проверьте статус кэша (опционально)
sudo resolvectl statistics
Эта команда покажет:
- текущий размер кэша;
- количество успешных обращений (hits);
- число промахов (misses).
- Очистите кэш
sudo resolvectl flush-caches
Система выполнит операцию без вывода сообщений (если нет ошибок).
- Подтвердите очистку
Повторно запустите:
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 или прокси.
- При переходе на новый интернет‑провайдер.
Частые ошибки и их решения
- «Команда не найдена»
- Причина: используется устаревший синтаксис
systemd-resolve. - Решение: перейдите на
resolvectlдля Ubuntu 22.04+.
- Причина: используется устаревший синтаксис
- «Permission denied»
- Причина: команда запущена без
sudo. - Решение: добавьте
sudoперед командой.
- Причина: команда запущена без
- Кэш не очищается
- Причина: работает сторонний DNS‑сервис.
- Решение: проверьте и очистите кэш для используемого сервиса (см. раздел выше).
Заключение
Очистка кэша DNS — безопасная и эффективная процедура для:
- устранения сетевых проблем;
- ускорения доступа к сайтам;
- применения новых DNS‑настроек.
Ключевые моменты:
- В Ubuntu 22.04+ используйте
resolvectl flush-caches. - Для старых версий Ubuntu —
systemd-resolve --flush-caches. - Проверяйте статус кэша через
resolvectl statistics. - Учитывайте сторонние DNS‑сервисы при наличии.
Регулярная очистка кэша (раз в 1–2 месяца)поможет поддерживать стабильную работу сети без лишних задержек.