Pi-hole installeren op Raspberry Pi tegen online reclame
Een van de beste toepassingen van een Raspberry Pi in je lokale netwerk is het opzetten van Pi-hole: een server die de advertenties uit je netwerk filtert, tegelijkertijd websites kan blokkeren en trackers die je privacy kunnen aantasten buiten de deur houdt. We leggen stap voor stap uit hoe Pi-hole installeren werkt.
We beginnen bij het begin door de Raspberry Pi in ons netwerk te integreren. De installatie van het besturingssysteem Raspberry Pi OS op je sd-kaart doe je met de gratis tool Raspberry Pi Imager. Start deze na het installeren en gebruik de knoppen in beeld om achtereenvolgens het gewenste besturingssysteem te kiezen en de locatie van de sd-kaart aan te geven.
Ben je zeker dat alles goed staat? Druk op Write waarna de software het juiste image downloadt en de sd-kaart flasht. Dat duurt met een beetje snelle internetverbinding een paar minuten.
Omdat we de Raspberry Pi in een zogenoemde ‘headless’ configuratie zonder beeldscherm of toetsenbord in het netwerk gaan draaien, moet je zorgen dat je deze na installatie kunt bereiken via ssh – een terminalvenster via een beveiligd kanaal via je netwerk. Die toegankelijkheid staat standaard uit, maar wordt geactiveerd als je een leeg bestand met de naam ssh op het sd-kaartje zet.
Verwijder het sd-kaartje daarom nog niet uit je computer, maar open je tekstverwerker, zoals Kladblok op Windows of Texteditor op macOS, en sla dat lege bestand meteen op als ssh, zonder extensie, in de root van je sd-kaartje.
Raspberry Pi aan router
Steek daarna de sd-kaart in je Pi, koppel het computertje met een netwerkkabel aan je router en zet deze aan, de Pi start meteen op. De Pi krijgt een netwerkadres van de dhcp-server (vermoedelijk van je router), je vind de Pi door in de ip-tabel van je router te kijken of door een snelle netwerkscan te doen.
In Windows gebruik je daar bijvoorbeeld Advanced IP scanner voor. Op macOS LanScan (in de Mac App Store) of een van de vele apps voor Android en iOS.
Maak daarna via ssh verbinding maken met de Raspberry Pi. Wij gebruiken Terminus als ssh-client, maar je kunt natuurlijk iedere ssh-app of de systeemconsole op je pc of Mac inzetten. Je gebruikersnaam is pi en het wachtwoord raspberry. Het systeem zal je na het inloggen aanraden om je wachtwoord te veranderen in iets beters.
Nu je systeem draait, is het verstandig om de software bij te werken, dat doe je door achtereenvolgens deze commando’s in te tikken:
sudo apt update sudo apt full-upgrade
Pi-hole installeren
Pi-hole is in essentie niet meer dan een dns-server gecombineerd met een blokkeerlijst. Dns is dan weer het Domain Name System dat domeinnamen koppelt aan ip-adressen. Als je bijvoorbeeld op je laptop in de adresbalk in Firefox bijvoorbeeld www.pcmweb.nl intikt, dan levert de dns-server het bijbehorende ip-adres aan je browser, die daarna de weg naar de website weet.
Precies datzelfde doet Pi-hole, maar dan als extra dns-server tussen je laptop en de dns-server van je provider. Als je op je laptop je Raspberry Pi met daarop Pi-hole instelt als dns-server, dan vraagt Pi-hole na een websiteverzoek van je browser het bijbehorende ip-adres bij de dns-server van je provider op. Zit daar een ip-adres of domeinnaam bij van een advertentienetwerk of een privacygevoelige tracker, dan wordt dat verzoek niet eens doorgegeven aan de dns-server op het internet. Dat weet Pi-hole omdat het jouw websiteverzoek eerst vergelijkt met zijn blokkeerlijst.
©PXimport
Een bijzonder elegant systeem met als resultaat dat je alleen de website krijgt aangeleverd, niet de bijbehorende rotzooi. Daardoor worden de websites die je bezoekt heel veel sneller geladen, vertonen ze geen reclame meer en kun je voortaan zelf bepalen welke privacygevoelige trackers toegang hebben tot jouw digitale leven. De installatie van Pi-hole begint met deze twee commando’s:
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
Het installatiescript leidt je door het proces heen, geeft het voorstel een vast ip-adres voor de Raspberry Pi te kiezen en een dns-server op internet te kiezen. Je kunt bijvoorbeeld Google of Cloudflare selecteren, maar ook de dns-server van je provider opgeven. Welke je kiest maakt doorgaans bijzonder weinig uit.
De meeste vragen zullen verder voor zich spreken, download zeker de voorgestelde blocklists en kies voor de webinterface om de Pi-hole-server te beheren (en daarmee voor het installeren van Lighthttpd). In het allerlaatste scherm krijg je een tijdelijk wachtwoord te zien. Schrijf dit vooral even op. Druk op OK en de installatie sluit af.
Blocklists voor Pi-hole en meer instellingen
Je kunt Pi-hole nu beheren via je netwerk. Dat doe je door het ip-adres van je Raspberry Pi in de adresbalk van je browser te tikken, in ons geval is dat: http://192.168.86.250/admin. De interface is prachtig en biedt je enorm veel mogelijkheden om Pi-hole te configureren.
De belangrijkste instelling voor nu is die van de blokkeerlijsten. Je hebt er bij de installatie al twee gedownload, maar er zijn er nog veel meer te krijgen op internet. Een van de belangrijkste is van Nederlandse origine en vind je op https://oisd.nl. Je kunt deze lijst in Pi-hole installeren via de menuoptie Group management / Blocklists. Vul bij Address de url https://dbl.oisd.nl in en vul het commentaarveld in. Druk op Add en ververs de Gravity list door op de link bij deze tekstvakken te drukken.
Je kunt de werking van het systeem uitproberen door op je laptop of pc Pi-hole als dns-server in te stellen. Vraag eerst een website met veel advertenties op zodat je het verschil kunt zien. Duik dan in de netwerkinstellingen. In Windows doe je dat via Instellingen / Netwerk en Internet / Wifi of Ethernet / Adapteropties wijzigen. Klik met de rechtermuisknop op de netwerkverbinding, dan op Eigenschappen / Internet Protocol Version 4 / Eigenschappen. Geef in dat venster het adres van Pi-hole op als dns-server.
Op een Mac is het simpeler: selecteer Netwerkvoorkeuren, klik op de knop Geavanceerd onderin en daarna op het tabblad DNS.
©PXimport
Heb je die wijziging doorgevoerd, vraag dan in een nieuw tabblad de website die je daarstraks hebt bezocht nogmaals op en zie het verschil. Doet alles het naar behoren? Dan kun je het hier bij laten of je kunt de Pi-hole instellen als dns-server voor je hele netwerk. Zo hoeft niemand in huis nog een pc of Mac te herconfigureren en werkt Pi-hole ook voor telefoons, tablets, slimme televisies en alle andere apparaten in je thuisnetwerk. Dat doe je in je router of wifi-accesspoint: zoek in de webinterface van je router naar de optie DNS.
Mocht dat geen optie voor je zijn, dan zou je ook de ingebouwde dhcp-server in Pi-hole kunnen gebruiken. De instelling daarvoor vind je in de webinterface van Pi-hole in de opties Settings / tabblad DHCP. Geef hier aan welk ip-bereik deze server moet bedienen en zet ‘m aan. Wel belangrijk is dat je eventuele andere dhcp-servers in je thuisnetwerk uitzet, zoals die van je router. Want als die allebei dhcp-verzoeken gaan afhandelen, doet je netwerk het niet meer goed. Hiermee is Pi-hole compleet!