DNS
Изменения в /etc/hosts не работают на Mac
Файл /etc/hosts сопоставляет имена с IP-адресами только на этом Mac. mDNSResponder его читает, но некоторые приложения и настройки его обходят.
Симптомы
- Вы добавили строку в
/etc/hosts, но браузер всё равно открывает старый сайт. - Запись работает в Терминале, но не в одном из приложений.
example.comработает, аwww.example.com— нет.
Вероятные причины
- Неверный формат строки. Каждая строка должна начинаться с IP-адреса, за ним идёт имя хоста.
#начинает комментарий. - Не хватает имени. Файл сопоставляет имена точно. Добавьте каждое нужное имя, например
www.example.com, а такжеexample.com. - Кэшированные ответы. macOS или браузер могут какое-то время хранить старый адрес.
- Прокси или собственный DNS приложения. При работе через прокси имя ищет прокси-сервер. У некоторых приложений также есть свои настройки DNS.
Как проверить
Покажите файл.
cat /etc/hostsЗапросите имя у резолвера macOS. Он должен показать адрес из файла.
dscacheutil -q host -a name example.comПокажите системные настройки прокси. Прокси ищет имена сам.
scutil --proxy
Как исправить
Откройте файл в текстовом редакторе с правами администратора.
sudo nano /etc/hostsНужен пароль администратора.
Добавьте по строке на каждое имя. Сначала IP-адрес, затем одно или несколько имён.
127.0.0.1 example.com www.example.comСохраните файл. В nano нажмите Control-O, затем Return, затем Control-X.
Очистите кэш DNS. См. Очистка кэша DNS на Mac.
sudo killall -HUP mDNSResponderНужен пароль администратора.
Закройте и снова откройте браузер.
Если приложение работает через прокси, проверьте без прокси или добавьте запись на прокси-сервере.
Вопросы
Нужно ли перезагружать Mac?
Нет. Сохраните файл, очистите кэш DNS и снова откройте приложение.
Можно ли использовать шаблон вроде *.example.com?
Нет. В формате файла hosts есть адрес, официальное имя хоста и псевдонимы. Перечислите в строке каждое имя.
Источники
- hosts(5), man-страница в составе macOS 27.2
- mDNSResponder(8), man-страница в составе macOS 27.2
- Поддержка Apple (архив): сброс кэша DNS в OS X
- scutil(8), man-страница из macOS 27.2
Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой man <name> в Терминале.