Файл hosts вашого Mac — це невеликий, але важливий текстовий документ, який має можливість зіставляти імена хостів із зазначеними IP-адресами.
Хоча сучасний Інтернет використовує різноманітні публічні та приватні DNS-сервери для відображення IP-адрес, файл hosts є зручним способом замінити ці DNS-сервери, дозволяючи вручну вказати адресу веб-сайту на потрібну IP-адресу або заблокувати доступ до сайту взагалі, вказуючи на невикористану або внутрішню IP-адресу.
Давайте швидко розглянемо, як редагувати файл хостів Mac на macOS.
Як редагувати файл хостів Mac за допомогою текстового редагування
У Mac OS X є два основних способи редагування файлу hosts.
Перший – це використання TextEdit, оскільки файл hosts є звичайним текстовим документом. Однак ви не можете відкрити файл безпосередньо, оскільки він знаходиться в захищеній області файлової системи. Замість цього нам потрібно скопіювати файл у незахищене місце, наприклад на робочий стіл, відредагувати його, а потім скопіювати назад.
- Щоб знайти файл hosts, відкрийте Finder, до якого ви можете отримати доступ, клацнувши на робочому столі, пошук смайликів у нижньому лівому куті екрана або натиснувши cmd + пробіл + Finder.
- Тепер виберіть спадне меню Go.
3. Потім виберіть у меню Перейти до папки.
4. У полі введіть «/private/etc/hosts» і натисніть «Повернути».
5. Відкриється нове вікно Finder і буде вибрано файл hosts вашого Mac. Клацніть і перетягніть його з вікна 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. Щоб копати сайт через термінал, ми просто відкриваємо термінал, а потім запускаємо команду dig на URL-адресі, яка потім повертає IP-адресу як вихід.
- Тепер введіть “$ dig www.techjunkie.com + короткий 104.25.27.105”
Примітка. Опція + короткий зберігає вихід лише в потрібну інформацію, якою є IP-адреса.
3. Зверніть увагу на отриману IP-адресу та використовуйте її для зіставлення файлів хостів Mac. Наприклад, веб-сайт The New York Times повертає IP-адресу 170.149.172.130. Якщо ми зіставимо це з Facebook у нашому файлі hosts, щоразу, коли хтось, хто використовує Mac, спробує перейти до Facebook, замість цього завантажиться The New York Times.
Примітка. Багато веб-сайтів не дозволяють зіставити доменне ім’я з IP-адресою, яка в даний момент зіставлена з сайтом, тому під час спроби ви отримаєте помилку безпеки.
4. Ви можете додати скільки завгодно записів до файлу hosts, ввівши нові зіставлення в кожному рядку. Після того, як ви внесли потрібні зміни до файлу hosts, збережіть його в поточному місці на робочому столі.
5. Потім перетягніть і скиньте файл hosts зі свого робочого столу назад у вихідне розташування /private/etc. Якщо ви закрили вікно Finder, яке вказує на цей каталог, просто скористайтеся командою Finder > Go > Go to Folder, описаною вище, щоб знову відкрити його.
6. Коли ви скинете файл hosts назад у вихідне розташування, macOS запитає вас, що робити з незміненим файлом hosts, який уже там. Виберіть «Замінити», а потім введіть пароль адміністратора, щоб підтвердити передачу.
Маючи модифікований файл hosts, запустіть веб-браузер, щоб перевірити зміни.
Очистіть кеш DNS
У більшості випадків нове зіставлення має запрацювати негайно, але якщо ви не бачите правильної поведінки, вам може знадобитися очистити кеш DNS, змусивши браузер читати з вашого файлу hosts, щоб визначити зіставлення.
- Щоб очистити кеш DNS на вашому Mac, відкрийте термінал і скористайтеся такою командою (sudo дозволяє запустити цю команду як адміністратор вашого комп’ютера):
- Тепер введіть «sudo killall -HUP mDNSResponder» і натисніть Return. Примітка: вам потрібно буде ввести пароль адміністратора, щоб виконати цю команду.
- Щоб ваш Mac очистив кеш DNS, а потім підтвердьте, що він очищений кеш, повторивши підтвердження, введіть ці дві команди, розділені крапкою з комою, як показано тут: «sudo killall -HUP mDNSResponder;скажімо, кеш DNS очищено»
Після цього через динаміки з’явиться повідомлення: «Кеш DNS очищено».
Як відредагувати файл хостів Mac у терміналі за допомогою Nano
Дії в попередньому розділі досить прості, але якщо ви хочете уникнути копіювання файлу hosts, ви можете редагувати його безпосередньо в терміналі за допомогою текстового редактора UNIX Nano, вбудованого в macOS.
- Щоб почати, запустіть Terminal, введіть таку команду та натисніть Return. Як і для всіх команд sudo, вам також потрібно буде ввести пароль адміністратора для його виконання: «sudo nano /private/etc/hosts»
2. Тепер ви побачите файл hosts відкрийте в редакторі Nano або vim або іншому редакторі на ваш вибір. Щоб переміщатися та редагувати файл у Nano, використовуйте клавіші зі стрілками на клавіатурі.
3. Так само, як ми зробили з методом TextEdit вище, ми можемо додавати, редагувати або видаляти зіставлення імен хостів за бажанням. Оскільки ми запустили Nano за допомогою sudo, будь-які зміни будуть перевірені та збережені безпосередньо в оригінальному файлі hosts, без необхідності копіювати його за межі домашнього каталогу.
4. Коли ви закінчите вносити зміни, натисніть Control-X, щоб вийти з редактора, Y, щоб зберегти, і Return, щоб перезаписати існуючий файл хостів.
Як ми згадували раніше, не забудьте очистити кеш DNS, якщо ви помітили, що ваші нові зіставлення не працюють належним чином.
У наших прикладах згадується блокування та переспрямування сайтів, що відволікають увагу в робочому середовищі, але ви також можете скористатися цими кроками, щоб вручну заблокувати доступ до шкідливих веб-сайтів і, звичайно, також інші види використання.
Якщо ви коли-небудь зробили помилку і не знаєте, як це виправити, ви завжди можете відновити вміст файлу hosts за замовчуванням, скориставшись одним із вищенаведених методів, щоб ввести таку інформацію за замовчуванням:
##
# База даних хоста
#
# localhost використовується для налаштування інтерфейсу зворотного зв’язку
# під час завантаження системи. Не змінюйте цей запис.
##
127.0.0.1 локальний хост
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 локальний хост
Останні думки
Знання того, як редагувати файл hosts в macOS, пропонує зручний спосіб замінити сервери DNS і вручну вказати адресу веб-сайту на нову IP-адресу або заблокувати доступ, і, дотримуючись наведених вище кроків, ви можете дуже швидко виконати це завдання.
З якої причини ви хочете відредагувати файл hosts вашого Mac? Як це вийшло? Будь ласка, розкажіть нам про це в коментарях нижче!