Файлът 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_адрес: IP-адресът, към който искате да се преобразува името на хоста.
- hostname: Името на домейна или хоста.
- псевдоним (по избор): Алтернативни имена за хоста, които могат да бъдат добавени за удобство.
Например, ако искате да съпоставите домейна example.com с местен сървър (localhost), ще добавите следния ред:
Можете също така да добавите няколко имена на хостове на един ред, както следва:
4. Редактиране на файла Hosts в Linux
За да модифицирате файла hosts в система Linux, са ви необходими администраторски (root) права, тъй като файлът е част от системната конфигурация. Ето ръководство стъпка по стъпка за редактиране на файла hosts:
Стъпка 1: Отваряне на файла Hosts като Root
Тъй като за редактирането на файла hosts са ви необходими права на root, трябва да го отворите с помощта на текстов редактор със sudo. Обикновените текстови редактори включват nano и vim. Ето как да отворите файла с помощта на nano:
sudo nano /etc/hosts
Стъпка 2: Редактиране на файла Hosts
След като файлът е отворен, можете да добавяте, променяте или премахвате записи, ако е необходимо. Например, за да блокирате достъпа до уебсайт като 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 е мощен инструмент за управление на начина, по който системата ви разрешава имена на домейни. Независимо дали блокирате нежелани уебсайтове, създавате локални среди за разработка или отстранявате проблеми с DNS, знанието за промяна на файла hosts може да спести време и да подобри възможностите ви за управление на мрежата. В Linux редактирането на файла hosts е лесно и може да се извърши само в няколко стъпки с помощта на основни терминални команди. Само не забравяйте да използвате правата на root, когато променяте този важен системен файл!