Перейти к основному содержанию

Как сбросить DNS-кеш

What is DNS cache

DNS-кеш хранит IP-адреса посещённых сайтов на локальном компьютере, чтобы в следующий раз они загружались быстрее. Вместо того, чтобы выполнять длительный DNS-поиск, система отвечает на запросы с помощью записей DNS из временного DNS-кеша.

DNS-кеш содержит так называемые записи о ресурсах, которые включают:

  • Данные ресурса (или rdata);
  • Тип записи;
  • Имя записи;
  • TTL (время жизни информации);
  • Класс;
  • Длину данных ресурса.

Когда нужно сбросить кеш

Вы регулярно получаете ошибку 404. Например, сайт перенесли на другой сервер, и его IP-адрес изменился. Чтобы браузер открывал сайт с нового IP-адреса, необходимо удалить закешированный IP из DNS-кеша.

Вы хотите улучшить конфиденциальность.

Вы хотите защищить себя от хакерских атак и вирусов. Когда DNS-кеш повреждён, ваш браузер может перенаправить вас на IP-адрес вредоносного сайта, который злоумышленник вставил в DNS-записи вашего компьютера.

Как сбросить DNS-кеш на разных ОС

macOS

Чтобы очистить DNS-кеш на macOS, откройте Терминал (его можно найти, используя поиск Spotlight — чтобы сделать это, нажмите Command и пробел и наберите Терминал) и введите следующую команду:

sudo killall -HUP mDNSResponder

На macOS Big Sur 11.2.0 и macOS Monterey 12.0.0 также можно использовать эту команду:

sudo dscacheutil -flushcache

После введите пароль администратора, чтобы завершить процесс.

Windows

Чтобы сбросить DNS-кеш на устройстве Windows, сделайте следующее:

Запустите командную строку от имени администратора. Её можно найти в меню «Пуск», введя командная строка или cmd. Затем введите ipconfig/flushdns и нажмите Enter.

Вы увидите строку Кеш DNS-резолвера успешно сброшен. Готово!

Linux

В Linux нет DNS-кеширования на уровне ОС, если только не установлена и не запущена служба кеширования, такая как Systemd Resolved, DNSMasq, BIND или Nscd. Сброс DNS-кеша зависит от дистрибутива Linux и используемой службы кеша.

Для каждого дистрибутива нужно запустить окно терминала. Нажмите Ctrl+Alt+T и используйте соответствующую команду, чтобы очистить DNS-кеш для сервиса, с которым работает ваша система Linux.

Чтобы узнать, какой DNS-резолвер вы используете, введите sudo lsof -i :53 -S.

Systemd Resolved

Чтобы очистить DNS-кеш Systemd Resolved, введите:

sudo systemd-resolve --flush-caches

В случае успеха команда не возвращает никакого сообщения.

DNSMasq

Чтобы очистить кеш DNSMasq, вам нужно перезапустить его:

sudo service dnsmasq restart

Nscd

Чтобы очистить кеш Nscd, вам также нужно перезапустить сервис:

sudo service nscd restart

BIND

Чтобы сбросить DNS-кеш BIND, выполните команду:

rndc flush

Затем вам нужно перезагрузить BIND:

rndc reload

Вы получите сообщение, что сервер успешно перезагружен.

Android

Самый простой способ очистить DNS-кеш на устройстве Android — это включить/отключить режим полёта. Это можно сделать в панели «Быстрые настройки».

Жёсткая перезагрузка также может помочь очистить DNS-кеш вашего устройства. Чтобы это сделать, нажмите и удерживайте кнопку включения питания не менее 20 секунд. Как правило, это заставит устройство перезагрузиться вручную, и DNS-кеш будет очищен.

Другой способ — сбросить сетевые настройки устройства в приложении Настройки. Откройте Настройки > Системные > Расширенные > Сброс > Сброс параметров сети и нажмите Сбросить настройки.

Обратите внимание: делая так, вы потеряете подключение к роутерам Wi-Fi и другие сетевые настройки, включая настройки DNS-серверов. Их нужно будет сбросить вручную.

iOS

Есть разные способы очистить DNS-кеш на iPhone и iPad.

Самый простой — включить/отключить Авиарежим в Настройках. DNS-кеш будет сброшен.

Другой способ — сбросить сетевые настройки устройства в приложении Настройки. Open General, scroll down, find Reset and tap Reset Network Settings.

Обратите внимание: делая так, вы потеряете подключение к роутерам Wi-Fi и другие сетевые настройки, включая настройки DNS-серверов. Их нужно будет сбросить вручную.