ERR_NAME_NOT_RESOLVED / Не удаётся найти сервер
#Когда это нужно
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-прокси. | Другие устройства видят то же. | Перезагрузите роутер. |
#Команда сброса
- Откройте ТерминалНа Mac нажмите
Command+Пробел, введите «Терминал» и нажмите Enter. Альтернативный путь: Finder → «Программы → Утилиты → Терминал». В следующем шаге выполняйте команды очистки DNS по одной; при запросеsudoпонадобится пароль администратора, символы при вводе не отображаются. Не вводите команды в адресную строку браузера или в поиск Spotlight. - Выберите способ в командной строке или терминалеЕсли предыдущие действия не помогли, прочитайте назначение каждого варианта ниже. Не выполняйте их все подряд: выбирайте только соответствующий вашей ситуации.
- Проверьте, что команда отработала без ошибкиКоманды
dscacheutilиmDNSResponderобычно не выводят текст успеха. Если терминал вернул приглашение новой команды без сообщения об ошибке, откройте тот же домен в браузере и повторите проверку. Если видитеOperation not permitted,command not foundили другую ошибку, запишите её полностью и уточните права или версию macOS; не выполняйте команду повторно бесконечно. - Очистите кэш браузераЕсли после очистки системного DNS-кэша Mac браузер продолжает показывать старый адрес, полностью закройте браузер через его меню → «Завершить» и запустите снова. В некоторых версиях Chrome дополнительный DNS-кэш можно просмотреть по
chrome://net-internals/#dns, но служебные страницы меняются между версиями и могут отсутствовать; не считайте отсутствие этого пункта неисправностью. Проверьте адрес в новом окне. Если у авторитетных DNS всё ещё старая запись, очистка локального кэша не ускорит её изменение — обратитесь к владельцу домена. - Проверьте результатПосле очистки 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 и перезагрузите роутер.