Файлът Hosts в Linux ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
12.12.2024

Файлът Hosts в Linux

Файлът hosts е важен компонент в много операционни системи, включително Linux VPS хостинг. Той служи като локален инструмент на системно ниво за съпоставяне на имена на хостове с 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-адресът, към който искате да се преобразува името на хоста.
  • hostname: Името на домейна или хоста.
  • псевдоним (по избор): Алтернативни имена за хоста, които могат да бъдат добавени за удобство.

Например, ако искате да съпоставите домейна 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, когато променяте този важен системен файл!

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills