Як редагувати файл Hosts в macOS (Mac OS X)

Файл hosts на вашому Mac – це невеликий, але значущий текстовий документ, який дозволяє встановлювати відповідність між іменами хостів та конкретними IP-адресами.

У сучасному інтернеті використовуються різні публічні та приватні DNS-сервери для перетворення імен на IP-адреси, однак файл hosts є ефективним способом обійти ці DNS-сервери. Він дає змогу вручну вказати IP-адресу для певного веб-сайту або повністю заблокувати доступ до нього, перенаправляючи на неактивну або внутрішню IP-адресу.

Давайте швидко розглянемо процес редагування файлу hosts на macOS.

Методи редагування файлу hosts на Mac за допомогою текстового редактора

Існує два основні способи редагувати файл hosts в macOS.

Перший варіант – використання TextEdit, оскільки файл hosts є звичайним текстовим файлом. Але, ви не можете відкрити файл безпосередньо, оскільки він розташований у захищеній частині файлової системи. Вам потрібно скопіювати файл у безпечне місце, наприклад, на робочий стіл, відредагувати його і потім повернути назад.

  • Для пошуку файлу hosts, відкрийте Finder. Ви можете зробити це, клацнувши на робочому столі, за допомогою пошуку в нижньому лівому куті екрана або натиснувши cmd + пробіл + Finder.
  • Далі, у верхньому меню виберіть “Перехід”.

3. У меню, що з’явиться, натисніть “Перейти до папки”.

4. У текстовому полі введіть “/private/etc/hosts” та натисніть клавішу “Return”.

5. Відкриється нове вікно Finder, де буде обрано файл hosts. Перетягніть його з вікна Finder на робочий стіл.

Щоб відкрити його, просто двічі клацніть. Вміст файлу відобразиться у TextEdit або іншому текстовому редакторі, який ви оберете.

Заборона доступу до IP-адрес

Файл /etc/hosts за замовчуванням є доволі простим. Він складається з ряду рядків з коментарями, що позначені символом решітки (#).

Будь-який рядок, що починається із символу #, є коментарем і не впливає на роботу файлу /etc/hosts. Будь-який текст після символу решітки ігнорується комп’ютером, що робить його зручним для додавання приміток та описів до файлу. Також в файлі вказано значення IP за замовчуванням для localhost і broadcasthost. Для редагування файлу, потрібно додати нові рядки після broadcasthost.

Окрім тестування нових веб-сайтів та зміни хостингу, ще однією причиною редагування файлу 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. Для пошуку IP-адреси за допомогою терміналу, відкрийте термінал і введіть команду dig, а потім URL-адресу. Результат буде IP-адресою.
  • Тепер введіть “$ dig www.techjunkie.com +short 104.25.27.105”.

Примітка: Опція +short показує тільки потрібну інформацію, а саме IP-адресу.

3. Запам’ятайте IP-адресу та використовуйте її у файлі hosts. Наприклад, веб-сайт The New York Times має IP-адресу 170.149.172.130. Якщо зіставити цю адресу з Facebook в файлі hosts, то кожен раз, коли хтось спробує перейти на Facebook, замість нього завантажиться The New York Times.

Примітка: Деякі веб-сайти не дозволяють зіставляти доменне ім’я з іншою IP-адресою, тому ви можете отримати помилку безпеки.

4. Ви можете додати стільки записів, скільки потрібно до файлу 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; say кеш DNS очищено”

Після цього, через динаміки ви почуєте повідомлення: “Кеш DNS очищено”.

Редагування файлу hosts через термінал за допомогою Nano

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

  • Щоб розпочати, запустіть термінал, введіть команду і натисніть Return. Як і для усіх команд sudo, вам потрібно буде ввести пароль адміністратора для її виконання: “sudo nano /private/etc/hosts”

2. Ви побачите файл hosts відкритим у редакторі Nano або vim, або іншому редакторі на ваш вибір. Для навігації та редагування файлу в Nano, використовуйте клавіші зі стрілками на клавіатурі.

3. Як і у випадку з TextEdit, ви можете додавати, редагувати або видаляти зіставлення імен хостів. Оскільки Nano був запущений з правами sudo, усі зміни будуть перевірені та збережені безпосередньо в оригінальний файл hosts без необхідності його копіювання.

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

Як ми вже згадували раніше, не забувайте очистити кеш DNS, якщо ваші нові налаштування не працюють належним чином.

У прикладах йшлося про блокування та перенаправлення веб-сайтів у робочому середовищі, але ви можете використати ці кроки для блокування доступу до шкідливих сайтів та для інших цілей.

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

##
# База даних хоста
#
# localhost використовується для налаштування інтерфейсу зворотного зв’язку
# під час завантаження системи. Не змінюйте цей запис.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost

На завершення

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

З якою метою ви хочете редагувати файл hosts на вашому Mac? Як пройшов процес? Напишіть про це в коментарях!