Czym jest plik hosts i do czego służy
Plik hosts to lokalna mapa skojarzeń między nazwą domenową a adresem IP. Zanim system zapyta serwery DNS o adres strony, może sprawdzić właśnie ten plik i użyć wpisu znajdującego się lokalnie.
- Czym jest plik hosts i do czego służy
- Gdzie znajduje się plik hosts w macOS
- Jak edytować plik hosts w macOS krok po kroku
- Jak wygląda poprawny wpis w pliku hosts
- Jak blokować strony internetowe przez plik hosts
- Jak przekierować domenę na inny serwer
- Jak znaleźć właściwy adres IP domeny
- Jak przywrócić zmiany i odblokować stronę
- Czy po edycji hosts trzeba coś odświeżyć
- Najczęstsze błędy przy edycji pliku hosts
- Bezpieczna i praktyczna alternatywa dla terminala
- Gotowy przykład – blokowanie wybranych serwisów w macOS
- Gotowy przykład – przekierowanie strony testowej
- Krótka instrukcja do wklejenia na stronę
Oznacza to, że jeśli wpiszesz w nim np. domenę example.com i przypiszesz ją do konkretnego adresu IP, macOS spróbuje otworzyć tę domenę właśnie pod tym adresem, niezależnie od publicznych rekordów DNS.
To rozwiązanie jest przydatne, gdy chcesz:
- testować stronę na innym serwerze bez zmiany DNS,
- sprawdzić działanie witryny po migracji,
- zablokować wybrane domeny lokalnie,
- skierować określoną nazwę domeny na serwer testowy lub stagingowy.
Gdzie znajduje się plik hosts w macOS
W systemie macOS plik hosts znajduje się w katalogu:
/etc/hosts
W Finderze możesz też dotrzeć do pliku przez „Go to Folder”, wskazując fizyczną lokalizację /private/etc. Dla użytkownika końcowego najważniejsze jest jedno: standardowa ścieżka, z której korzysta się przy edycji, to /etc/hosts.
Jak edytować plik hosts w macOS krok po kroku
Najprostsza metoda to edycja przez Terminal z użyciem nano. Modyfikacja tego pliku wymaga uprawnień administratora, dlatego użyj polecenia sudo nano /etc/hosts.
Instrukcja dla początkujących
-
Otwórz Terminal (Spotlight → wpisz „Terminal” lub Aplikacje → Narzędzia).
-
Wpisz polecenie i naciśnij Enter:
sudo nano /etc/hosts -
Podaj hasło administratora, jeśli system o to poprosi.
-
Otworzy się plik
hostsw edytorzenano. Dodaj nowy wpis na końcu pliku, w osobnej linii. -
Zapisz zmiany: użyj
Ctrl + O, a następnie potwierdź klawiszemEnter. -
Wyjdź z edytora: naciśnij
Ctrl + X.
Jak wygląda poprawny wpis w pliku hosts
Każdy wpis powinien zawierać:
- adres IP,
- spację lub tabulator,
- nazwę domeny.
Przykład poprawnego wpisu:
123.123.123.123 example.com
Jeśli chcesz dodać kilka domen, każdą wpisuj w osobnej linii. Przykład kilku wpisów:
127.0.0.1 reklamy.example.com
127.0.0.1 tracker.example.com
192.168.1.10 test.twojastrona.pl
W praktyce format jest prosty, ale warto pilnować poprawności składni – błędny wpis może spowodować, że domena nie zadziała tak, jak oczekujesz.
Jak blokować strony internetowe przez plik hosts
Najprostsza metoda blokowania polega na przypisaniu domeny do adresu lokalnego, czyli zwykle 127.0.0.1.
Przykład blokady
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
127.0.0.1 instagram.com
127.0.0.1 www.instagram.com
W takim wariancie system będzie próbował kierować ruch na lokalny komputer, a strona przestanie się poprawnie otwierać.
Ważne uwagi przy blokowaniu
- warto blokować zarówno domenę bez
www, jak i zwww, bo część serwisów używa obu wariantów, - jeśli chcesz całkowicie odciąć stronę, dodaj także inne subdomeny używane przez serwis, jeśli je znasz,
- niektóre aplikacje i przeglądarki mogą korzystać z własnych mechanizmów DNS lub połączeń szyfrowanych, więc samo
hostsnie zawsze wystarczy w każdym scenariuszu technicznym, - pamiętaj o IPv6 – aby blokada była pełna, dodaj również wpisy z adresem
::1dla tych samych domen, - plik
hostsnie obsługuje wildcardów (np.*.example.com); każdą subdomenę trzeba dodać osobno.
Jak przekierować domenę na inny serwer
Plik hosts można wykorzystać nie tylko do blokowania, ale również do przekierowania domeny na inny adres IP.
Przykład przekierowania:
203.0.113.50 mojasklep.pl
Dzięki temu wpisowi przeglądarka będzie próbowała otworzyć mojasklep.pl pod adresem IP 203.0.113.50, nawet jeśli publiczny DNS wskazuje gdzie indziej. To rozwiązanie przydaje się np. podczas:
- testów po migracji hostingu,
- sprawdzania nowego serwera przed zmianą rekordów DNS,
- pracy nad środowiskiem stagingowym.
Jak znaleźć właściwy adres IP domeny
Aby przypisać domenę do konkretnego serwera, musisz znać jego adres IP. W macOS przydatne jest narzędzie dig. Przykładowe użycie:
dig example.com
Aby uzyskać sam adres IP, użyj krótszej wersji:
dig +short example.com
W praktyce, jeśli chodzi o blokowanie, nie musisz znać docelowego IP strony – wystarczy skierować domenę na 127.0.0.1.
Jak przywrócić zmiany i odblokować stronę
Jeśli chcesz cofnąć blokadę lub przekierowanie, ponownie otwórz plik hosts i usuń odpowiedni wpis albo go zakomentuj. Zakomentowanie polega na dodaniu znaku # na początku linii:
# 127.0.0.1 facebook.com
# 127.0.0.1 www.facebook.com
Po zapisaniu pliku wpis przestaje działać, a system wraca do standardowego rozwiązywania DNS.
Czy po edycji hosts trzeba coś odświeżyć
Po zapisaniu zmian w pliku hosts efekt zwykle jest widoczny od razu, ale przeglądarka lub system mogą korzystać z pamięci podręcznej DNS. Jeśli zmiana nie zadziała natychmiast, pomocne może być:
- zamknięcie i ponowne uruchomienie przeglądarki,
- odczekanie chwili,
- wyczyszczenie cache DNS w systemie lub przeglądarce.
Aby ręcznie odświeżyć cache DNS w macOS, użyj poleceń w Terminalu:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Po wykonaniu tych komend nie pojawia się żaden komunikat – to normalne zachowanie.
Najczęstsze błędy przy edycji pliku hosts
1. Brak uprawnień administratora
Jeśli otworzysz plik bez sudo, system może nie pozwolić na zapis zmian.
2. Zły format wpisu
Każdy wpis musi mieć format:
IP domena
Nie dodawaj zbędnych znaków ani nieprawidłowych separatorów.
3. Pominięcie wersji z www
Jeśli chcesz zablokować całą stronę, dodaj obie wersje domeny.
4. Zapisanie pliku w złym miejscu
Plik powinien pozostać w oryginalnej lokalizacji systemowej, czyli /etc/hosts.
5. Brak efektu po zmianie
Jeśli zmiany nie działają, najczęściej przyczyną jest cache przeglądarki, cache DNS lub literówka w adresie domeny.
6. Użycie wildcardów
Plik hosts nie obsługuje wpisów typu *.example.com. Każdą subdomenę trzeba dodać osobno.
7. Pominięcie IPv6
Jeśli sieć lub witryna używa IPv6, dodaj odpowiednie wpisy z ::1 (np. ::1 example.com), aby blokada/przekierowanie działało konsekwentnie.
8. Usunięcie domyślnych wpisów systemowych
Nie usuwaj wbudowanych wpisów (np. 127.0.0.1 localhost), bo mogą być wymagane przez system i aplikacje.
Bezpieczna i praktyczna alternatywa dla terminala
W części poradników wspomina się o edycji pliku hosts przez Finder, czyli dotarciu do katalogu /private/etc i otwarciu pliku w edytorze tekstowym. To rozwiązanie jest jednak mniej wygodne i częściej prowadzi do pomyłek, dlatego w praktyce rekomendowaną metodą pozostaje sudo nano /etc/hosts.
Gotowy przykład – blokowanie wybranych serwisów w macOS
Jeśli chcesz szybko zablokować popularne domeny społecznościowe, wpis może wyglądać tak:
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
127.0.0.1 instagram.com
127.0.0.1 www.instagram.com
127.0.0.1 tiktok.com
127.0.0.1 www.tiktok.com
Taki zestaw wpisów przekieruje domeny na lokalny adres komputera, przez co witryny nie będą się poprawnie otwierały.
Gotowy przykład – przekierowanie strony testowej
Jeśli chcesz sprawdzić stronę na nowym serwerze przed zmianą DNS, możesz użyć wpisu:
203.0.113.50 twojadomena.pl
Wówczas komputer będzie traktował domenę jako wskazującą na ten serwer, dopóki wpis pozostaje w hosts.
Krótka instrukcja do wklejenia na stronę
Poniżej znajdziesz skróconą, gotową do skopiowania instrukcję krok po kroku:
-
Otwórz Terminal.
-
Uruchom edycję pliku:
sudo nano /etc/hosts -
Dodaj wpis w formacie:
IP domena -
Aby zablokować stronę, wpisz np.:
127.0.0.1 example.com
127.0.0.1 www.example.com -
Zapisz zmiany:
Ctrl + O→Enter, a następnie wyjdź:Ctrl + X. -
Jeśli zmiana nie działa od razu, uruchom ponownie przeglądarkę lub odśwież cache DNS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder








