DNS в Linux Linux

Linux: как сбросить кэш DNS (systemd-resolved, dnsmasq, nscd)

  • Обновлено
  • Чтение ≈ 2 минуты
  • Нужны права администратора

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

Команда сброса зависит от резолвера: resolvectl flush-caches, перезапуск dnsmasq или nscd -i hosts.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
Сброс DNS-кэша

Команда сброса зависит от резолвера: resolvectl flush-caches, перезапуск dnsmasq или nscd -i hosts.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Старая записьНе тот IP. Сопоставьте этот признак с точной стадией возникновения неисправности.Установите совместимую версию только из доверенного источника, предварительно проверив модель или пакет.
Несколько кэшейСравните состояние после штатного закрытия и повторного открытия «DNS Linux»; не очищайте локальные данные до проверки резервной копии.Исправьте конкретный параметр после сохранения его исходного значения; не удаляйте весь профиль ради проверки.
TTLВ случае «Linux: как сбросить кэш DNS (systemd-resolved, dnsmasq, nscd)» проверьте наличие причины «TTL» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Уточните эту причину и выберите подходящее действие из инструкции.
Кэш браузераСравните состояние после штатного закрытия и повторного открытия «DNS Linux»; не очищайте локальные данные до проверки резервной копии.Исправьте конкретный параметр после сохранения его исходного значения; не удаляйте весь профиль ради проверки.

#Пошаговое решение

  1. Определите точную причинуВ терминале сначала проверьте, какой резолвер используется: resolvectl status, systemctl is-active systemd-resolved, а при наличии dnsmasq или unbound — systemctl is-active dnsmasq и systemctl is-active unbound. Не перезапускайте сразу все службы: некоторые из них вообще не установлены.
  2. Выполните основное действиеЕсли работает systemd-resolved, выполните sudo resolvectl flush-caches; если используется dnsmasq или unbound, изучите установленный режим: для unbound с доступной командой unbound-control можно очистить конкретное имя командой sudo unbound-control flush example.com, заменив имя, либо использовать штатный способ вашей сборки. Перезапуск службы может кратковременно оборвать DNS.
  3. Исключите другую причинуЕсли кэш держит приложение или браузер, очистка systemd-resolved может не повлиять на результат. Сравните getent hosts example.com с запросом dig @1.1.1.1 example.com A и учитывайте TTL публичного DNS: локальный сброс не принуждает внешние серверы обновить записи.
  4. Сброс кэша
    Linux · Терминал (Bash)КомандаНужен sudo
    Сброс кэша.
    resolvectl flush-caches
  5. Проверьте результат и остановитесь при рискеПовторите разрешение конкретного имени и сравните с авторитетной записью. При сохранении старого IP убедитесь, что редактировали действующую DNS-зону и что старая запись не осталась в /etc/hosts.

#Если проблема осталась

Если «Linux: как сбросить кэш DNS (systemd-resolved, dnsmasq, nscd)» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

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

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

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