Masz dość bombardowania reklamami za każdym razem, gdy przeglądasz internet lub korzystasz z aplikacji mobilnej? Istnieje fantastyczne rozwiązanie o nazwie Pi-hole, które w zasadzie działa jak… inteligentny filtr DNSNajwiększą zaletą jest to, że nie musisz instalować niczego na każdym urządzeniu w domu. System działa w ramach podstawowej funkcjonalności sieci, przechwytując i blokując niechciane treści, zanim jeszcze dotrą do Twojego ekranu.
Aby skonfigurować ten system, najrozsądniejszym rozwiązaniem jest dziś użycie Dockera. Umieszczając Pi-hole w kontenerze, unikniesz zaśmiecania systemu operacyjnego komputera, sprawisz, że aktualizacje będą niezwykle łatwe i będziesz mógł… maksymalnie wykorzystać sprzętniezależnie od tego, czy jest to Raspberry Pi, stary serwer, czy nawet maszyna wirtualna na Ubuntu lub Debianie, bez kolizji usług między sobą.
Wymagania wstępne i przygotowanie terenu
Zanim przejdziemy do konkretów, warto wiedzieć, że Pi-hole jest niezwykle lekki. Aby działał jak marzenie, wystarczy kilka 512 MB pamięci RAM i od 2 do 4 GB przestrzeni dyskowej Na dysku. Jeśli chodzi o system operacyjny, działa on znakomicie z dystrybucjami korzystającymi z systemd lub sysvinit, takimi jak Debian, Ubuntu, Fedora czy Raspberry Pi OS.
Krytycznym punktem jest sieć. Aby system był stabilny, Pi-hole wymaga Statyczny adres IPJeśli nie chcesz komplikować sobie życia poprzez ręczną konfigurację serwera, możesz zarezerwować adres IP na routerze, dzięki czemu komputerowi, na którym znajduje się kontener, zawsze będzie przydzielany ten sam adres.
Wdrażanie Pi-hole przy użyciu Dockera
Najłatwiejszym sposobem na rozpoczęcie jest skorzystanie z pliku docker-compose.ymlTa metoda pozwala zdefiniować całą konfigurację na raz. Konieczne jest mapowanie woluminów (takich jak /etc/pihole i /etc-dnsmasq.d) na foldery lokalne na hoście, aby w przypadku aktualizacji obrazu kontenera, Nie trać wszystkich ustawień ani twoich czarnych list.
W pliku konfiguracyjnym należy zwrócić uwagę na porty. Port 53 jest sercem DNS i musi być wolny. Jeśli zauważysz, że kontener się nie uruchamia, prawdopodobnie… systemd-resolved lub dnsmasq zajmują ten port na hoście. W takich przypadkach konieczne będzie wyłączenie usługi powodującej konflikt lub skonfigurowanie mostu w celu przekierowania ruchu.
Jeśli zdecydujesz się używać Pi-hole również jako serwera DHCP, pamiętaj, że musisz dodać tę funkcję NET_ADMIN w sekcji cap_add polecenia compose i najlepiej użyj trybu sieciowego hosta (network_mode: host), aby uniknąć problemów z łącznością.
Konfiguracja początkowa i zarządzanie dostępem
Po wykonaniu polecenia docker-compose up -dSystem będzie aktywny. Aby uzyskać dostęp do panelu sterowania, połącz się z adresem IP swojego serwera przez przypisany port (domyślnie 80, ale możesz go zmienić na 8080 lub 89, aby uniknąć konfliktów z innymi serwerami WWW). Jeśli nie zdefiniowałeś hasła w zmiennej środowiskowej... HASŁO INTERNETOWESystem wygeneruje losowy kod, który możesz znaleźć, sprawdzając logi za pomocą polecenia docker logs pihole | grep random.
Dla większego bezpieczeństwa najlepiej szybko zmienić hasło. Dostęp do terminala kontenerowego można uzyskać za pomocą docker exec -it pihole /bin/bash i uruchom polecenie pihole -a -p ustawić hasło, które będzie łatwe do zapamiętania dla Ciebie, ale trudne dla innych.
Filtrowanie w górę strumienia i optymalizacja DNS
Aby Pi-hole wiedział, do kogo ma wysłać zapytanie, gdy nie rozpoznaje adresu, należy skonfigurować serwer DNS nadrzędny. Bardzo solidną opcją jest Quad9Wybierając filtrowane serwery (np. 9.9.9.9) w zakładce ustawień DNS, możesz dodać dodatkową warstwę bezpieczeństwa i prywatności do swojego przeglądania.
Sercem Pi-hole są listy blokowanych. Jeśli chcesz zacząć od czegoś solidnego, możesz dodać listę StevenBlackZa każdym razem, gdy modyfikujesz listy, czy to usuwając wpisy za pomocą SQLite3, czy dodając nowe adresy URL, konieczne jest przejście do Narzędzia i uruchomienie Aktualizacja Gravity aby baza danych odświeżyła się i zmiany zostały wprowadzone.
Zaawansowane wskazówki: domeny lokalne i zarządzanie
Jeśli masz w domu wiele usług, możesz je utworzyć lokalne nazwy domen aby uniknąć konieczności zapamiętywania adresów IP. W tym celu utwórz plik o nazwie local.list na zamontowanym woluminie Pi-hole, definiując adres IP i format domeny. Następnie utwórz plik konfiguracyjny dla dnsmasq, który odwołuje się do tej listy i uruchom ponownie kontener.
Aby zarządzać systemem bez dostępu do strony internetowej, można uruchomić z poziomu hosta bardzo przydatne polecenia. Na przykład, aby dodać domenę do czarnej listy, użyj pihole -b mojadomena.com Aby tymczasowo wyłączyć filtrowanie na 10 minut, możesz użyć Wyłączenie Pihole 10mJest to bardzo przydatne, gdy legalna strona internetowa zostanie przypadkowo zablokowana.
Przejęcie kontroli nad reklamą domową jest w pełni możliwe dzięki połączeniu skromnego sprzętu z elastycznością Dockera, zapewnieniu wolnego portu 53 i prawidłowej konfiguracji woluminów w celu przechowywania danych. Po dostosowaniu DNS na routerze i zoptymalizowaniu list Gravity, będziesz cieszyć się czystszą i znacznie szybszą siecią na wszystkich swoich urządzeniach.
