33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Використовуй код:

BLACK33
BG40
Використовуйте промо
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 при зміні цього важливого системного файлу!

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Використовуй код:

BLACK33
BG40
Використовуйте промо