Opis aplikacji
Pi-hole to serwer DNS, która chroni twoją sieć i urządzenia przed niechcianymi treściami bez instalowania oprogramowania po stronie klienta. To rozwiązanie jest:
- Łatwe w instalacji (natywnie jako pakiet oprogramowania lub gotowy obraz w formacier Dockera)
- Wszechstronne: treści są blokowane w lokalizacjach innych niż przeglądarka, takich jak pełne reklam aplikacje mobilne i inteligentne telewizory
- Responsywne: bezproblemowo przyspiesza codzienne przeglądanie dzięki buforowaniu zapytań DNS
- Lekkie: działa płynnie przy minimalnych wymaganiach sprzętowych i programowych
- Solidne: interfejs wiersza poleceń, którego jakość zapewnia interoperacyjność
- Wnikliwe: piękny responsywny pulpit nawigacyjny interfejsu sieciowego do przeglądania i kontrolowania Pi-hole
- Modułowe: opcjonalnie może działać jako serwer DHCP, zapewniając automatyczną ochronę wszystkich urządzeń
- Skalowalne: zdolne do obsługi setek milionów zapytań po zainstalowaniu na sprzęcie klasy serwerowej
- Nowoczesne: blokuje reklamy zarówno przez IPv4, jak i IPv6
- Bezpłatnie: oprogramowanie typu open source, które pomaga upewnić się, że jesteś jedyną osobą kontrolującą swoją prywatność
Przydatne adresy związane z aplikacją
- Strona projektu https://pi-hole.net/
- Instalacja aplikacji przez obraz Dockera https://github.com/pi-hole/docker-pi-hole/#running-pi-hole-docker
- Obraz Dockera https://hub.docker.com/r/pihole/pihole
Przygotowanie systemu do uruchomienia aplikacji w kontenerze Docker
Proces przygotowania czystego systemu Debian 11 do uruchamiania aplikacji dockerowych został opisany na stronie https://itadmin.vblog.ovh/docker-instalacja-i-konfiguracja-na-systemie-debian-11/
Uruchomienie aplikacji
Utworzenie kontenera aplikacji przez docker cli
mkdir -p /home/dockeruser/docker/appdata/pihole/pihole mkdir -p /home/dockeruser/docker/appdata/pihole/dnsmasq
docker run -d \ --name=pihole \ --network=npm_proxy --ip 192.168.89.100 -e PUID=1000 -e PGID=1000 \ -e TZ=Europe/Warsaw \ -e WEBPASSWORD=hasladmina \ -e SERVERIP=192.168.10.30 \ -v /home/dockeruser/docker/appdata/pihole/pihole:/etc/pihole \ -v /home/dockeruser/docker/appdata/pihole/dnsmasq:/etc/dnsmasq.d \ -p 8100:80 \ -p 53:53/tcp \ -p 53:53/udp \ --label=com.centurylinklabs.watchtower.enable=true \ --restart=unless-stopped \ pihole/pihole
Opis parametrów docker cli
- 192.168.89.100 to prywatny adres ip tej aplikacji kontenerowej. Wybrane przeze mnie aplikacje kontenerowe mają stały określony adres ip z prywatnej adresacji 192.168.89.0/24
- PUID / PGID odpowiada uid/gid (1000/10000) użytkownika dockeruser na moim serwerze z działającym Dockerem
- 192.168.10.30 to adres ip serwera z zainstalowanym Dockerem
- /home/dockeruser/docker/appdata/pihole/(…) to ścieżka na moim serwerze z działającym Dockerem do katalogu przechowującego indywidualne ustawienia, konfiguracje, dane konkretnej aplikacji kontenerowej nawet po jej wyłączeniu czy też usunięciu
- –label=com.centurylinklabs.watchtower.enable=true oznacza, że obraz kontenera będzie automatycznie aktualizowany przez aplikację Dockerową Watchtower
- WEBPASSWORD=hasladmina, hasło dostępu do aplikacji przez www
Zarządzanie uruchomionym kontenerem aplikacji
Więcej informacji na temat zarządzania aplikacjami w kontenerze można znaleźć na stronach
- https://itadmin.vblog.ovh/docker-instalacja-i-konfiguracja-na-systemie-debian-11/
- https://itadmin.vblog.ovh/docker-aktualizacja-aplikacji-kontenerowych/
- https://itadmin.vblog.ovh/docker-watchtower-aktualizacja-aplikacji-kontenerowych/
- https://itadmin.vblog.ovh/docker-portainer-menedzer-kontenerow-dockerowych/
Użytkowanie i konfiguracja aplikacji
- dostęp do interfejsu www aplikacji Pi-hole http://192.168.10.30:8100/admin/login.php
- aby wykorzystać w naszej sieci zalety filtrowania ruchu przez Pi-hole należy ustawić na wszystkich urządzeniach albo na samym routerze adres DNS: 192.168.10.30 (to adres mojego serwera z z uruchomionym Dockerem a w nim aplikacji w kontenerze Pi-hole)
- można blokować dodatkowe adresy ręcznie (Query Log -> Blacklist przy wybranej domenie) lub automatycznie przy wykorzystaniu wielu dostępnych w Internecie list zabronionych, niebezpiecznych domen, np.
https://gist.githubusercontent.com/anudeepND/adac7982307fec6ee23605e281a57f1a/raw/5b8582b906a9497624c3f3187a49ebc23a9cf2fb/Test.txt
https://raw.githubusercontent.com/chadmayfield/my-pihole-blocklists/master/lists/pi_blocklist_porn_top1m.list
https://v.firebog.net/hosts/Prigent-Adult.txt
https://zerodot1.gitlab.io/CoinBlockerLists/list.txt
które dodajemy w menu Adlist. Po każdorazowym dodaniu nowej listy należy pamiętać o aktualizacji online przez link do gravity list online - w menu Settings – DNS wskazujemy, które nadrzędne serwery DNS będą odpytywane przez klientów Pi-hole przy przekazywaniu zapytań dalej




