DNS отвечает за преобразование привычных доменных имен вроде example.com в IP-адреса серверов. Чтобы не выполнять один и тот же DNS-запрос при каждом открытии сайта, операционная система, браузер и некоторые сетевые приложения временно сохраняют уже полученные ответы.
Обычно этот механизм ускоряет работу с интернетом и уменьшает количество запросов к DNS-серверам. Однако иногда кэш начинает мешать. Например, сайт уже переехал на новый сервер, DNS-запись была изменена, а компьютер продолжает обращаться к старому IP-адресу. В других случаях в кэше может сохраниться отрицательный ответ о том, что домен не существует.
Самый простой способ исключить такой сценарий при диагностике — очистить DNS-кэш.
В этой инструкции подробно разберем, как очистить кэш DNS в Windows, macOS и Linux, как сбросить собственный DNS-кэш браузера, что делать с локальными DNS-сервисами на сервере и как проверить результат.
Что такое DNS-кэш и зачем он нужен?
Когда приложение пытается открыть сайт по доменному имени, системе необходимо узнать IP-адрес сервера.
Упрощенно процесс выглядит следующим образом:
Если необходимый адрес уже находится в локальном кэше и запись еще считается действительной, обращаться ко всей цепочке DNS-серверов повторно не требуется.
Например, при первом обращении к домену компьютер может получить следующую информацию:
example.com → 203.0.113.25
TTL: 3600Значение TTL — Time To Live — определяет, как долго DNS-запись может храниться в кэше. После истечения этого времени резолвер должен запросить актуальные данные повторно.
Такой подход решает сразу несколько задач:
- ускоряет повторное открытие сайтов;
- уменьшает количество DNS-запросов;
- снижает нагрузку на DNS-инфраструктуру;
- уменьшает задержку перед установлением соединения с сервером.
Проблема возникает тогда, когда сохраненная информация перестает соответствовать текущей конфигурации DNS.
Где может храниться DNS-кэш?
DNS-кэш — это не обязательно одна таблица внутри операционной системы.
В современной системе одновременно может существовать несколько независимых уровней кэширования.
| Уровень | Что может кэшироваться | Как очищается |
|---|---|---|
| Браузер | Результаты собственных DNS-запросов | Через внутренние инструменты браузера или перезапуск |
| Операционная система | Домены и связанные с ними IP-адреса | Системной командой |
| Локальный DNS-сервис | Ответы systemd-resolved, dnsmasq, nscd и других сервисов | Командой конкретного сервиса |
| Маршрутизатор | DNS-ответы для устройств локальной сети | Через интерфейс маршрутизатора или его перезагрузку |
| Рекурсивный DNS-сервер | Ответы для большого количества клиентов | Управляется оператором DNS-сервера и TTL записей |
Из-за такой архитектуры команда очистки DNS в операционной системе не всегда моментально решает проблему.
Например, Windows уже может использовать новую запись, а Chrome продолжит обращаться к значению, оставшемуся во внутреннем кэше браузера. Или локальная машина получит актуальные данные, но используемый DNS-сервер провайдера все еще будет хранить предыдущий ответ до окончания TTL.
Поэтому при сложной диагностике важно понимать, на каком именно уровне находятся устаревшие данные.
Когда необходимо очищать DNS-кэш?
Регулярно очищать DNS-кэш «для профилактики» обычно не требуется. Кэш специально создается как временный и автоматически обновляется после окончания срока действия записей.
Ручной сброс полезен прежде всего при диагностике проблем.
Наиболее распространенные ситуации:
- домен недавно начал использовать новый IP-адрес;
- сайт был перенесен на другой сервер;
- изменились записи A, AAAA, CNAME или другие параметры DNS;
- сайт открывается на одном устройстве, но не работает на другом;
- браузер продолжает показывать DNS-ошибку после исправления конфигурации;
- домен ранее не существовал, но запись уже была добавлена;
- изменилась конфигурация локального DNS-сервера;
- компьютер был переключен на другой DNS-резолвер;
- после подключения или отключения VPN появились проблемы с разрешением имен;
- необходимо проверить DNS-инфраструктуру без влияния старых локальных записей.
Особенно часто с необходимостью очистки кэша сталкиваются системные администраторы во время переноса сайта между серверами.
Предположим, домен первоначально указывал на:
example.com → 192.0.2.10После миграции A-запись была изменена:
example.com → 192.0.2.50Авторитетный DNS-сервер уже возвращает новый IP, однако локальный компьютер некоторое время может продолжать использовать 192.0.2.10.
Очистка DNS-кэша заставляет систему отказаться от сохраненного ответа и выполнить новое разрешение имени.
Что происходит после очистки DNS-кэша?
Очистка не удаляет настройки DNS и не изменяет доменные записи.
Команда лишь удаляет временно сохраненные результаты предыдущих запросов на том уровне, к которому она относится.
После этого при следующем обращении к домену система должна снова получить DNS-ответ.
Например:
Важно понимать, что локальная очистка не может удалить запись из кэша DNS-сервера интернет-провайдера или публичного DNS-резолвера.
Если устаревший ответ находится именно там, необходимо дождаться окончания TTL или временно проверить домен через другой DNS-сервер.
Как очистить кэш DNS в Windows
В Windows для локального разрешения имен используется служба DNS Client. Система сохраняет полученные DNS-ответы, чтобы повторные обращения к уже известным доменам выполнялись быстрее.
Microsoft предоставляет команду ipconfig /flushdns, предназначенную именно для очистки DNS resolver cache при диагностике разрешения имен.
Очистка DNS через командную строку
Откройте меню Пуск, найдите:
cmdЗапустите Командную строку с правами администратора.
Введите:
ipconfig /flushdnsПри успешном выполнении Windows сообщит об очистке кэша DNS Resolver.
После этого можно повторно открыть проблемный сайт.
Как посмотреть DNS-кэш Windows перед очисткой?
При диагностике иногда полезно сначала посмотреть, какие записи уже сохранены системой.
Используйте:
ipconfig /displaydnsКоманда выводит содержимое DNS resolver cache.
Это удобно, например, если необходимо понять, используется ли старый IP конкретного домена.
Можно выполнить:
ipconfig /displaydnsнайти необходимое имя, затем очистить данные:
ipconfig /flushdnsи снова обратиться к домену.
Очистка DNS через PowerShell
То же действие можно выполнить через PowerShell.
Запустите PowerShell от имени администратора и выполните:
Clear-DnsClientCacheMicrosoft указывает, что Clear-DnsClientCache удаляет содержимое клиентского DNS-кэша и по назначению эквивалентен ipconfig /flushdns.
Такой вариант особенно удобен при автоматизации администрирования Windows.
Например, команда может использоваться внутри PowerShell-сценария:
Write-Host "Очистка DNS-кэша..."
Clear-DnsClientCache
Write-Host "DNS-кэш очищен."Нужно ли выполнять ipconfig /release и ipconfig /renew?
Нет, если задача заключается только в очистке DNS-кэша.
Команды:
ipconfig /release
ipconfig /renewотносятся к DHCP-конфигурации сетевого интерфейса и используются для освобождения и повторного получения IP-параметров.
Они решают другую задачу.
Для обычной очистки DNS достаточно:
ipconfig /flushdnsКак очистить DNS-кэш в macOS
В macOS механизм разрешения имен отличается от Windows. В современных версиях системы важную роль в обработке DNS-запросов играет mDNSResponder.
Для сброса локального состояния DNS откройте приложение Terminal.
Его можно найти через Spotlight:
TerminalПосле этого выполните:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponderИли одной строкой:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderСистема запросит пароль учетной записи с административными правами.
При вводе пароль в Terminal визуально не отображается — это нормальное поведение.
После выполнения команды отдельное сообщение об успешной очистке может не появиться.
Что делают эти команды?
Первая команда:
sudo dscacheutil -flushcacheсбрасывает соответствующий системный кэш.
Вторая:
sudo killall -HUP mDNSResponderотправляет процессу mDNSResponder сигнал HUP, после чего состояние разрешения имен обновляется.
После выполнения команд рекомендуется закрыть и снова открыть браузер, особенно если проблема проявлялась только в нем.
Как очистить DNS-кэш в Linux
В Linux нет единственного универсального DNS-кэша для всех дистрибутивов.
Способ очистки зависит от того, какой локальный резолвер установлен и запущен в системе.
На современных дистрибутивах часто используется:
- systemd-resolved;
- dnsmasq;
- nscd;
- локальный Unbound или другой DNS-резолвер.
Кроме того, некоторые Linux-системы вообще не используют локальный кэширующий DNS-сервис. В таком случае очищать на уровне ОС может быть нечего.
Как определить, используется ли systemd-resolved?
Сначала проверьте состояние сервиса:
systemctl status systemd-resolvedДля компактной проверки:
systemctl is-active systemd-resolvedЕсли сервис запущен, команда вернет:
activeТакже полезно выполнить:
resolvectl statusКоманда показывает конфигурацию DNS, связанную с интерфейсами системы.
Очистка systemd-resolved
Если система использует systemd-resolved, выполните:
sudo resolvectl flush-cachesresolvectl официально поддерживает операцию flush-caches, которая удаляет DNS resource record cache, поддерживаемый systemd-resolved.
В актуальной документации Ubuntu эта же команда используется для сброса локального DNS-кэша перед диагностикой DNSSEC.
После этого можно посмотреть статистику резолвера:
resolvectl statisticsНа современных версиях systemd также может быть доступна команда просмотра содержимого кэша:
resolvectl show-cacheСтарый вариант команды systemd-resolved
На некоторых более старых системах вместо resolvectl можно встретить:
sudo systemd-resolve --flush-cachesЕсли команда systemd-resolve отсутствует, используйте современный вариант:
sudo resolvectl flush-cachesОчистка кэша dnsmasq
Сначала проверьте, запущен ли сервис:
systemctl status dnsmasqЕсли dnsmasq используется в качестве локального DNS-резолвера, его кэш можно сбросить, отправив процессу сигнал SIGHUP:
sudo killall -HUP dnsmasqВ документации dnsmasq указано, что при получении SIGHUP сервис очищает DNS-кэш и повторно загружает ряд файлов с локальными именами.
Еще один практический вариант:
sudo systemctl restart dnsmasqПри перезапуске процесс создается заново, поэтому его предыдущий оперативный кэш также исчезает.
Очистка кэша nscd
Если сервер использует Name Service Cache Daemon, проверьте его состояние:
systemctl status nscdДля гарантированного сброса состояния можно перезапустить сервис:
sudo systemctl restart nscdОднако перед выполнением команды на production-сервере стоит убедиться, что именно nscd используется для разрешения имен и его перезапуск не затронет другие компоненты инфраструктуры.
Как понять, какой DNS-сервис используется?
Удобно выполнить несколько проверок:
systemctl is-active systemd-resolved
systemctl is-active dnsmasq
systemctl is-active nscdДополнительно:
cat /etc/resolv.confЕсли там указан локальный адрес:
nameserver 127.0.0.53это характерно для конфигурации с локальным stub resolver systemd-resolved.
Можно также проверить:
resolvectl statusПеред изменением DNS-конфигурации на сервере важно сначала определить, какой компонент действительно отвечает за разрешение имен. Одновременный перезапуск всех возможных DNS-служб — плохой метод диагностики.
Разверните сервер для сайта или приложения в Serverspace
Проблемы с DNS особенно часто появляются во время миграции проекта: новый сервер уже запущен, сайт и база данных перенесены, A-запись домена изменена, но отдельные устройства продолжают обращаться к старому адресу.
Для размещения сайтов, API, баз данных, контейнеров и других сервисов можно использовать облачные VPS Serverspace. Конфигурация виртуального сервера выбирается под конкретную нагрузку, а при развитии проекта ресурсы можно масштабировать без покупки физического оборудования. На платформе Serverspace.kz также доступны виртуальные серверы с выделенным IP и безлимитным трафиком.
Создайте облачный сервер Serverspace и разверните необходимое окружение для сайта, приложения или тестовой инфраструктуры.
Как очистить DNS-кэш Google Chrome?
Очистка кэша операционной системы не всегда затрагивает состояние DNS внутри браузера.
Chromium содержит собственный host resolver cache и предоставляет внутренний интерфейс для его очистки. В актуальном исходном коде Chromium по-прежнему присутствует действие Clear host cache.
В Chrome введите в адресной строке:
chrome://net-internals/#dnsНайдите раздел Host resolver cache и нажмите:
Clear host cacheПосле этого полезно открыть:
chrome://net-internals/#socketsи при необходимости выполнить:
Flush socket poolsВторое действие закрывает существующие сетевые соединения браузера, которые тоже могут мешать чистой повторной проверке.
Учитывайте, что закрытие socket pools может прервать активные соединения на открытых страницах.
Как очистить DNS-кэш Microsoft Edge?
Microsoft Edge основан на Chromium, поэтому имеет похожий внутренний сетевой интерфейс.
Введите:
edge://net-internals/#dnsНажмите:
Clear host cacheПосле этого при необходимости откройте:
edge://net-internals/#socketsи выполните:
Flush socket poolsЕсли Edge по-прежнему использует старый адрес, полностью закройте браузер и запустите его снова.
Как очистить DNS-кэш Firefox?
Firefox также имеет собственный DNS-кэш.
Для управления им откройте:
about:networking#dnsНа странице DNS нажмите:
Clear DNS CacheНаличие отдельной функции очистки DNS Cache подтверждается непосредственно в актуальном исходном коде интерфейса Firefox.
Это особенно важно учитывать при использовании DNS over HTTPS.
При DoH браузер способен отправлять DNS-запросы через собственный выбранный резолвер, поэтому результат проверки в Firefox может отличаться от результата системных инструментов.
Почему очистки DNS в операционной системе иногда недостаточно?
Рассмотрим типичный сценарий.
Администратор изменяет A-запись:
site.kz → 198.51.100.10на:
site.kz → 198.51.100.20После этого на компьютере выполняется:
ipconfig /flushdnsНо сайт все равно открывается со старого сервера.
Причина может находиться выше по цепочке:
Поэтому полноценная диагностика требует последовательной проверки каждого уровня.
Как очистить DNS-кэш маршрутизатора?
Некоторые домашние и корпоративные маршрутизаторы выполняют роль DNS-forwarder и могут хранить результаты запросов.
Единой команды здесь нет: процедура зависит от производителя и прошивки устройства.
Возможные варианты:
- кнопка очистки DNS cache в панели администрирования;
- перезапуск DNS-сервиса через консоль;
- перезагрузка маршрутизатора.
Для домашней сети наиболее универсальным вариантом обычно является перезапуск устройства.
Перед перезагрузкой корпоративного маршрутизатора необходимо учитывать влияние на остальных пользователей сети.
Как очистить DNS-кэш на Android?
В Android процесс зависит от версии системы, производителя устройства, используемого браузера и настроек Private DNS.
Для обычного пользователя наиболее простая последовательность выглядит так:
- Закройте проблемный браузер.
- Включите режим полета.
- Подождите несколько секунд.
- Отключите режим полета.
- Откройте браузер снова.
Если проблема наблюдается только в Chrome, дополнительно можно использовать внутреннюю страницу:
chrome://net-internals/#dnsЕсли устройство использует Private DNS, стоит также проверить, какой сервер задан в сетевых настройках.
Полная перезагрузка смартфона также сбрасывает временное состояние системных процессов.
Как очистить DNS-кэш на iPhone и iPad?
В iOS и iPadOS нет обычной пользовательской команды терминала вроде ipconfig /flushdns.
Для обновления сетевого состояния можно:
- включить и выключить авиарежим;
- переподключиться к Wi-Fi;
- перезагрузить устройство.
Если ошибка связана только с одним браузером, дополнительно стоит перезапустить приложение.
Не следует сразу выполнять полный сброс сетевых настроек iPhone только ради очистки DNS. Такая операция удаляет сохраненные сетевые параметры и является значительно более радикальной мерой.
Как проверить DNS после очистки кэша?
Сам факт успешного выполнения команды еще не означает, что проблема была именно в локальном кэше.
Следующий этап — проверить, какой IP возвращается для домена.
Проверка через nslookup
В Windows, Linux и macOS при наличии инструмента можно использовать:
nslookup example.comПример результата:
Name: example.com
Address: 203.0.113.25Обратите внимание на адрес DNS-сервера, который отображается в выводе.
Проверка через dig
На Linux и macOS часто удобнее использовать:
dig example.comДля получения только адреса:
dig +short example.comНапример:
203.0.113.25Запрос к конкретному DNS-серверу
Очень полезный способ диагностики — сравнить ответы нескольких резолверов.
Например:
nslookup example.com 1.1.1.1или:
nslookup example.com 8.8.8.8Для dig:
dig @1.1.1.1 example.comи:
dig @8.8.8.8 example.comЕсли разные DNS-серверы возвращают разные IP-адреса, проблема, скорее всего, находится уже не в локальном кэше компьютера.
Как проверить авторитетный DNS-сервер напрямую?
При миграции сайта важно отделить две разные ситуации:
- авторитетные DNS-серверы уже содержат новую запись, но рекурсивные резолверы еще используют старую;
- сама авторитетная DNS-конфигурация содержит неправильный адрес.
Сначала узнайте NS-записи домена:
dig NS example.comПредположим, результат содержит:
ns1.example-dns.com
ns2.example-dns.comТеперь запросите A-запись напрямую:
dig @ns1.example-dns.com example.com AЕсли авторитетный сервер уже возвращает правильный IP, а обычный:
dig example.comпоказывает предыдущий адрес, вероятной причиной является промежуточный DNS-кэш.
Как посмотреть TTL DNS-записи?
TTL особенно важен после изменения DNS.
Используйте:
dig example.comВ секции ANSWER может появиться строка наподобие:
example.com. 600 IN A 203.0.113.25Число:
600означает TTL в секундах.
То есть кэширующий резолвер имеет право некоторое время использовать сохраненный ответ, прежде чем запрашивать данные заново.
По этой причине перед переносом production-проекта часто заранее уменьшают TTL используемых записей.
Почему после смены DNS приходится ждать?
В разговорной речи этот процесс часто называют «распространением DNS».
Однако технически DNS-запись обычно не рассылается одновременно всем серверам интернета.
Рекурсивные резолверы самостоятельно запрашивают данные и сохраняют их на время, определенное TTL.
Представим, что раньше использовалось:
TTL = 86400То есть 24 часа.
За час до переноса сервера администратор меняет IP домена.
Проблема заключается в том, что часть резолверов могла получить старую запись незадолго до изменения и имеет право продолжать использовать ее до завершения предыдущего TTL.
Схематично:
и далее
Локальная команда flushdns не заставит чужой рекурсивный DNS-сервер удалить этот ответ.
Что такое отрицательный DNS-кэш?
Кэшироваться могут не только успешные ответы.
Предположим, пользователь пытается открыть:
api.example.comдо того, как соответствующая DNS-запись была создана.
Резолвер получает ответ, что имя не существует.
Такой отрицательный результат также может временно сохраняться.
После этого администратор создает запись:
api.example.com → 203.0.113.80но отдельные клиенты некоторое время продолжают получать ошибку.
В такой ситуации очистка DNS-кэша особенно полезна: она позволяет исключить сохраненный отрицательный ответ и выполнить запрос заново.
Как очистить DNS-кэш на VPS?
На VPS подход ничем принципиально не отличается от обычного Linux-сервера. Сначала необходимо определить, используется ли локальный caching resolver.
Начните с:
cat /etc/resolv.confи:
resolvectl statusЗатем проверьте сервис:
systemctl status systemd-resolvedЕсли он активен:
sudo resolvectl flush-cachesДля dnsmasq:
sudo killall -HUP dnsmasqЕсли сервер не использует локальный DNS-кэш, проблема может находиться:
- в приложении;
- в контейнере;
- в DNS-кэше браузера;
- в стороннем recursive resolver;
- в настройках /etc/hosts;
- в неправильной DNS-записи;
- в локальной инфраструктуре Docker или Kubernetes.
DNS-кэш и Docker
При работе с контейнерами диагностика усложняется, поскольку DNS-запрос приложения проходит через дополнительный сетевой уровень.
Полезно проверить разрешение имени непосредственно из контейнера:
docker exec -it container_name getent hosts example.comЕсли внутри установлен nslookup:
docker exec -it container_name nslookup example.comИли dig:
docker exec -it container_name dig example.comСравните результат с хостовой системой:
dig +short example.comЕсли хост возвращает новый IP, а приложение внутри контейнера продолжает работать со старым адресом, необходимо исследовать DNS-конфигурацию контейнера и самого приложения.
Иногда наиболее быстрым диагностическим тестом становится пересоздание конкретного контейнера, но делать это без понимания архитектуры production-приложения не следует.
Не забывайте про файл hosts
DNS-кэш далеко не всегда является причиной неправильного IP.
На компьютере может существовать статическая запись в hosts.
В Windows файл расположен по адресу:
C:\Windows\System32\drivers\etc\hostsВ Linux и macOS:
/etc/hostsНапример:
192.0.2.15 example.comТакая запись может заставлять систему обращаться к конкретному адресу независимо от публичной DNS-конфигурации.
Поэтому если после очистки кэша домен продолжает разрешаться неправильно, обязательно проверьте hosts.
На Linux:
cat /etc/hostsНа Windows файл можно открыть текстовым редактором с административными правами.
Что делать, если очистка DNS-кэша не помогла?
Если после выполнения всех команд проблема сохраняется, не стоит многократно повторять очистку.
Лучше последовательно определить уровень сбоя.
Шаг 1. Проверьте само доменное имя
Выполните:
nslookup example.comили:
dig example.comЕсли DNS вообще не возвращает адрес, проблема находится глубже, чем браузерный кэш.
Шаг 2. Сравните разные DNS-серверы
Например:
dig @1.1.1.1 example.com
dig @8.8.8.8 example.comЕсли ответы различаются, вероятно, задействованы разные состояния рекурсивного кэша.
Шаг 3. Проверьте авторитетный сервер
dig NS example.comПосле этого:
dig @authoritative-ns.example example.com AЕсли уже здесь возвращается неправильный IP, локальный кэш ни при чем — необходимо исправлять DNS-зону.
Шаг 4. Проверьте hosts
Linux/macOS:
cat /etc/hostsWindows:
C:\Windows\System32\drivers\etc\hostsШаг 5. Очистите браузерный DNS
Для Chrome:
chrome://net-internals/#dnsДля Edge:
edge://net-internals/#dnsДля Firefox:
about:networking#dnsШаг 6. Закройте старые соединения
Современные браузеры активно переиспользуют установленные HTTP/2 и HTTP/3-соединения.
Поэтому даже после получения нового DNS-ответа уже существующее сетевое соединение иногда мешает чистой проверке.
Полностью перезапустите браузер или используйте его сетевые диагностические инструменты.
Шаг 7. Проверьте VPN и Private DNS
VPN-клиент может использовать собственные DNS-серверы.
В результате:
Система без VPN → DNS A
Система через VPN → DNS BОтветы могут различаться.
Отключите VPN для теста или изучите его DNS-конфигурацию.
Шаг 8. Проверьте приложение отдельно
Некоторые приложения поддерживают собственное кэширование имен или создают соединения на длительное время.
Если:
dig example.com
уже показывает новый IP, но приложение продолжает обращаться к старому, стоит искать проблему непосредственно на уровне приложения.
Типичные ошибки при работе с DNS-кэшем
Очищать только кэш браузера
Browser cache с HTML, JavaScript, изображениями и другими файлами сайта — не то же самое, что DNS cache.
Удаление истории и временных файлов браузера не гарантирует сброс DNS resolver cache.
Считать, что flushdns обновляет DNS во всем интернете
Команда:
ipconfig /flushdnsработает только с локальным DNS-кэшем Windows.
Она не изменяет записи домена и не управляет сторонними DNS-серверами.
Постоянно менять DNS-серверы
Если домен настроен неправильно на авторитетном сервере, переключение между публичными резолверами не исправит причину.
Сначала необходимо установить, какой ответ должен быть правильным.
Забывать про браузерный кэш
Системные команды могут показывать правильный результат, тогда как браузер продолжает использовать собственное состояние.
Поэтому при веб-диагностике нужно учитывать оба уровня. Chromium и Firefox действительно имеют отдельные механизмы DNS-кэширования.
Не проверять файл hosts
Статическая запись в hosts легко выглядит как проблема DNS-кэша, хотя повторная очистка кэша ничего не изменит.
Перезапускать все сетевые сервисы подряд
На рабочем сервере это может привести к лишнему простою.
Сначала определите, используется ли systemd-resolved, dnsmasq, nscd или другой компонент, и только затем воздействуйте на конкретный сервис.
Безопасно ли очищать DNS-кэш?
В обычной ситуации — да.
При очистке удаляются временные результаты разрешения имен. Пароли, пользовательские файлы, cookies, данные сайтов и DNS-настройки при этом не удаляются.
После сброса первые обращения к некоторым доменам могут занять немного больше времени, потому что системе необходимо заново выполнить DNS-запрос.
Затем кэш начнет формироваться снова автоматически.
Нужно ли регулярно очищать DNS-кэш?
Нет.
При исправной DNS-инфраструктуре кэш управляется автоматически в соответствии со сроками жизни записей и логикой используемого резолвера.
Например, systemd-resolved умеет самостоятельно сбрасывать поддерживаемые им кэши при изменении сетевой конфигурации; его документация прямо отмечает, что ручная очистка обычно нужна прежде всего в диагностических сценариях.
Поэтому создавать ежедневную задачу вида:
ipconfig /flushdnsили:
resolvectl flush-cachesдля обычного компьютера или сервера практически никогда не требуется.
Практический алгоритм диагностики DNS-проблем
Если сайт неожиданно перестал открываться после миграции или изменения DNS, можно использовать следующий порядок действий:
| Шаг | Действие | Что проверяем |
|---|---|---|
| 1 | nslookup или dig | Какой IP возвращается сейчас |
| 2 | Запросить несколько DNS-серверов | Отличаются ли ответы резолверов |
| 3 | Проверить авторитетный NS | Правильно ли настроена DNS-зона |
| 4 | Проверить TTL | Может ли еще действовать старая запись |
| 5 | Очистить кэш ОС | Исключаем локально сохраненный ответ |
| 6 | Очистить DNS-кэш браузера | Исключаем внутренний resolver браузера |
| 7 | Проверить hosts, VPN и контейнеры | Ищем альтернативный источник неправильного адреса |
Такой подход обычно значительно эффективнее многократной очистки кэша без понимания того, откуда приходит устаревший IP.
Как подготовиться к смене IP сервера?
Если изменение DNS запланировано заранее, количество проблем можно существенно сократить.
Например, при миграции сайта стоит:
- заранее проверить текущий TTL;
- при необходимости уменьшить его до переноса;
- подготовить новый сервер;
- проверить сайт на новом IP без изменения публичного DNS;
- синхронизировать актуальные данные;
- изменить DNS-запись;
- некоторое время не выключать старый сервер;
- контролировать ответы нескольких DNS-резолверов;
- после завершения миграции вернуть нормальное значение TTL.
Это позволяет обслуживать клиентов, которые временно продолжают использовать старую DNS-запись, и уменьшает риск недоступности проекта.
Краткая памятка по очистке DNS
| Система | Команда или действие |
|---|---|
| Windows CMD | ipconfig /flushdns |
| Windows PowerShell | Clear-DnsClientCache |
| macOS | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| Linux + systemd-resolved | sudo resolvectl flush-caches |
| Linux + dnsmasq | sudo killall -HUP dnsmasq |
| Chrome | chrome://net-internals/#dns → Clear host cache |
| Edge | edge://net-internals/#dns → Clear host cache |
| Firefox | about:networking#dns → Clear DNS Cache |
Разверните облачную инфраструктуру в Serverspace
DNS особенно важен для любых публичных сервисов: сайтов, API, игровых серверов, интернет-магазинов, приложений и корпоративных систем. При миграции такой инфраструктуры возможность быстро развернуть дополнительный VPS позволяет заранее проверить приложение на новом сервере и только после успешного тестирования переключить DNS.
В Serverspace можно создать облачный сервер с необходимой конфигурацией, выбрать подходящую операционную систему и масштабировать ресурсы по мере изменения нагрузки. Для VPS на Serverspace.kz заявлены выделенный IP-адрес, безлимитный трафик и SLA 99,9%.
Такой подход удобен не только для production-инфраструктуры, но и для временных тестовых серверов. Например, перед переносом сайта можно развернуть отдельный VPS, установить веб-сервер и базу данных, проверить приложение через временный домен или локальную запись hosts, а публичный DNS изменить уже после завершения тестирования.
Разверните облачный сервер в Serverspace и подготовьте инфраструктуру для сайта, приложения или нового проекта.
Часто задаваемые вопросы (FAQ)
Что произойдет после очистки DNS-кэша?
Система удалит временно сохраненные результаты предыдущих DNS-запросов. При следующем обращении к домену адрес придется получить заново. Настройки сети, DNS-серверы, файлы пользователя и данные сайтов при этом не удаляются.
Как очистить DNS-кэш в Windows?
Откройте командную строку от имени администратора и выполните ipconfig /flushdns. В PowerShell можно использовать Clear-DnsClientCache. Обе команды предназначены для удаления содержимого локального клиентского DNS-кэша Windows.
Как очистить DNS-кэш в Linux?
Команда зависит от используемого DNS-сервиса. Для systemd-resolved обычно применяется sudo resolvectl flush-caches. Если используется dnsmasq, его кэш можно сбросить сигналом SIGHUP. Сначала рекомендуется определить, какой resolver действительно работает в системе.
Почему сайт все равно открывается по старому IP после очистки DNS?
Старая запись может находиться в кэше браузера, маршрутизатора или внешнего DNS-резолвера. Также необходимо проверить файл hosts, настройки VPN и авторитетные DNS-серверы домена. Локальная очистка кэша не удаляет записи из сторонних recursive DNS-серверов.
Нужно ли очищать DNS-кэш после изменения A-записи?
Это не обязательно, поскольку записи автоматически обновляются после окончания TTL. Однако ручная очистка удобна при тестировании: она позволяет быстрее проверить, какой ответ клиент получает после изменения DNS-конфигурации.
Безопасно ли выполнять ipconfig /flushdns?
Да. Команда удаляет только временный кэш DNS resolver Windows. После очистки некоторые домены при первом обращении могут разрешаться немного дольше, поскольку системе необходимо снова запросить их IP-адреса.