Ben je het zat om constant met advertenties te worden overspoeld wanneer je op internet surft of een mobiele app gebruikt? Dan is er een fantastische oplossing: Pi-hole, dat in feite werkt als een slim DNS-filter . Het beste is dat je niets op elk apparaat in huis hoeft te installeren; het systeem werkt vanuit de kern van je netwerk en onderschept en blokkeert ongewenste content voordat deze je scherm bereikt.
Om dit systeem op te zetten, is Docker momenteel de slimste optie. Door Pi-hole in een container te plaatsen, voorkom je dat het besturingssysteem van je computer vol raakt, worden updates ongelooflijk eenvoudig en haal je het maximale uit je hardware – of het nu een Raspberry Pi, een oudere server of zelfs een virtuele machine met Ubuntu of Debian is – zonder conflicten met services.
Voorwaarden en voorbereiding van de locatie
Voordat we beginnen, is het goed om te weten dat Pi-hole extreem lichtgewicht is. Om het soepel te laten draaien, heb je slechts ongeveer 512 MB RAM en tussen de 2 en 4 GB schijfruimte nodig. Wat het besturingssysteem betreft, werkt het perfect met distributies die systemd of sysvinit gebruiken, zoals Debian, Ubuntu, Fedora of Raspberry Pi OS.
Een cruciaal punt is het netwerk. Voor een stabiel systeem vereist Pi-hole een statisch IP-adres . Als je het gedoe van handmatige configuratie van de server wilt vermijden, kun je een IP-adres reserveren op je router, zodat de computer waarop de container draait altijd hetzelfde adres krijgt toegewezen.
Pi-hole implementeren met Docker
De eenvoudigste manier om dit in te stellen is via een docker-compose.yml- bestand . Met deze methode kunt u alle configuratie in één keer definiëren. Het is cruciaal om de volumes (zoals /etc/pihole en /etc-dnsmasq.d) te koppelen aan lokale mappen op uw host, zodat u bij een update van de containerimage uw configuraties en blacklists behoudt .
Let in het configuratiebestand goed op de poorten. Poort 53 is essentieel voor DNS en moet vrij zijn. Als de container niet start, is de kans groot dat systemd-resolved of dnsmasq die poort op de host gebruikt. In dat geval moet u de conflicterende service uitschakelen of een bridge configureren om het verkeer om te leiden.
Als je besluit Pi-hole ook als DHCP-server te gebruiken, vergeet dan niet de NET_ADMIN- mogelijkheid toe te voegen in het cap_add-gedeelte van compose en gebruik bij voorkeur de host-netwerkmodus (network_mode: host) om verbindingsproblemen te voorkomen.
Initiële configuratie en toegangsbeheer
Zodra je het commando uitvoert docker-compose up -dHet systeem zal live zijn. Om toegang te krijgen tot het configuratiescherm, maakt u verbinding met het IP-adres van uw server via de poort die u hebt toegewezen (standaard 80, maar u kunt dit wijzigen naar 8080 of 89 om conflicten met andere webservers te voorkomen). Als u geen wachtwoord hebt ingesteld in de omgevingsvariabele... WEBWACHTWOORDHet systeem genereert een willekeurige waarde die u kunt vinden door de logbestanden te controleren met het commando. docker logs pihole | grep random.
Voor extra beveiliging is het raadzaam om dat wachtwoord snel te wijzigen. Je kunt de containerterminal openen via docker exec -it pihole /bin/bash en voer het commando uit pihole -a -p Een wachtwoord instellen dat je zelf makkelijk kunt onthouden, maar dat anderen moeilijk kunnen onthouden.
Upstream filtering en DNS-optimalisatie
Om ervoor te zorgen dat Pi-hole weet welke server het moet raadplegen wanneer het een adres niet herkent, moet u een upstream DNS-server configureren. Een zeer robuuste optie is Quad9 ; selecteer eenvoudigweg de gefilterde servers (zoals 9.9.9.9) in het tabblad DNS-instellingen. Dit voegt een extra laag beveiliging en privacy toe aan uw internetgebruik.
De kern van Pi-hole wordt gevormd door de blokkeerlijsten. Als je een solide basis wilt, kun je de lijst van StevenBlack toevoegen . Telkens wanneer je de lijsten wijzigt, of je nu items verwijdert met SQLite3 of nieuwe URL's toevoegt, is het essentieel om naar 'Tools' te gaan en 'Update Gravity' uit te voeren , zodat de database wordt vernieuwd en de wijzigingen worden doorgevoerd.
Geavanceerde tips: Lokale domeinen en beheer
Als u thuis meerdere apparaten gebruikt, kunt u een account aanmaken. lokale domeinnamen om te voorkomen dat je IP-adressen hoeft te onthouden. Maak hiervoor een bestand aan met de naam local.list Definieer op het gekoppelde Pi-hole-volume het IP-adres en de domeinnaam. Maak vervolgens een configuratiebestand voor dnsmasq aan dat naar die lijst verwijst en herstart de container.
Om het systeem te beheren zonder de website te bezoeken, zijn er handige commando's die je vanaf de host kunt uitvoeren. Je kunt bijvoorbeeld een domein aan de blacklist toevoegen met `pihole -b mydomain.com` , of de filtering tijdelijk uitschakelen voor 10 minuten met `pihole disable 10m` . Dit is erg handig als een legitieme website per ongeluk geblokkeerd wordt.
Het beheren van je eigen advertentienetwerk is heel goed mogelijk door bescheiden hardware te combineren met de flexibiliteit van Docker, ervoor te zorgen dat poort 53 vrij is en volumes correct te configureren voor het persistent opslaan van data. Zodra je de DNS op je router hebt aangepast en de Gravity-lijsten hebt geoptimaliseerd, geniet je van een schoner en veel sneller netwerk op al je apparaten.
