Aby edytować plik hosts w systemie Windows, musisz uruchomić Notatnik jako administrator i otworzyć ścieżkę C:\Windows\System32\drivers\etc\hosts. W systemach macOS oraz Linux proces ten wymaga otwarcia Terminala i wpisania komendy sudo nano /etc/hosts w celu modyfikacji systemowego mapowania adresów IP. To najszybsza metoda na ominięcie serwerów DNS dostawcy internetu i wymuszenie lokalnego ładowania wybranej witryny.
Plik hosts to zwykły plik tekstowy bez żadnego rozszerzenia. Pełni funkcję lokalnej książki adresowej dla twojego komputera. Zanim przeglądarka internetowa wyśle zapytanie do globalnych serwerów DNS o to, pod jakim adresem IP znajduje się strona internetowa, system operacyjny zawsze najpierw sprawdza zawartość pliku hosts. Jeśli znajdzie tam wpis, natychmiast kieruje ruch na wskazany adres. My wdrożyliśmy takie rozwiązanie wielokrotnie podczas testowania nowych serwerów przed oficjalnym przepięciem domen dla klientów.
Co to jest plik hosts i do czego konkretnie służy w systemie?
Plik hosts pozwala na ręczne przypisanie wybranej nazwy domeny do konkretnego adresu IP. Używamy go najczęściej w procesie tworzenia oprogramowania i migracji stron internetowych. Programiści wpisują tam adresy lokalnych środowisk deweloperskich. Administratorzy blokują w ten sposób dostęp do niepożądanych witryn w sieciach firmowych.
Zasada działania opiera się na prostym mechanizmie translacji z czasów sieci ARPANET. Wtedy nie istniał jeszcze rozproszony system nazw domenowych (DNS). Każdy komputer musiał mieć własną, ręcznie aktualizowaną listę adresów. Ten relikt przeszłości został w systemach operacyjnych do dzisiaj. Ma najwyższy priorytet w procesie rozwiązywania nazw. Zablokowanie strony przez wpisanie jej obok adresu 127.0.0.1 (czyli pętli zwrotnej localhost) powoduje natychmiastowe odcięcie dostępu do witryny z poziomu danej maszyny.
Zastosowania tego pliku dzielą się na cztery główne kategorie administracyjne:
- Blokowanie złośliwych domen. Przekierowanie serwerów reklamowych lub stron z malware na adres 0.0.0.0 skutecznie unieszkodliwia próby nawiązania połączenia przez przeglądarkę na danym urządzeniu.
- Testowanie środowisk stagingowych. To bodaj najczęstszy powód edycji pliku. Kiedy tworzymy nową wersję sklepu internetowego na innym serwerze, wymuszamy na naszym komputerze ładowanie nowej maszyny pod starym adresem URL. Widzimy nową stronę, podczas gdy reszta świata nadal widzi starą wersję z publicznego DNS. Czasami instrukcje w sieci komplikują ten proces. Dobrym pomysłem jest po prostu dopisanie jednej linijki tekstu na samym dole.
- Tworzenie skrótów dla adresów wewnętrznych. Zamiast zapamiętywać ciąg znaków 192.168.1.150 dla domowego serwera plików, mapujemy go na przyjazną nazwę, na przykład
moj-nas.local. - Zarządzanie ruchem w sieciach odizolowanych. W środowiskach bez dostępu do zewnętrznego internetu plik hosts pozostaje jedynym sposobem na nawigację po nazwach domenowych między serwerami aplikacji a bazami danych.
Jak edytować plik hosts w systemie Windows 10 i 11?
Edycja pliku hosts w środowisku Microsoft Windows wymaga nadania programowi edytującemu najwyższych uprawnień w systemie. Plik znajduje się w chronionym katalogu systemowym. Zwykłe kliknięcie go dwukrotnie i otwarcie w Notatniku zakończy się błędem braku uprawnień podczas próby zapisu modyfikacji.
Proces zmiany adresów IP w systemach Windows 10 i Windows 11 wygląda następująco. Wciskasz klawisz Windows na klawiaturze. Wpisujesz słowo Notatnik. Klikasz prawym przyciskiem myszy na ikonę aplikacji i wybierasz opcję Uruchom jako administrator. Potwierdzasz monit kontroli konta użytkownika (UAC). W oknie Notatnika wybierasz menu Plik, a następnie Otwórz. Przechodzisz do dysku C. Otwierasz folder Windows. Wchodzisz w System32. Wybierasz katalog drivers. Otwierasz folder etc.
Na tym etapie folder wydaje się całkowicie pusty. Musisz zmienić filtr plików w prawym dolnym rogu okna dialogowego z Dokumenty tekstowe (*.txt) na Wszystkie pliki (*.*). Dopiero wtedy zobaczysz plik o nazwie hosts. Otwierasz go.
Gdzie dokładnie leży plik hosts na dysku C?
Ścieżka do pliku jest stała od czasów systemu Windows NT. Znajdziesz go dokładnie pod adresem C:\Windows\System32\drivers\etc\hosts.
| System operacyjny | Domyślna lokalizacja pliku hosts |
| Windows (11, 10, 8, 7) | C:\Windows\System32\drivers\etc\hosts |
| macOS | /etc/hosts (skrót do /private/etc/hosts) |
| Linux (Ubuntu, Debian) | /etc/hosts |
Jak zapisać zmiany jako administrator bez błędu braku uprawnień?
Dodajesz nową regułę na samym dole dokumentu. Najpierw wpisujesz docelowy adres IP. Wstawiasz spację lub tabulator. Wpisujesz nazwę domeny. Na przykład: 192.168.1.50 testowastrona.pl. Zapisujesz plik kombinacją klawiszy Ctrl+S. Jeśli system zapyta o zapisanie pliku z rozszerzeniem .txt na pulpicie, oznacza to, że nie uruchomiłeś Notatnika jako administrator. W takiej sytuacji musisz zamknąć program i powtórzyć całą procedurę od początku z odpowiednimi uprawnieniami.
Prawda jest zresztą absolutnie taka, że edytowanie tego pliku potrafi doprowadzić człowieka do szału. Zrobiliśmy na wdrożeniu nowy serwer we wtorek, potem zawiesiło się odpytywanie bazy, więc wprowadzono poprawkę w DNS przed poniedziałkiem. I co? I nic nie działało. Windows trzymał stary cache jak wściekły. Musiałem ręcznie wpisywać IP z palca u siebie na maszynie w biurze. Czasami te wszystkie automatyczne systemy chmurowe to po prostu jeden wielki BUBEL i nic nie zastąpi twardego nadpisania reguł w tekstowym pliku systemowym na własnym dysku.
W jaki sposób zmodyfikować plik hosts na macOS?
Systemy firmy Apple opierają się na architekturze Unix. Oznacza to brak graficznego notatnika z uprawnieniami administratora dostępnego z poziomu zwykłego menu. Modyfikację pliku hosts na komputerach Mac przeprowadzamy wyłącznie za pośrednictwem wiersza poleceń w aplikacji Terminal.
Otwierasz wyszukiwarkę Spotlight kombinacją klawiszy Command+Spacja. Wpisujesz Terminal i wciskasz Enter. Pojawia się czarne okno z wierszem poleceń. To jedyne narzędzie potrzebne do wykonania zadania.
Jak użyć terminala i edytora nano do zmiany mapowania IP?
W oknie Terminala wpisujesz dokładnie to polecenie: sudo nano /etc/hosts. System poprosi o podanie hasła logowania do komputera. Podczas wpisywania znaków hasła na ekranie nie pojawią się żadne gwiazdki ani kropki. To standardowe zachowanie zabezpieczeń w systemach uniksowych. Wpisujesz hasło w ciemno i zatwierdzasz klawiszem Return.
Otwiera się prosty edytor tekstowy o nazwie nano. Używasz strzałek na klawiaturze, aby zjechać na sam dół pliku. Tworzysz nową linię. Wpisujesz nowy adres IP oraz nazwę domeny. Oddzielasz je spacją. Aby zapisać zmiany, wciskasz kombinację klawiszy Control+O (litera O). Edytor zapyta o nazwę pliku do zapisu. Potwierdzasz klawiszem Return. Wychodzisz z edytora skrótem Control+X.
Zmieniliśmy te zasady na robocie niedawno. Wcześniej próbowaliśmy używać edytorów graficznych typu TextEdit z wymuszaniem uprawnień przez skrypty AppleScript. To strata czasu. Nano działa natychmiast i nigdy nie psuje kodowania znaków.
Jak edytować plik hosts w systemach Linux (Ubuntu, Debian, Fedora)?
Architektura systemów z rodziny Linux traktuje pliki konfiguracyjne niemal identycznie jak macOS. Plik znajduje się w katalogu /etc/ i jego edycja wymaga uprawnień superużytkownika (root).
Uruchamiasz preferowany emulator terminala. W dystrybucji Ubuntu skrót to zazwyczaj Ctrl+Alt+T. Wpisujesz komendę: sudo nano /etc/hosts. Podajesz swoje hasło użytkownika. Po otwarciu edytora dopisujesz własne mapowania adresów IP na samym końcu tekstu. Zapisujesz zmiany naciskając Ctrl+O, Enter, a potem Ctrl+X do wyjścia.
Dla osób pracujących na serwerach bez interfejsu graficznego znajomość edytora vi lub vim jest równie przydatna. Wpisujesz sudo vi /etc/hosts. Wciskasz literę „i” by wejść w tryb wstawiania. Dopisujesz reguły. Wciskasz klawisz Escape. Wpisujesz :wq i naciskasz Enter by zapisać i wyjść z pliku.
Miałem taką sytuację w zeszłym roku na osiedlu Warszawa Mokotów. Lokalny dostawca osiedlowy wymuszał własne serwery DNS, które odświeżały się raz na dobę. Klient czekał na start nowej kampanii sprzedażowej. Bez twardego wpisu w /etc/hosts u nas na laptopach deweloperskich, nikt z zespołu nie widziałby nowej wersji landing page’a. Musieliśmy ręcznie wbijać IP serwera docelowego, by ominąć ten narzucony z góry osiedlowy cache.
Dlaczego edycja pliku hosts nie działa od razu?
Wprowadziłeś poprawny adres IP. Zapisałeś plik hosts. Wpisujesz adres w przeglądarkę i nadal widzisz starą stronę. To najpopularniejszy problem zgłaszany przez deweloperów. Przyczyną jest pamięć podręczna. Systemy operacyjne i same przeglądarki internetowe agresywnie buforują zapytania DNS, aby przyspieszyć ładowanie stron.
System operacyjny nie czyta pliku hosts przy każdym pojedynczym kliknięciu w link. Sprawdza go, a wynik zapisuje we własnym buforze. Przeglądarka Google Chrome ma dodatkowo własną, niezależną od systemu pamięć DNS. Rozwiązaniem jest ręczne opróżnienie tych buforów.
Jak wyczyścić pamięć podręczną DNS (DNS flush)?
Metoda czyszczenia zależy od używanego oprogramowania systemowego. W zdecydowanej większości awarii to właśnie ten krok naprawia problem z widocznością zmian.
- Czyszczenie w systemie Windows: Otwierasz Wiersz polecenia (cmd) jako administrator. Wpisujesz komendę
ipconfig /flushdnsi wciskasz Enter. Zobaczysz komunikat o pomyślnym opróżnieniu pamięci podręcznej programu rozpoznawania nazw. - Czyszczenie w systemie macOS: Otwierasz Terminal. Wpisujesz polecenie
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderi zatwierdzasz. System nie wyświetli żadnego potwierdzenia, po prostu wróci do znaku zachęty. - Czyszczenie przeglądarki Chrome: Otwierasz nową kartę. Wpisujesz w pasek adresu
chrome://net-internals/#dnsi klikasz przycisk Clear host cache. - Czyszczenie w systemie Linux: Sytuacja bywa różna w zależności od dystrybucji. W Ubuntu zwykle wystarczy polecenie
sudo systemctl restart systemd-resolved.
Chociaż prawdę mówiąc brakuje nam twardych danych za wczoraj z logów serwera u klienta, więc to opóźnienie wydaje się po prostu winą agresywnego cache po stronie ich korporacyjnego firewalla. Czasami nawet lokalny flushdns nie pomaga, jeśli ruch idzie przez wymuszony firmowy serwer proxy. Wtedy trzeba zrestartować fizycznie całe połączenie sieciowe w komputerze.
Jakie są najczęstsze błędy podczas zmiany adresów IP w pliku hosts?
Złe formatowanie pliku to główny winowajca problemów. Plik hosts ignoruje linie zaczynające się od znaku krzyżyka (#). To są komentarze. Wielu użytkowników dopisuje swój adres IP, ale zostawia znak # na początku linii. Taki wpis nie zadziała.
Kolejnym potknięciem jest używanie złych znaków odstępu. Pomiędzy adresem IP a nazwą domeny musi znajdować się spacja lub tabulator. Nie wolno wstawiać tam dwukropków ani średników. Błędem jest również wpisywanie protokołu HTTP w nazwę hosta. Zamiast pisać 192.168.1.10 http://www.strona.pl, musisz wpisać po prostu 192.168.1.10 www.strona.pl.
Zastanawiacie się zresztą, dlaczego to na produkcji tak wyje na testach po drodze? Sam się nad tym borykałem dzisiaj u siebie we wtorek. Okazało się, że Windows domyślnie dokleił ukryte rozszerzenie .txt do pliku hosts po edycji w złym programie. Plik nazywał się hosts.txt. System kompletnie go ignorował. Usunięcie rozszerzenia naprawiło problem w pięć sekund.
Czy antywirusy blokują modyfikację pliku hosts?
Programy antywirusowe z rodziny Windows Defender oraz komercyjne pakiety ochrony często traktują każdą próbę zmiany pliku hosts jako atak złośliwego oprogramowania. To zachowanie ma uzasadnienie. Konie trojańskie w przeszłości masowo dopisywały tam fałszywe adresy IP banków, by wykradać dane logowania.
Jeśli zapisanie pliku w Notatniku kończy się błędem „Odmowa dostępu” mimo posiadania uprawnień administratora, winny jest antywirus. W programie Windows Defender musisz wejść w ustawienia ochrony przed wirusami i zagrożeniami. Znajdź sekcję ochrony przed ransomware lub ochrony w czasie rzeczywistym. Wyłącz na kilka minut blokadę modyfikacji plików systemowych. Zapisz plik hosts. Następnie natychmiast włącz ochronę z powrotem. My stosujemy to obejście za każdym razem podczas stawiania środowisk na stacjach roboczych.
Bez mała prawie dziewięćdziesiąt procent zgłoszeń na helpdesku o niemożności zapisu hosts wynika z działania zewnętrznych programów typu endpoint security narzuconych przez dział IT w firmie. Jeśli komputer należy do pracodawcy, zazwyczaj nie obejdziesz tej blokady bez kontaktu z administratorem sieci.
Opanowanie edycji tego małego, tekstowego pliku daje ogromną kontrolę nad tym, jak Twój komputer widzi internet. Zamiast polegać na zewnętrznych operatorach, sam decydujesz o trasowaniu ruchu. Sprawdź teraz własny plik hosts na dysku i upewnij się, że nie ma w nim starych, zapomnianych wpisów z projektów sprzed kilku lat. Skasowanie ich z pewnością przyspieszy rozwiązywanie nazw domenowych na Twojej maszynie.
Najczęściej zadawane pytania (FAQ)
- Jak zresetować plik hosts do ustawień fabrycznych w Windows?
Aby zresetować plik hosts, utwórz nowy dokument w Notatniku, wklej do niego domyślną zawartość dostarczaną przez Microsoft (głównie zakomentowane linie z #), a następnie zapisz go jako 'hosts’ (bez rozszerzenia .txt) w folderze C:\Windows\System32\drivers\etc\, nadpisując stary plik. - Czy edycja pliku hosts działa na urządzeniach mobilnych z Androidem lub iOS?
W standardowych warunkach nie. Edycja pliku hosts na Androidzie wymaga zrootowania urządzenia. Na systemie iOS (iPhone, iPad) modyfikacja jest możliwa wyłącznie po przeprowadzeniu procesu jailbreak. Bez tego użytkownik nie ma dostępu do partycji systemowej. - Dlaczego nie mogę zapisać zmian w pliku hosts na komputerze firmowym?
Na komputerach korporacyjnych działy IT blokują dostęp do katalogów systemowych za pomocą zasad grupy (GPO) lub oprogramowania antywirusowego. Nawet jeśli masz lokalne uprawnienia administratora, oprogramowanie zabezpieczające zablokuje próbę zapisu. - Jak zablokować stronę internetową za pomocą pliku hosts?
Otwórz plik hosts i dopisz nową linię w formacie: 127.0.0.1 www.nazwastrony.pl. Spowoduje to przekierowanie zapytań o tę domenę na Twój własny komputer, co skutecznie uniemożliwi wczytanie witryny w jakiejkolwiek przeglądarce. - Ile wpisów mogę dodać do pliku hosts?
Teoretycznie nie ma twardego limitu ilości wpisów. Jednakże bardzo duży plik hosts (np. zawierający dziesiątki tysięcy zablokowanych domen reklamowych) może zauważalnie spowolnić działanie usługi klienta DNS w systemie Windows i opóźnić ładowanie wszystkich stron. - Co oznacza adres 127.0.0.1 w pliku hosts?
Adres 127.0.0.1 to standardowy adres pętli zwrotnej (localhost) w protokole IPv4. Oznacza on po prostu „ten komputer”. Kierowanie jakiejkolwiek domeny na ten adres sprawia, że system szuka jej na własnym dysku zamiast w internecie.
Bibliografia
1. Microsoft Learn – https://learn.microsoft.com
2. Apple Support – https://support.apple.com
3. Ubuntu Documentation – https://help.ubuntu.com
4. Debian Wiki – https://wiki.debian.org
5. Mozilla Developer Network – https://developer.mozilla.org
