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