Файл hosts у Linux ⋆ ALexHost SRL

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
12.12.2024

Файл hosts у Linux

Файл hosts є важливим компонентом багатьох операційних систем, зокрема й VPS-хостингу Linux. Він слугує інструментом локального системного рівня для зіставлення імен хостів з IP-адресами, допомагаючи вашому комп’ютеру знаходити і підключатися до різних серверів або пристроїв в Інтернеті або локальній мережі. Розуміння того, як працює файл hosts і як його змінювати, може бути корисним для усунення несправностей, блокування певних сайтів або налаштування користувацьких доменних імен для цілей розробки. У цій статті ми розглянемо, що таке файл hosts, де він знаходиться в Linux і як його ефективно редагувати.

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

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

IP_адреса ім’я хоста [псевдонім1] [псевдонім2]…
  • IP_адреса: IP-адреса, на яку ви хочете, щоб ім’я хоста було перетворено.
  • ім’я хоста: Домен або ім’я хоста.
  • псевдонім (необов’язково): Альтернативні імена для хоста, які можна додати для зручності.

Наприклад, якщо ви хочете зіставити домен example.com з локальним сервером (localhost), ви повинні додати наступний рядок:

127.0.0.1 example.com

Ви також можете додати кілька імен хостів в одному рядку, наприклад, так:

127.0.0.1 example.com www.example.com

4. Редагування файлу hosts у Linux

Щоб змінити файл hosts у системі Linux, вам потрібні адміністративні (root) привілеї, оскільки цей файл є частиною конфігурації системи. Ось покроковий посібник з редагування файлу hosts:

Крок 1: Відкрийте файл hosts від імені користувача root

Оскільки для редагування файлу hosts вам потрібні привілеї root, ви повинні відкрити його за допомогою текстового редактора за допомогою sudo. Поширеними текстовими редакторами є nano і vim. Ось як відкрити файл за допомогою nano:

sudo nano /etc/hosts

Крок 2: Редагування файлу hosts

Після відкриття файлу ви можете додавати, змінювати або видаляти записи за потреби. Наприклад, щоб заблокувати доступ до такого веб-сайту, як example.com, ви можете додати наступний рядок:

0.0.0.0 example.com

Це ефективно блокує веб-сайт, вказуючи домен на немаршрутизовану IP-адресу.

Крок 3: Збереження та вихід

Після внесення змін збережіть файл. Якщо ви використовуєте nano, натисніть CTRL O, щоб записати зміни, а потім натисніть Enter. Щоб вийти, натисніть CTRL X.

Якщо ви використовуєте vim, ви можете зберегти і вийти, набравши :

:wq

Крок 4: Перевірте зміни

Щоб перевірити, чи зміни вступили в силу, ви можете скористатися командою ping або просто спробувати отримати доступ до домену в браузері. Наприклад:

ping example.com

Якщо ви заблокували домен, зіставивши його з 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. Це корисно для запобігання доступу до відволікаючих веб-сайтів або потенційно шкідливих доменів.

Приклад:

0.0.0.0 facebook.com www.facebook.com

Це заблокує доступ до Facebook, перенаправляючи запити на неіснуючу локальну адресу.

5.3. Обхід проблем з DNS

Якщо у вас виникли проблеми з дозволом DNS або ви хочете протестувати веб-сайт на новому сервері перед оновленням записів DNS, ви можете використовувати файл hosts, щоб тимчасово прив’язати домен до певної IP-адреси.

Приклад:

203.0.113.15 mywebsite.com

Це змусить вашу систему розпізнавати 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 – це потужний інструмент для керування тим, як ваша система вирішує доменні імена. Якщо ви блокуєте небажані веб-сайти, налаштовуєте локальне середовище розробки або усуваєте проблеми з DNS, знання того, як змінити файл hosts, може заощадити час і покращити можливості керування мережею. У Linux редагування файлу hosts є простим і може бути виконано всього за кілька кроків за допомогою базових команд терміналу. Тільки не забувайте використовувати привілеї root при зміні цього важливого системного файлу!

Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills