Zo maak je een adblocker met Raspberry Pi en Pi-hole

Door: richard-veenstra | 16 juli 2019 16:27

How To

Het is één van de grootste irritaties op internet: advertenties. Je kunt natuurlijk voor elk apparaat een ad-blocker in je browser installeren, maar als je ook je smartphone, slimme televisie en spelcomputer tegen reclames wilt beschermen, dan is een centrale ad-blocker veel handiger. Er zijn dure commerciële oplossingen beschikbaar, maar met een Raspberry Pi van een paar tientjes en Pi-hole bereik je exact hetzelfde. In dit artikel laten we je zien hoe makkelijk dit is.

01 Raspberry Pi aanschaffen

Voor de workshop heb je een Raspberry Pi nodig, het maakt niet uit welke versie je gebruikt. De meest recente versie is Raspberry Pi 3 Model B, die zo’n veertig euro kost. Naast de minicomputer heb je een microSD-kaartje nodig waar je de software op plaatst. Als je computer geen kaartlezer heeft, heb je ook nog een kaartlezer nodig. Daarnaast heb je een micro-usb-kabel en een usb-voeding van 2 ampère nodig. Een behuizing is optioneel, maar wel handig als je het apparaat voor langere tijd wilt inzetten.

02 Raspbian downloaden

Voor Pi-hole kun je het standaard besturingssysteem Raspbian installeren. Ga naar www.raspberrypi.org, klik op Downloads en vervolgens op Raspbian. Pi-hole heeft aan een gestripte versie genoeg, je kunt daarom eventueel onder Raspbian Jessie Lite op Download ZIP klikken. Als je voor de eerste keer met Raspbian aan de slag gaat, is het echter handiger om de normale versie te downloaden omdat je dan de beschikking over een desktopomgeving hebt. Na het downloaden pak je het bestand uit. In deze workshop werken we met de standaardversie van Raspbian met desktopomgeving.

03 DiskImager downloaden

Download het programma Win32DiskImager, installeer het en open het programma. Sluit de SD-kaart aan op je pc en controleer welke schijfletter de SD-kaart krijgt toegewezen. In DiskImager kijk je of de juiste letter wordt getoond en open je het Raspbian disk-image door op het mapje naast de letter te klikken. Klik op Write om het image naar de SD-kaart te kopiëren. Bevestig de actie door op Yes te klikken. Het schrijven van het besturingssysteem kan een paar minuten duren. Als het bericht Write Successful verschijnt, klik je op OK en haal je de SD-kaart uit je pc.

04 Raspbian installeren

Voor de eerste installatie en configuratie van Raspbian moet je een toetsenbord en monitor op je Raspberry Pi aansluiten. De monitor verbind je via een HDMI-kabel aan de aansluiting van de Raspberry Pi. Schuif vervolgens de microSD-kaart in de sleuf van je Raspberry Pi. Om de Raspberry Pi van stroom te voorzien, kun je een stroomadapter aansluiten of eventueel een usb-kabel tussen je Raspberry Pi en je pc aansluiten. Raspbian wordt gestart en regels met code verschijnen op je beeldscherm, wacht totdat het besturingssysteem zich automatisch opent.

05 Raspbian configureren

Voordat je de software Pi-hole op je Raspberry Pi zet, is het handig om even een paar instellingen in Raspbian te wijzigen. Ga naar Menu / Preferences / Raspberry Pi Configuration en geef bijvoorbeeld je locatie, tijdzone en toetsenbordindeling aan. Het is ook handig om je netwerkinstelling alvast even te configureren. Ga naar het netwerk-icoontje bovenin en kies je draadloze netwerk. Meld je aan en je hebt de Raspberry Pi met het internet verbonden. Uiteraard kun je ook een bekabelde netwerkaansluiting gebruiken.

SSH

Je kunt de verdere installatie van Pi-hole middels een SSH-verbinding vanaf je computer doen. Voordat je de monitor, muis en het toetsenbord ontkoppelt, ga je eerst nog even naar de Terminal bovenin. Typ hostname -I om het IP-adres van je Raspberry Pi te weten te komen. Voor Windows moet je een SSH-client downloaden, PuTTY is een bekende. In het veld Host Name typ je het IP-adres, klik vervolgens op Open. In macOS ga je naar de terminal en typ je ssh pi@ip-adres waarbij je natuurlijk je ip-adres invult. De accountnaam is pi en het wachtwoord is raspberry.

06 Bestandssysteem uitbreiden

Om ervoor te zorgen dat je alle beschikbare ruimte op je SD-kaart kunt gebruiken, kun je in de terminal op de Raspberry Pi of in je SSH-client op je pc of Mac het commando sudo raspi-config typen. Selecteer Expand Filesystem en kies vervolgens voor Finish. Je moet hierna je Raspberry Pi opnieuw opstarten, kies daarom voor Yes als je gevraagd wordt dit te doen. Deze stap helpt ook vaak als je problemen tijdens de installatie van Pi-hole ondervindt.

07 Pi-hole installeren

Geef in de terminal de volgende code in: curl -L https://install.pi-hole.net | bash. Klik twee keer op OK en als je bij het venster over de statische IP aankomt, klik je nogmaals op OK. Pi-hole werkt namelijk alleen als de Raspberry Pi over een statisch IP-adres beschikt. Selecteer in het volgende venster of je de Raspberry Pi via ethernet of wifi hebt aangesloten, een selectie maak je door op de spatiebalk te drukken. Wil je naar het volgende venster, dan navigeer je met de pijltjestoetsen en bevestig je een actie met Enter.

08 Statisch IP-adres

Als het venster met de optie Select Protocols verschijnt, kies je voor IPv4, op dit moment werkt de ad-blocker via IPv4 namelijk het beste. Daarna krijg je de vraag of het aangeboden statische IP-adres voor jou oké is. In de meeste gevallen is dit prima en klik je op Yes. Mocht het IP-adres in het bereik vallen van de adressen die je router willekeurig aan apparaten toewijst, dan kan dit een conflict opleveren. In dat geval kies je voor No en voer je zelf een IP-adres in. Als je voor Yes kiest, zal Pi-hole je sowieso nog even waarschuwen voor dit eventuele conflict.

09 Upstream provider

De installatie is bijna klaar, op het einde vraagt Pi-hole of je de Upstream DNS Provider wilt wijzigen. Google is de standaardkeuze en dit is in de meeste gevallen prima, maar je kunt ook de upstream van OpenDNS, Level3, Comodo of Norton gebruiken. Als de tekst Make it so in beeld verschijnt, is de installatie klaar. Noteer het IP-adres van je Pi-hole, dit is het adres wat je apparaten voortaan moeten gebruiken, daarmee gaan we aan de slag in de volgende stappen. Sluit af met OK, er verschijnen nog een paar regels code en dan is het echt gedaan met de installatie.

10 Router of losse apparaten

Om reclames te blokkeren, moet je nu al je internetverkeer via de Pi-hole laten lopen. Dit kan op twee manieren. De eerste manier is dat je op al je apparaten naar je Pi-hole verwijst. Dit heeft als nadeel dat je dit op elk apparaat apart moet instellen. Een andere optie is om je router zo in te stellen dat elke verbinding door de Pi-hole gaat voordat het naar apparaten in je netwerk wordt doorgelaten. We leggen beide opties in de volgende stappen uit.

11 Windows configureren

In Windows 10 ga je naar het configuratiescherm en klik je op Netwerk en Internet / Netwerkcentrum. Klik op Adapterinstellingen wijzigen. Klik met je rechtermuisknop op de verbinding die je wilt wijzigen en selecteer Eigenschappen. Zorg dat je in het tabblad Netwerken bent en selecteer Internet Protocol versie 4. Klik op Eigenschappen / Geavanceerd. Kies het tabblad DNS en voeg het IP-adres van je Pi-hole toe door op Toevoegen te klikken. Sluit af met OK en vergeet deze stappen niet ook bij je eventuele andere netwerkverbindingen te doen.

Macs en smartphones

Op de Mac ga je naar Systeemvoorkeuren / Netwerk. Selecteer je verbinding en klik op Geavanceerd. Kies het tabblad DNS en vul hier het IP-adres in. Op een iPhone vind je de instelling bij Instellingen / Wi-Fi. Klik op de i achter je netwerknaam en verander het adres achter DNS. In Android ga je naar Instellingen en houd je je vinger even op de naam van je netwerk. Tik op Netwerk aanpassen en zet een vinkje voor Geavanceerde opties. Scrol naar beneden en verander DHCP naar Statisch. Onderaan bij DNS 1 geef je je Pi-hole adres in. Bij DNS 2 geef je 8.8.8.8 aan, de DNS-dienst van Google.

12 Administratiepaneel

Ga in je browser naar het IP-adres van je Pi-hole en typ achter het IP-adres /admin. Dit is de configuratiepagina van je Pi-hole. Je ziet hoeveel reclame vandaag al is tegengehouden, hoeveel domeinen geblokkeerd zijn en welke apparaten welke aanvragen hebben gedaan. Onder Top Advertisers zie je van welke domeinen de meeste reclames worden geblokkeerd. Bij Query Log vind je een overzicht van al je internetverkeer, helaas kun je dit niet uitschakelen of bepaalde entries verwijderen.

13 Lokale DNS in je router

De handigste manier is om al het verkeer vanuit je router naar je Pi-hole om te leiden. Ga naar de instellingen van je router en zoek naar het instellingenscherm waar je DHCP-opties kunt wijzigen of waar je instellingen voor IPv4-adressen vindt. Hier vind je dan waarschijnlijk ook de optie om een lokale DNS-server aan te geven. Of deze optie in jouw router wordt aangeboden en of dit überhaupt mogelijk is, kun je alleen ervaren door in de handleiding van je router te kijken of je provider even een mailtje te sturen.

14 DHCP vernieuwen

Het kan zijn dat je op je apparaat nog even de DHCP-lease moet vernieuwen voordat het verkeer via de Pi-hole wordt geleid. In Windows open je de Opdrachtprompt door in de zoek-balk cmd in te toetsen. Typ ipconfig /release en druk op de Entertoets. Als dit succesvol is, typ je vervolgens nog eens het commando ipconfig /renew en sluit je af door op Enter te drukken. Op je Mac vind je deze optie bij Systeemvoorkeuren / Netwerk. Klik op je netwerkverbinding en kies voor Geavanceerd. Klik op TCP/IP en selecteer Vernieuw DHCP-lease.

15 Blacklist en whitelist

Als je bepaalde domeinen wilt whitelisten of blacklisten, dan kun je dat doen in het administratiepanel van je Pi-hole. Websites ‘leven’ van advertentie-inkomsten, dus het is ‘aardig’ om sites die je graag bezoekt te whitelisten. Klik op Whitelist of Blacklist om een domein toe te voegen. Omdat de Pi-hole op DNS-niveau reclames filtert, heeft het geen zin om gewoon een url toe te voegen. Op de website van Pi-block vind je een heldere uitleg hoe je een whitelist of blacklist toepast op je Pi-hole. Hier leggen we uit hoe je onze sites kunt whitelisten.

IPv4 en IPv6

Een heleboel advertenties worden door Pi-hole geblokkeerd, maar er glipt er wel eens eentje tussendoor. In de meeste gevallen gaat het hier dan om advertenties via IPv6. Advertentienetwerken leveren recentelijk steeds meer reclame via IPv6, maar op dit moment werkt de filtering met Pi-hole via IPv4 nog steeds het beste. Het is aan te raden de meldingen op de website www.pi-hole.net af te wachten en in de toekomst je Pi-hole te upgraden naar IPv6-filtering.

2 Reactie(s) op: Zo maak je een adblocker met Raspberry Pi en Pi-hole

  • Om te reageren moet je ingelogd zijn. Nog geen account? Registreer je dan en praat mee!
  • 14 augustus 2017 18:34 EdwinK
    Helaas. Bij step 7 gaat het mis :( Direct na het uitvoeren het curl commando dit:

    pi@pi-hole:~ $ curl -L https://install.pi-hole.net | bash
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
    100 52891 100 52891 0 0 115k 0 –:–:– –:–:– –:–:– 115k

    :::
    ::: Script called with non-root privileges. The Pi-hole installs server packages and configures
    ::: system networking, it requires elevated rights. Please check the contents of the script for
    ::: any concerns with this requirement. Please be sure to download this script from a trusted source.
    :::
    ::: Detecting the presence of the sudo utility for continuation of this install…
    ::: Utility sudo located.
    :::
    ::: You are root.
    ::: Verifying free disk space…
    :::
    ::: Updating local cache of available packages… done!
    :::
    ::: Checking apt-get for upgraded packages…. done!
    :::
    ::: There are 41 updates available for your system!
    ::: We recommend you update your OS after installing Pi-hole!
    :::
    ::: Checking for apt-utils… installed!
    ::: Checking for dialog… added to install list!
    ::: Checking for debconf… installed!
    ::: Checking for dhcpcd5… installed!
    ::: Checking for git… installed!
    ::: Checking for iproute2… installed!
    ::: Checking for whiptail… installed!

    Daarna gebeurde er niets meer, geen Pihole.
    Wanneer je een reactie plaatst ga je akoord
    met onze voorwaarden voor reacties.
  • 14 augustus 2017 22:52 EdwinK
    Na wat gespeel kwam ik tot de ontdekking dat je toch veel beter Raspbian Jessie Lite kan nemen. Moet je nog wel in de boot directory van de SD schijf een lege bestand met de naam 'ssh' (zonder quotes) plaatsen. Daarna zonder problemen te installeren. Werkt nu bij mij zelfs op een Raspberry 1B.
    Wanneer je een reactie plaatst ga je akoord
    met onze voorwaarden voor reacties.

Wanneer je een reactie plaatst ga je akoord
met onze voorwaarden voor reacties.