Файл hosts на macOS находится по пути /etc/hosts. Чтобы изменить его, откройте Терминал и выполните sudo nano /etc/hosts, затем добавьте IP-адрес и доменное имя. Если изменения не применяются, очистите DNS-кеш командами sudo dscacheutil -flushcache и sudo killall -HUP mDNSResponder.
Что такое файл hosts
DNS сопоставляет доменные имена с IP-адресами. Файл hosts позволяет задать такое соответствие локально, на конкретном компьютере, без изменения DNS-настроек домена.
Например, запись:
127.0.0.1 vk.com
направит запросы к vk.com на локальный компьютер.
Файл также используют, чтобы проверить сайт на новом сервере до изменения DNS-записей домена. В него временно добавляют IP-адрес нового сервера и проверяют работу сайта.
Где находится файл hosts на macOS
Файл находится по пути:
/etc/hosts
Также к нему можно обратиться по пути:
/private/etc/hosts
Для изменения файла нужны права администратора.
Как отредактировать hosts на macOS
Перед изменением файла сохраните его исходную копию. Ошибка в записи может повлиять на открытие отдельных сайтов.
-
1
Нажмите Command + Space, введите Терминал и нажмите Enter. Также можно открыть его через Finder → Программы → Утилиты → Терминал.
-
2
Введите команду:
sudo nano /etc/hostsНажмите Enter. Введите пароль администратора. При вводе пароля символы на экране не отображаются — это нормально.
После выполнения команды файл откроется в редакторе
nano. -
3
Добавьте нужную запись в файл. Например:
123.123.123.123 faq-reg.ru www.faq-reg.ruГде
- 123.123.123.123 — IP-адрес сервера,
- faq-reg.ru и www.faq-reg.ru — доменные имена, которые нужно связать с этим IP-адресом.
Так можно проверить сайт на новом сервере до изменения DNS. Не удаляйте существующие системные записи без необходимости.
-
4
Сохраните изменения и закройте редактор: нажмите Control + O, затем Enter, чтобы подтвердить имя файла, и Control + X.
Как обновить кеш DNS
Обычно изменения в hosts применяются без дополнительных действий. Если компьютер продолжает использовать старый IP-адрес, очистите DNS-кеш.
Для macOS Sonoma и Sequoia выполните в Терминале:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Введите пароль администратора, если система его запросит. После этого перезапустите браузер и проверьте сайт.
Пример содержимого файла hosts на macOS
Содержимое файла может отличаться в зависимости от версии macOS и установленных программ. Например, в нем могут быть такие системные записи:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
Где
- 127.0.0.1 — локальный адрес компьютера по IPv4,
- ::1 и fe80::1%lo0 — локальные IPv6-адреса.
В файле могут быть дополнительные записи, которые добавили программы или пользователь. Например, их могут использовать инструменты разработки, системы безопасности или корпоративное ПО. Поэтому незнакомая строка сама по себе не означает, что файл изменили злоумышленники.
Как мошенники могут использовать hosts
Если злоумышленник получил возможность изменить файл hosts, он может связать известный домен с IP-адресом другого сервера. Например:
123.123.123.123 example.ru
В результате пользователь может попасть на поддельный сайт и передать ему конфиденциальные данные.
Если вы обнаружили неизвестную запись, проверьте, какая программа могла ее добавить, и сравните IP-адрес с настройками вашего сервера или сервиса.
Как проверить, что hosts работает
Для проверки разрешения доменного имени выполните в Терминале:
dscacheutil -q host -a name faq-reg.ru
Если команда показывает IP-адрес, указанный для faq-reg.ru в hosts, запись применяется.
Также можно выполнить:
ping faq-reg.ru
Если в результате отображается нужный IP-адрес, запись применяется. Отсутствие ответа на ping само по себе не означает ошибку: сервер может блокировать ICMP-запросы.
Если отображается старый IP-адрес, проверьте запись в hosts, очистите DNS-кеш и перезапустите браузер.
Частые вопросы
Где находится файл hosts на macOS?
/etc/hosts. Также его можно открыть по пути /private/etc/hosts.
Как сбросить DNS-кеш на macOS Sonoma и Sequoia?
Откройте Терминал и выполните:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
После выполнения команд перезапустите браузер и повторите проверку.
Почему изменения в hosts не применяются?
Проверьте, правильно ли указаны IP-адрес и доменное имя и сохранен ли файл. Если все указано верно, очистите DNS-кеш и перезапустите браузер. Проверить результат можно командой:
dscacheutil -q host -a name faq-reg.ru
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