Plik hosts w systemie Linux
Plik hosts jest krytycznym elementem wielu systemów operacyjnych, w tym Linux VPS Hosting. Służy jako lokalne narzędzie systemowe do mapowania nazw hostów na adresy IP, pomagając komputerowi zlokalizować i połączyć się z różnymi serwerami lub urządzeniami w Internecie lub sieci lokalnej. Zrozumienie, jak działa plik hosts i jak go modyfikować, może być przydatne do rozwiązywania problemów, blokowania określonych witryn lub konfigurowania niestandardowych nazw domen do celów programistycznych. W tym artykule zbadamy, czym jest plik hosts, gdzie znajduje się w systemie Linux i jak go skutecznie edytować.
1. Czym jest plik hosts?
Plik hosts to zwykły plik tekstowy używany przez system operacyjny do mapowania czytelnych dla człowieka nazw hostów (takich jak www.example.com) na odpowiadające im adresy IP. Działa podobnie do systemu nazw domen (DNS), ale działa lokalnie na komputerze. Plik jest używany przed zapytaniem zewnętrznych serwerów DNS, umożliwiając zastąpienie rozdzielczości DNS własnymi niestandardowymi mapowaniami.
Główne zastosowania pliku hosts obejmują:
- Mapowanie domen dla rozwoju lokalnego: Programiści często używają pliku hosts do tworzenia lokalnych środowisk testowych poprzez mapowanie niestandardowych nazw domen na localhost (127.0.0.1).
- Blokowanie dostępu do określonych witryn internetowych: Możesz zablokować dostęp do niektórych witryn internetowych, wskazując ich nazwy domen na nieroutowalne adresy IP, takie jak 0.0.0.0 lub 127.0.0.1.
- Szybkie rozwiązywanie problemów z DNS: Plik hosts może być używany do rozwiązywania problemów z DNS lub testowania konfiguracji stron internetowych bez modyfikowania rzeczywistych rekordów DNS.
2. Lokalizacja pliku hosts w systemie Linux
W systemach Linux plik hosts znajduje się zazwyczaj w katalogu /etc i nosi nazwę hosts. Pełna ścieżka do pliku to:
/etc/hosts
Plik ten jest zwykle wstępnie skonfigurowany z pewnymi domyślnymi wpisami do zarządzania siecią lokalną. Na przykład, wpis dla localhost jest zwykle dołączany domyślnie:
127.0.0.1 localhost ::1 localhost
3. Struktura pliku hostów
Plik hosts ma prostą strukturę. Każda linia w pliku zawiera adres IP, po którym następuje jedna lub więcej nazw hostów, które mapują na ten adres. Format jest następujący:
- IP_address: Adres IP, na który ma być rozpoznawana nazwa hosta.
- hostname: nazwa domeny lub hosta.
- alias (opcjonalnie): Alternatywne nazwy dla hosta, które można dodać dla wygody.
Na przykład, jeśli chcesz zmapować domenę example.com na serwer lokalny (localhost), dodasz następującą linię:
Można również dodać wiele nazw hostów w jednej linii, na przykład:
4. Edycja pliku hostów w systemie Linux
Aby zmodyfikować plik hosts w systemie Linux, potrzebne są uprawnienia administracyjne (root), ponieważ plik ten jest częścią konfiguracji systemu. Oto przewodnik krok po kroku dotyczący edycji pliku hosts:
Krok 1: Otwórz plik Hosts jako root
Ponieważ do edycji pliku hosts potrzebne są uprawnienia roota, należy otworzyć go za pomocą edytora tekstu z sudo. Popularne edytory tekstu to nano i vim. Oto jak otworzyć plik za pomocą nano:
sudo nano /etc/hosts
Krok 2: Edycja pliku hostów
Po otwarciu pliku można dodawać, modyfikować lub usuwać wpisy w zależności od potrzeb. Na przykład, aby zablokować dostęp do witryny takiej jak example.com, można dodać następujący wiersz:
Skutecznie blokuje to witrynę, wskazując domenę na nieroutowalny adres IP.
Krok 3: Zapisz i zakończ
Po wprowadzeniu zmian zapisz plik. Jeśli używasz nano, naciśnij CTRL O, aby zapisać zmiany, a następnie naciśnij Enter. Aby wyjść, naciśnij CTRL X.
Jeśli używasz vima, możesz zapisać i wyjść wpisując:
Krok 4: Zweryfikuj zmiany
Aby sprawdzić, czy zmiany odniosły skutek, można użyć polecenia ping lub po prostu spróbować uzyskać dostęp do domeny w przeglądarce. Na przykład:
Jeśli zablokowałeś domenę, mapując ją na 0.0.0.0 lub 127.0.0.1, powinieneś zobaczyć komunikat wskazujący, że host jest nieosiągalny.
5. Typowe przypadki użycia pliku Hosts
5.1. Rozwój lokalny
Podczas pracy nad projektami tworzenia stron internetowych można użyć pliku hosts do mapowania domen niestandardowych na localhost. Pozwala to na użycie bardziej czytelnego dla człowieka adresu URL, takiego jak myproject.local zamiast localhost:3000.
Przykład:
127.0.0.1 myproject.local
Po dodaniu tego wpisu można przejść do myproject.local w przeglądarce internetowej, która wskaże lokalny serwer deweloperski.
5.2. Blokowanie stron internetowych
Za pomocą pliku hosts można zablokować dostęp do określonych stron internetowych, mapując ich domeny na 0.0.0.0 lub 127.0.0.1. Jest to przydatne do zapobiegania dostępowi do rozpraszających witryn lub potencjalnie szkodliwych domen.
Przykład:
Spowoduje to zablokowanie dostępu do Facebooka poprzez przekierowanie żądań na nieistniejący adres lokalny.
5.3. Omijanie problemów z DNS
Jeśli występują problemy z rozpoznawaniem DNS lub chcesz przetestować witrynę na nowym serwerze przed aktualizacją rekordów DNS, możesz użyć pliku hosts, aby tymczasowo zmapować domenę na określony adres IP.
Przykład:
Spowoduje to, że system będzie rozpoznawał mywebsite.com jako adres IP 203.0.113.15, niezależnie od tego, co mówią rekordy DNS.
6. Opróżnianie pamięci podręcznej DNS (opcjonalnie)
Po wprowadzeniu zmian w pliku hosts system operacyjny może nadal buforować poprzednie rozdzielczości DNS. Aby natychmiast zastosować zmiany, może być konieczne opróżnienie pamięci podręcznej DNS. Poniższe polecenie może być używane w systemach Linux obsługujących systemd:
sudo systemctl restart systemd-resolved
Alternatywnie można użyć:
sudo service network-manager restart
Zapewni to natychmiastowe użycie nowych mapowań w pliku hosts.
Wnioski
Plik hosts jest potężnym narzędziem do kontrolowania sposobu, w jaki system rozwiązuje nazwy domen. Niezależnie od tego, czy blokujesz niechciane strony internetowe, konfigurujesz lokalne środowiska programistyczne, czy rozwiązujesz problemy z DNS, wiedza o tym, jak zmodyfikować plik hosts, może zaoszczędzić czas i poprawić możliwości zarządzania siecią. W systemie Linux edycja pliku hosts jest prosta i można ją wykonać w zaledwie kilku krokach przy użyciu podstawowych poleceń terminala. Pamiętaj tylko, aby używać uprawnień roota podczas modyfikowania tego ważnego pliku systemowego!