Как редактировать файл Hosts на macOS

файл Hosts на macOS

Расскажу как редактировать файл Hosts macOS и зачем он вообще нужен. Как с его помощью блокировать сайты и менять сопоставление IP-адресов. Как восстановить оригинальную версию для отмены внесённых изменений и очистить кэш ДНС через Терминал.

Система доменных имён DNS

Когда вы вводите доменное имя (адрес) сайта, который хотите посетить в адресную строку браузера, незаметно происходит много событий скрытых от глаз.

Каждый сайт, каждая служба, почти каждое устройство, подключённое к интернету, имеет уникальный числовой IP-адрес, который его идентифицирует.

Существует система доменных имён (DNS), которая преобразует эти IP-адреса в более узнаваемые и запоминающиеся для людей имена. Например, название сайта macnoob.ru выглядит гораздо приятнее IP 5.101.115.179.

Когда вы впервые вводите адрес сайта, Mac проверяет связь с DNS-сервером (это происходит автоматически через интернет-провайдера), чтобы узнать TCP/IP адрес сервера, к которому вы пытаетесь подключиться.

При этом Mac создаёт скрытый файл кеша, чтобы запомнить это сопоставление на случай, если вы заново решите посетить тот же сайт.

Система доменных имён и связанный с ней кеш позволяют компьютеру на macOS узнать, как открыть нужный сайт в интернете.

Но есть ещё файл, который может быть очень полезным. Он называется Hosts, и его можно использовать для принудительного переопределения информации DNS.

Редактирование файла Host

Существует несколько причин изменить файл Hosts вместо того, чтобы просто позволить DNS делать своё дело:

  • Тестирование сайта на сервере, прежде чем его смогут увидеть другие пользователи интернета.
  • Для блокировки или обхода программ-шпионов обнуляя их IP-адреса. Для этого достаточно указать IP 0.0.0.0, а затем имя домена, который вы хотите заблокировать.
  • Устранение последствия работы вирусов-вымогателей, которые блокируют выход в интернет.

Самый популярный способ работы с файлом Host — использовать стандартное приложение Терминал, которое находится в папке «Утилиты» каждого Mac.

приложение Терминал в папке Утилиты

Также можно открыть Терминал используя поиск Spotlight или через Launchpad.

приложение Терминал

Чтобы открыть файл Hosts запустите Терминал и в окне приложения введите команду открытия текстового редактора Nano:

sudo nano /etc/hosts

После ввода команды нажмите клавишу «Ввод», введите свой пароль администратора и снова нажмите «Ввод».

запуск sudo через терминал

Процесс ввода пароля администратора визуально никак не отображается — это нормально. Просто введите пароль на клавиатуре, нажмите «Ввод» и всё сработает.

Теперь вы находитесь в текстовом редакторе Nano и должны увидеть что-то похожее на это:

Сопоставление IP-адреса в текстовом редакторе Nano

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

Прежде чем изменить Hosts на Mac, сделайте копию файла из /private/etc/hosts. Это может понадобиться, если у вас там прописаны дополнительные сопоставления. В моём случае это IP 10.221.55.3 для виртуальной машины с Windows 10.

Чтобы сопоставить новое устройство или домен с нужным IP-адресом, переместите курсор с помощью клавиш со стрелками на любую строчку после строк, закомментированных символами #.

Например, если вы сопоставляете IP-адрес с доменом, введите IP, нажмите пробел и введите имя домена.

И наоборот, если вы хотите заблокировать какой-либо сайт, используйте 127.0.0.1 для его сопоставления с локальным компьютером.

Например, чтобы заблокировать посещение сайта macnoob.ru на Mac, нужно сделать так:

блокировка сайта в файле hosts на mac

После внесения изменений нажмите сочетание клавиш Control+O, чтобы применить их.

После этого нажмите Control+X и «Ввод» для выхода из редактора.

Чтобы увидеть изменения, осталось очистить кеш ДНС. Для этого введите команду:

sudo killall -HUP mDNSResponder

Это очистит кеш DNS на Mac и операционная система увидит внесённые изменения в файле Hosts.

В нашем случае, при попытке открыть сайт macnoob.ru, которому мы сопоставили локальный IP 127.0.0.1, увидим в браузере такое сообщение:

сайт заблокирован в файле Hosts

Важно не забыть, что вы редактировали Hosts, потому как позже может потребоваться отменить внесённые изменения.

Альтернативным способом редактирования файла Hosts на Mac служит текстовый редактор TextEdit. Скопируйте файл из /private/etc/hosts и внесите изменения. После чего замените им оригинал (редактировать оригинал не получится).

Как восстановить файл Hosts на Mac

Когда потребуется отменить изменения и восстановить нормальную работу ДНС на Mac, просто замените текущую версию на ранее созданную копию или вставьте в него значения по умолчанию.

Для этого откройте Finder и введите в поиске «Hosts»:

файл hosts

Либо пройдите к его расположению на диске в папке /private/etc/hosts.

Скопируйте его (в оригинал внести изменения нельзя) и откройте в текстовом редакторе TextEdit. Теперь удалите всё содержимое и вставьте значение по умолчанию:

##
# 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

Нажмите «Сохранить», закройте файл и замените им оригинал в папке /private/etc/hosts.

Когда macOS спросит, хотите ли вы заменить файл, подтвердите своё решение, введите пароль администратора и перезагрузите Mac.

На этом всё, если появились вопросы — задавайте их в комментариях, постараемся помочь.

Подписывайтесь на наш Telegram, VK.
MacNoob - живая помощь с iPhone и MAC
Добавить комментарий

Вы можете подписаться на новые комментарии к статье без комментирования.

  1. Александр

    Добрый ночи! Я вроде как удалил кэш со своего мака, однако теперь на команду sudo nano/etc/hosts выдаётся command not found. Более того, я следовал вашим инструкциям, однако папки Hosts на моём Маке попросту нет, даже в файлах. Надеюсь на вашу помощь.

    Ответить
  2. Алексей

    Здравствуйте. Огромное спасибо за статью. Вы мне очень помогли!

    Ответить