Файл hosts у Linux
Ознайомлення з файлом хостів Linux: майстер локального DNS
Навіщо налаштовувати файл hosts? Файл hosts – це секретна зброя вашого Linux VPS для зіставлення доменів з IP-адресами в обхід зовнішніх DNS для швидких виправлень або хитрих трюків. Хочете протестувати сайт локально, заблокувати марнотратників часу, як-от соціальні мережі, або ухилитися від збоїв DNS? Цей звичайний текстовий файл допоможе вам у цьому. Нижче ми розкриємо його можливості та покажемо, як редагувати його на вашому AlexHost Linux VPS як професіонал.
1. Що таке файл hosts?
Файл hosts – це звичайний текстовий файл, який використовується операційною системою для зіставлення людських імен хостів (наприклад, www.example.com) з відповідними IP-адресами. Він функціонує подібно до системи доменних імен (DNS), але працює локально на вашому комп’ютері. Файл використовується перед запитом до зовнішніх DNS-серверів, дозволяючи вам замінити дозвіл DNS власним зіставленням.
Основні способи використання файлу hosts включають
- Відображення домену для місцевого розвитку: Розробники часто використовують файл hosts для створення локальних тестових середовищ, зіставляючи власні доменні імена з localhost (127.0.0.1).
- Блокування доступу до певних веб-сайтів: Ви можете заблокувати доступ до певних веб-сайтів, вказавши їх доменні імена на немаршрутизовані IP-адреси, наприклад, 0.0.0.0 або 127.0.0.1.
- Швидке усунення несправностей DNS: Файл hosts можна використовувати для усунення проблем з DNS або тестування конфігурацій веб-сайтів без зміни реальних записів DNS.
2. Розташування файлу hosts в Linux
У системах Linux файл hosts зазвичай знаходиться у каталозі /etc і має назву hosts. Повний шлях до файлу наступний:
/etc/hosts
Цей файл зазвичай попередньо налаштовано з деякими записами за замовчуванням для керування локальною мережею. Наприклад, запис для localhost зазвичай включено за замовчуванням:
127.0.0.1 localhost ::1 localhost
3. Структура файлу хостів
Файл hosts має просту структуру. Кожен рядок файлу містить IP-адресу, за якою слідує одне або декілька імен хостів, що відповідають цій адресі. Формат файлу наступний:
- IP_адреса: IP-адреса, на яку ви хочете, щоб ім’я хоста було перетворено.
- ім’я хоста: Домен або ім’я хоста.
- псевдонім (необов’язково): Альтернативні імена для хоста, які можна додати для зручності.
Наприклад, якщо ви хочете зіставити домен example.com з локальним сервером (localhost), ви повинні додати наступний рядок:
Ви також можете додати кілька імен хостів в одному рядку, наприклад, так:
4. Редагування файлу hosts у Linux
Щоб змінити файл hosts у системі Linux, вам потрібні адміністративні (root) привілеї, оскільки цей файл є частиною конфігурації системи. Ось покроковий посібник з редагування файлу hosts:
Крок 1: Відкрийте файл hosts від імені користувача root
Оскільки для редагування файлу hosts вам потрібні привілеї root, ви повинні відкрити його за допомогою текстового редактора за допомогою sudo. Поширеними текстовими редакторами є nano і vim. Ось як відкрити файл за допомогою nano:
sudo nano /etc/hosts
Крок 2: Редагування файлу хостів
Після відкриття файлу ви можете додавати, змінювати або видаляти записи за потреби. Наприклад, щоб заблокувати доступ до такого веб-сайту, як example.com, ви можете додати наступний рядок:
Це ефективно блокує веб-сайт, вказуючи домен на немаршрутизовану IP-адресу.
Крок 3: Збереження та вихід
Після внесення змін збережіть файл. Якщо ви використовуєте nano, натисніть CTRL O, щоб записати зміни, а потім натисніть Enter. Щоб вийти, натисніть CTRL X.
Якщо ви використовуєте vim, ви можете зберегти і вийти, набравши :
Крок 4: Перевірте зміни
Щоб перевірити, чи зміни вступили в силу, ви можете скористатися командою ping або просто спробувати отримати доступ до домену в браузері. Наприклад:
Якщо ви заблокували домен, зіставивши його з 0.0.0.0 або 127.0.0.1, ви побачите повідомлення про те, що хост недоступний.
5. Поширені випадки використання файлу hosts
5.1. Місцевий розвиток
Під час роботи над проектами веб-розробки ви можете використовувати файл hosts для прив’язки власних доменів до localhost. Це дозволить вам використовувати більш зрозумілу для людини URL-адресу, наприклад, myproject.local замість localhost:3000.
Приклад:
127.0.0.1 myproject.local
Після додавання цього запису ви можете перейти до myproject.local у вашому веб-браузері, і він буде вказувати на ваш локальний сервер розробки.
5.2. Блокування веб-сайтів
Ви можете використовувати файл hosts для блокування доступу до певних веб-сайтів, зіставивши їхні домени з 0.0.0.0 або 127.0.0.1. Це корисно для запобігання доступу до відволікаючих веб-сайтів або потенційно шкідливих доменів.
Приклад:
Це заблокує доступ до Facebook, перенаправляючи запити на неіснуючу локальну адресу.
5.3. Обхід проблем з DNS
Якщо у вас виникли проблеми з дозволом DNS або ви хочете протестувати веб-сайт на новому сервері перед оновленням записів DNS, ви можете використовувати файл hosts, щоб тимчасово прив’язати домен до певної IP-адреси.
Приклад:
Це змусить вашу систему розпізнавати mywebsite.com як IP-адресу 203.0.113.15, незалежно від того, що вказано в DNS-записах.
6. Очищення кешу DNS (необов’язково)
Після внесення змін до файлу hosts ваша операційна система може зберігати в кеші попередні DNS-дозволи. Щоб негайно застосувати зміни, вам може знадобитися очистити кеш DNS. Наступна команда може бути використана у системах Linux, які підтримують systemd:
sudo systemctl restart systemd-resolved
Альтернативно, ви можете використати:
sudo service network-manager restart
Це гарантує, що нові зіставлення у файлі hosts будуть використані негайно.
Висновок: Файл hosts = ваш мережевий ніндзя
Файл hosts – це кишенькова DNS-карта вашого Linux VPS, яку можна легко заблокувати або налагодити. Редагуйте /etc/hosts за допомогою sudo, тестуйте за допомогою ping і очищайте кеш для миттєвих перемог. Від налаштувань для розробників до блокування реклами – це легка і потужна платформа. Працюєте на AlexHost? Ваш VPS готовий до цього. Вносьте зміни, але спершу створіть резервну копію маршрутизації, яка вас влаштує!