Как редактировать файл hosts в macOS (Mac OS X)

Файл hosts вашего Mac — это небольшой, но важный текстовый документ, в котором есть возможность сопоставлять имена хостов с указанными IP-адресами.

В то время как современный Интернет использует множество общедоступных и частных DNS-серверов для сопоставления IP-адресов, файл hosts — это удобный способ переопределить эти DNS-серверы, позволяя вам вручную указать адрес веб-сайта на желаемый IP-адрес или заблокировать доступ к сайта, указав на неиспользуемый или внутренний IP-адрес.

Давайте кратко рассмотрим, как редактировать файл хостов Mac в macOS.

Как редактировать файл Mac Hosts с помощью Text Edit

Существует два основных способа редактирования файла hosts в Mac OS X.

Во-первых, с помощью TextEdit, поскольку файл hosts представляет собой обычный текстовый документ. Однако вы не можете открыть файл напрямую, так как он находится в защищенной области файловой системы. Вместо этого нам нужно скопировать файл в незащищенное место, например на рабочий стол, отредактировать его, а затем скопировать обратно.

  • Чтобы найти файл hosts, откройте Finder, доступ к которому можно получить, щелкнув рабочий стол, искатель смайликов в левом нижнем углу экрана или нажав cmd + пробел + Finder.
  • Теперь выберите раскрывающееся меню «Перейти».

3. Затем выберите в меню Перейти к папке.

4. В поле введите «/private/etc/hosts» и нажмите «Return».

5. Откроется новое окно Finder, и будет выбран файл hosts вашего Mac. Нажмите и перетащите его из окна Finder на рабочий стол.

Чтобы открыть его, просто дважды щелкните, и он отобразит содержимое файла в TextEdit (или текстовом редакторе по вашему выбору).

Блокировать IP-адреса

