DNS

Изменения в /etc/hosts не работают на Mac

Файл /etc/hosts сопоставляет имена с IP-адресами только на этом Mac. mDNSResponder его читает, но некоторые приложения и настройки его обходят.

Применимость: все актуальные версии macOS.Проверено: 29 октября 2026 г.

Симптомы

  • Вы добавили строку в /etc/hosts, но браузер всё равно открывает старый сайт.
  • Запись работает в Терминале, но не в одном из приложений.
  • example.com работает, а www.example.com — нет.

Вероятные причины

  • Неверный формат строки. Каждая строка должна начинаться с IP-адреса, за ним идёт имя хоста. # начинает комментарий.
  • Не хватает имени. Файл сопоставляет имена точно. Добавьте каждое нужное имя, например www.example.com, а также example.com.
  • Кэшированные ответы. macOS или браузер могут какое-то время хранить старый адрес.
  • Прокси или собственный DNS приложения. При работе через прокси имя ищет прокси-сервер. У некоторых приложений также есть свои настройки DNS.

Как проверить

  1. Покажите файл.

    cat /etc/hosts
  2. Запросите имя у резолвера macOS. Он должен показать адрес из файла.

    dscacheutil -q host -a name example.com
  3. Покажите системные настройки прокси. Прокси ищет имена сам.

    scutil --proxy

Как исправить

  1. Откройте файл в текстовом редакторе с правами администратора.

    sudo nano /etc/hosts

    Нужен пароль администратора.

  2. Добавьте по строке на каждое имя. Сначала IP-адрес, затем одно или несколько имён.

    127.0.0.1   example.com www.example.com
  3. Сохраните файл. В nano нажмите Control-O, затем Return, затем Control-X.

  4. Очистите кэш DNS. См. Очистка кэша DNS на Mac.

    sudo killall -HUP mDNSResponder

    Нужен пароль администратора.

  5. Закройте и снова откройте браузер.

  6. Если приложение работает через прокси, проверьте без прокси или добавьте запись на прокси-сервере.

Вопросы

Нужно ли перезагружать Mac?

Нет. Сохраните файл, очистите кэш DNS и снова откройте приложение.

Можно ли использовать шаблон вроде *.example.com?

Нет. В формате файла hosts есть адрес, официальное имя хоста и псевдонимы. Перечислите в строке каждое имя.

Источники

Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой man <name> в Терминале.