macOS: как сбросить DNS-кэш

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

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

Чтобы сбросить DNS-кэш в macOS, выполните в Терминале sudo dscacheutil -flushcache и sudo killall -HUP mDNSResponder. Команды работают на macOS 11 и новее; после сброса проверьте разрешение имён командами dig и scutil --dns.

В этой статье
  1. Когда это нужно
  2. Команда сброса
  3. Если сброс не помог
  4. Как проверить, что именно кэш мешает
DNS cache flush
ERR_NAME_NOT_RESOLVED / Не удаётся найти сервер
По-русскиСайт открывается по старому адресу или не находится из-за устаревшей записи DNS.

#Когда это нужно

DNS-кэш хранит соответствия «имя → IP-адрес», чтобы не делать лишних запросов. Если вы изменили записи домена, сменили хостинг, исправили файл hosts или DNS-провайдер вернул неверный ответ, система ещё какое-то время использует старое значение. Сброс кэша заставляет Mac запросить данные заново. Он безопасен и не затрагивает закладки или файлы.

Возможная причинаКак узнатьЧто делать
Проблема в файле hostsЗапись в /etc/hosts переопределяет DNS.cat /etc/hosts содержит домен.Удалите строку.
Адрес другой у браузераСвой кэш или DNS через HTTPS.dig даёт новый адрес, браузер старый.Очистите кэш браузера, перезапустите.
DNS провайдера кэшируетЗаписи обновились недавно.dig @8.8.8.8 даёт новый адрес.Смените DNS или подождите TTL.
VPN или прокси подменяютПрофиль DNS.scutil --dns показывает другие серверы.Отключите VPN.
Старые версии macOSКоманды различаются.Для 10.10 — discoveryd, для 10.9 — другая.Для актуальных версий достаточно двух команд.
Роутер кэшируетДомашний DNS-прокси.Другие устройства видят то же.Перезагрузите роутер.

#Команда сброса

  1. Откройте ТерминалНа Mac нажмите Command+Пробел, введите «Терминал» и нажмите Enter. Альтернативный путь: Finder → «Программы → Утилиты → Терминал». В следующем шаге выполняйте команды очистки DNS по одной; при запросе sudo понадобится пароль администратора, символы при вводе не отображаются. Не вводите команды в адресную строку браузера или в поиск Spotlight.
  2. Выберите способ в командной строке или терминалеЕсли предыдущие действия не помогли, прочитайте назначение каждого варианта ниже. Не выполняйте их все подряд: выбирайте только соответствующий вашей ситуации.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Сбросить DNS-кэш (macOS 11 Big Sur и новее, включая Sequoia)
    Linux · Терминал (Bash)КомандаНужен sudo
    Сбросить DNS-кэш (macOS 11 Big Sur и новее, включая Sequoia)
    sudo dscacheutil -flushcache
    sudo killall -HUP mDNSResponder
    Вариант 2Проверка: актуальный адрес по имени (замените домен)
    Linux · Терминал (Bash)Команда
    Проверка: актуальный адрес по имени (замените домен)
    dig +short example.com
    dscacheutil -q host -a name example.com
    Вариант 3Какие DNS-серверы использует Mac
    Linux · Терминал (Bash)Команда
    Какие DNS-серверы использует Mac
    scutil --dns | grep -E "nameserver|resolver #" | head -20
    networksetup -getdnsservers Wi-Fi
    Вариант 4Запрос напрямую к публичному DNS, минуя кэш (сравните результаты)
    Linux · Терминал (Bash)Команда
    Запрос напрямую к публичному DNS, минуя кэш (сравните результаты)
    dig @1.1.1.1 +short example.com
    dig @8.8.8.8 +short example.com
    Вариант 5Задать DNS-серверы для Wi-Fi (имя службы уточните через networksetup -listallnetworkservices)
    Linux · Терминал (Bash)КомандаНужен sudo
    Задать DNS-серверы для Wi-Fi (имя службы уточните через networksetup -listallnetworkservices)
    sudo networksetup -setdnsservers Wi-Fi 1.1.1.1 8.8.8.8
    Вариант 6Вернуть DNS на автоматические
    Linux · Терминал (Bash)КомандаНужен sudo
    Вернуть DNS на автоматические
    sudo networksetup -setdnsservers Wi-Fi Empty
  3. Проверьте, что команда отработала без ошибкиКоманды dscacheutil и mDNSResponder обычно не выводят текст успеха. Если терминал вернул приглашение новой команды без сообщения об ошибке, откройте тот же домен в браузере и повторите проверку. Если видите Operation not permitted, command not found или другую ошибку, запишите её полностью и уточните права или версию macOS; не выполняйте команду повторно бесконечно.
  4. Очистите кэш браузераЕсли после очистки системного DNS-кэша Mac браузер продолжает показывать старый адрес, полностью закройте браузер через его меню → «Завершить» и запустите снова. В некоторых версиях Chrome дополнительный DNS-кэш можно просмотреть по chrome://net-internals/#dns, но служебные страницы меняются между версиями и могут отсутствовать; не считайте отсутствие этого пункта неисправностью. Проверьте адрес в новом окне. Если у авторитетных DNS всё ещё старая запись, очистка локального кэша не ускорит её изменение — обратитесь к владельцу домена.
  5. Проверьте результатПосле очистки DNS-кеша на Mac полностью закройте браузер, снова откройте тот же домен и проверьте, загрузилась ли правильная страница. Если нужен технический контроль, в Терминале выполните dscacheutil -q host -a name example.com, заменив example.com на проверяемое имя; вывод зависит от того, какие данные доступны в кеше. Если сайт по-прежнему ведёт на старый IP, сравните его DNS-запись у авторитетного сервера и на другом устройстве. Очистка кеша Mac не меняет TTL и не исправляет ошибку на DNS-сервере.

#Если сброс не помог

Для разработчиков: после изменения записей DNS у регистратора проверьте их распространение командами dig NS example.com и dig +trace example.com, а затем сбросьте кэш на машине, где проверяете результат.

#Как проверить, что именно кэш мешает

Сравните три источника: что отвечает системный резолвер, публичный DNS и сам сервер. Команда dig +short example.com показывает ответ, который получила бы утилита; dig @1.1.1.1 +short example.com обращается к Cloudflare напрямую. Если ответы различаются, значит локальный или провайдерский кэш устарел. Если и публичные серверы отдают старый адрес, запись ещё не обновилась у регистратора — подождите TTL, он виден в колонке перед типом записи в полном выводе dig example.com. В Safari дополнительного сброса не требуется, а в Chrome откройте chrome://net-internals/#sockets и нажмите «Flush socket pools», затем chrome://net-internals/#dns для очистки кэша хостов. Если сайт открывается в мобильной сети и не открывается дома, проблема в DNS роутера или провайдера: смените DNS на Mac и перезагрузите роутер.

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

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

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