Сброс кэша DNS в Linux: очистка кэша systemd-resolved по шагам
Почему сервер видит старый IP-адрес после смены DNS?
При переносе корпоративного портала, CRM-системы или сайта на новый сервер вы меняете A-запись в DNS-панели домена. Однако операционная система Linux кэширует ответы DNS-серверов в локальной службе systemd-resolved для ускорения сетевых запросов. В итоге возникают следующие сбои:
- Команда
ping site.company.localпродолжает отправлять пакеты на старый выключенный IP-адрес. - Сервис не может подключиться к внешней обновленной базе данных или API.
- Браузер или curl возвращает старую версию сайта.
Инструкция по очистке DNS кэша в Ubuntu / Debian
В современных дистрибутивах Ubuntu (начиная с 18.04 и до 24.04 LTS) за локальное разрешение доменных имен отвечает служба systemd-resolved.
- Шаг 1. Очистка кэша через утилиту resolvectl (Ubuntu 20.04 / 22.04 / 24.04):
sudo resolvectl flush-caches - Шаг 2. Очистка кэша для более старых систем (Ubuntu 18.04):
sudo systemd-resolve --flush-caches - Шаг 3. Перезапуск сетевого DNS-демона:
Для гарантированного сброса внутренних таблиц перезапустите службу:
sudo systemctl restart systemd-resolved - Шаг 4. Проверяем статистику сброса:
Убедимся, что счетчик кэша обнулился (значение Current Cache Size: 0):
sudo resolvectl statistics - Шаг 5. Проверяем новый IP-адрес:
Выполним тестовый запрос к домену:
nslookup your-site.ru # Либо утилитой dig: dig +short your-site.ru
Частые вопросы (FAQ)
Что делать, если на сервере используется кэширующий демон dnsmasq?
Если в вашей инфраструктуре установлен dnsmasq, сбросьте его кэш перезапуском: sudo systemctl restart dnsmasq.
Почему после сброса кэша все равно возвращается старый IP?
Проверьте файл локальных переопределений /etc/hosts (nano /etc/hosts). Если в нем жестко прописана связка домена и старого IP, система всегда будет отдавать предпочтение этому файлу в обход любых DNS.
Что такое TTL в DNS?
TTL (Time To Live) — время жизни записи в секундах. Пока не истечет таймер TTL, заданный у вашего DNS-хостинга (обычно от 300 до 86400 секунд), внешние вышестоящие DNS-серверы провайдеров не будут запрашивать обновленный IP.
Как сбросить кэш DNS на клиентском компьютере с Windows 10/11?
Откройте командную строку от администратора и выполните: ipconfig /flushdns.