По умолчанию файл /etc/hosts относительно прост. Он содержит несколько строк описательного текста, которые «закомментированы» знаком решетки или числа (также называемого решеткой или хэштегом) (#).

Любая строка, начинающаяся со знака #, является комментарием и не читается файлом /etc/hosts. Для каждой строки любой текст после знака решетки игнорируется компьютером, что делает его хорошим способом добавления примечаний и описаний к вашим файлам. Он также содержит значения IP по умолчанию для локального хоста и широковещательного хоста. Чтобы отредактировать файл, вы добавите свои собственные строки после broadcasthost.

  Как записывать скринкасты в формате GIF на macOS

Помимо тестирования недавно разработанных веб-сайтов и миграции веб-хостинга, еще одной причиной для редактирования файла hosts является блокировка доступа к определенным веб-сайтам.

В нашем примере мы притворимся, что компьютер, который мы используем, — это устройство, которое мы хотим использовать исключительно для работы, не позволяя себе отвлекаться на Facebook на нашей рабочей машине.

Для этого введите IP-адрес, который вы хотите назначить, затем две вкладки и имя хоста. В нашем случае мы хотим заблокировать Facebook, поэтому мы сопоставим www.facebook.com с 0.0.0.0, что, как недопустимый IP-адрес, приведет к ошибке.

Теперь всякий раз, когда мы пытаемся зайти на www.facebook.com с нашего Mac, веб-браузер не сможет загрузить страницу, что, надеюсь, побудит нас вернуться к работе!

Перенаправить веб-адреса

В качестве альтернативы вы можете ввести IP-адрес действительного сайта вместо 0.0.0.0, что приведет к тому, что пользователи, пытающиеся получить доступ к Facebook, будут перенаправлены на выбранный вами сайт.

  • Чтобы определить IP-адрес веб-сайта, вы можете использовать команду dig, которая входит в стандартную комплектацию macOS. Чтобы копать сайт через терминал, мы просто открываем терминал, а затем запускаем команду dig по URL-адресу, которая затем возвращает IP-адрес в качестве вывода.
  • Теперь введите «$ dig www.techjunkie.com + короткий 104.25.27.105».

Примечание. Параметр + short сохраняет на выходе только ту информацию, которая нам нужна, а именно IP-адрес.

3. Запишите возвращенный IP-адрес и используйте его в сопоставлении файлов хостов Mac. Например, веб-сайт The New York Times возвращает IP-адрес 170.149.172.130. Если мы сопоставим это с Facebook в нашем файле hosts, каждый раз, когда кто-то, использующий Mac, попытается перейти на Facebook, вместо этого он увидит загрузку The New York Times.

  Как активировать Siri с помощью 'Hey Siri' в macOS Sierra

Примечание. Многие веб-сайты не позволяют сопоставлять доменное имя с IP-адресом, который в настоящее время сопоставлен с сайтом, поэтому при попытке вы получите сообщение об ошибке безопасности.

4. Вы можете добавить столько записей в файл hosts, сколько пожелаете, вводя новые сопоставления в каждой строке. После внесения необходимых изменений в файл hosts сохраните его в текущем местоположении на рабочем столе.

5. Затем перетащите файл hosts с рабочего стола обратно в исходное место в /private/etc. Если вы закрыли окно Finder, указывающее на этот каталог, просто используйте команду Finder > Перейти > Перейти к папке, описанную выше, чтобы снова открыть его.

6. Когда вы перетащите файл hosts обратно в исходное место, macOS спросит вас, что делать с уже существующим неизмененным файлом hosts. Выберите «Заменить», а затем введите пароль администратора для проверки подлинности переноса.

Теперь, когда измененный файл hosts находится на месте, запустите веб-браузер, чтобы проверить изменения.

Очистите кеш DNS

В большинстве случаев новое сопоставление должно работать сразу, но если вы не видите правильного поведения, вам может потребоваться очистить кеш DNS, заставив браузер прочитать файл hosts, чтобы определить сопоставление.

  • Чтобы очистить кеш DNS на вашем Mac, откройте терминал и используйте следующую команду (sudo позволяет вам запускать эту команду от имени администратора вашего компьютера):
  • Теперь введите «sudo killall -HUP mDNSResponder» и нажмите «Return». Примечание. Для выполнения этой команды вам потребуется ввести пароль администратора.
  • Чтобы ваш Mac очистил кеш DNS, а затем подтвердите, что он очистил кеш, повторив подтверждение, введите эти две команды, разделенные точкой с запятой, как показано здесь: «sudo killall -HUP mDNSResponder; скажите, что кеш DNS был очищен».

Затем ваш Mac прозвучит через динамики и скажет: «Кэш DNS очищен».

Как редактировать файл хостов Mac в терминале с помощью Nano

Действия, описанные в предыдущем разделе, достаточно просты, но если вы хотите избежать копирования файла hosts, вы можете отредактировать его непосредственно в терминале с помощью текстового редактора UNIX Nano, встроенного в macOS.

  • Чтобы начать, запустите Терминал, введите следующую команду и нажмите клавишу «Ввод». Как и для всех команд sudo, вам также потребуется ввести пароль администратора для его выполнения: «sudo nano /private/etc/hosts».
  Как включить звуки ввода с клавиатуры в macOS

2. Теперь вы увидите файл hosts откройте в редакторе Nano или vim или другом редакторе по вашему выбору. Для навигации и редактирования файла в Nano используйте клавиши со стрелками на клавиатуре.

3. Как и в случае с методом TextEdit выше, мы можем добавлять, редактировать или удалять сопоставления имен хостов по желанию. Поскольку мы запустили Nano с помощью sudo, любые изменения будут аутентифицированы и сохранены непосредственно в исходном файле hosts, без необходимости копировать его за пределы его домашнего каталога.

4. Когда вы закончите вносить изменения, нажмите Control-X, чтобы выйти из редактора, Y, чтобы сохранить, и Return, чтобы перезаписать существующий файл hosts.

Как мы упоминали ранее, обязательно очистите кеш DNS, если заметите, что ваши новые сопоставления не работают должным образом.

В наших примерах упоминается блокировка и перенаправление отвлекающих сайтов в рабочей среде, но вы также можете использовать эти шаги, чтобы вручную заблокировать доступ к вредоносным веб-сайтам и, конечно же, для других целей.

Если вы когда-нибудь допустили ошибку и не знаете, как ее исправить, вы всегда можете восстановить содержимое файла hosts по умолчанию, используя один из описанных выше методов, чтобы ввести следующую информацию по умолчанию:

##
# База данных хоста
#
# localhost используется для настройки петлевого интерфейса
# когда система загружается. Не изменяйте эту запись.
##
127.0.0.1 локальный хост
255.255.255.255 широковещательный хост:: 1 локальный хост
fe80::1%lo0 локальный хост

Последние мысли

Знание того, как редактировать файл hosts в macOS, предлагает удобный способ переопределить DNS-серверы и вручную указать адрес веб-сайта на новый IP-адрес или заблокировать доступ, и, следуя описанным выше шагам, вы можете выполнить эту задачу очень быстро.

По какой причине вы пытаетесь отредактировать файл hosts вашего Mac? Как это сработало? Пожалуйста, расскажите нам об этом в комментариях ниже!