Synology NAS Gids Deel 10: Pi-hole


We beginnen de hervatting van deze serie met Pi-hole! Pi-hole werkt als een zogenaamde DNS sinkhole, eventueel als DHCP server, en is bedoeld voor een privé-netwerk zoals een thuisnetwerk. Via Pi-hole kunnen advertenties en trackers op netwerk-niveau geblokeerd worden. In tegenstelling tot traditionele (browser) ad-blocker, welke enkel werkt voor de genoemde applicatie, werkt Pi-hole voor elk apparaat achter hetzelfde netwerk. Oftewel geen reclames meer in je browser, in je ‘gratis’ apps, etcetera.

Oorspronkelijk is de applicatie, zoals de naam suggereert, ontworpen om te draaien op embedded systemen zoals een Raspberry Pi, maar het kan ook draaien op andere Linux-machines. Hier komt de Synology NAS om het hoekje kijken, want waarom een extra apparaat zoals een Raspberry Pi aan ons netwerk hangen voor slechts één taak, waar onze Synology NAS ook 24/7 operatief is?


Installatie


We beginnen in de omgeving van onze Synology DS1019+, en openen hierbij Docker. Hoe je Docker kan installeren, lees je in Synology NAS Gids Deel 9 – Introductie 2.0. Wanneer we Docker openen, worden we gegroet door een overzicht en zien we het huidige CPU en RAM gebruik, naast de (eventueel) reeds lopende containers.


Als eerste gaan we naar het kopje “Registry” links. In de zoekbalk bovenaan zoeken we naar “pi-hole”, waarbij verschillende resultaten tevoorschijn komen. De officiële Pi-hole registry is normaliter de bovenste, namelijk “pihole/pihole”, welke we ook voor deze tutorial gaan gebruiken. Rechtermuisknop hierop, klik op “Download this image” en kies vervolgens voor de tag “latest”: hiermee halen we de meest recente versie binnen.


Wanneer we vervolgens naar het kopje “Image” gaan, zien we hier onze gedownloade versie van Pi-hole. Dubbelklik op de Image, en we openen en nieuw venster waarin we een container kunnen creëren.


Vervolgens kunnen we beginnen met configureren van de container. In het veld “Container Name” kunnen we de container een naam geven. Welke naam we hier aan toekennen is onbelangrijk voor de werking van het programma. Vervolgens selecteren we “Execute container using high privilege”, waarmee we Docker container toegang geven tot het apparaat. Daarnaast klikken we op “Advanced Settings” om extra noodzakelijke instellingen te configureren. “Advanced Settings” opent zichzelf opnieuw in een ander venster.


In het nieuw geopende venster “Advanced Settings” opent zich als eerste het kopje “Advanced Settings”. Hierbij zetten we een vinkje bij “Enable auto-restart”. Wanneer de Docker om onverwachte reden vast loopt, of wanneer de Synology NAS opnieuw opstart, zal Pi-hole zichtzelf opnieuw opstarten. Vervolgens gaan we naar het kopje “Volumes”, waarbij we mappen op de NAS creëren en toekennen aan Pi-hole.


Pi-hole heeft 2 verschillende mappen nodig: “dnsmasq.d” en “pihole”. Hoe we deze mappen op ons systeem zelf noemen is onbelangrijk, maar voor de duidelijkheid geven we ze een gelijkaardige naam. Docker zelf heeft op onze NAS al een map “docker” aangemaakt. Hierin maken we een map “pi-hole”, waar we beiden mappen in gaan steken. Hierin creëren we een map “dnsmasq.d” en een map “pihole”, welke we vervolgens mounten in “Mount path” aan respectievelijk “/etc/dnsmasq.d/” en “/etc/pihole/”. Zorg er tevens voor dat bij “Read-Only” geen vinkje staat. Het eindresultaat zou er als bovenstaand uit moeten zien.


Vervolgens gaan we naar het kopje “Network”, waar we een vinkje zetten bij “Use the same network as Docker Host”.


Als laatste stap gaan we nog naar het kopje “Environment”. Hierbij gaan we twee variabelen toevoegen:
– “WEB_PORT”: op deze poort wordt de Admin-interface weergegeven. In mijn geval draait die op poort 8080, maar een andere ongebruikte poort werkt ook prima.
– “WEBPASSWORD” : dit wachtwoord wordt gebruikt om in te loggen op de Admin-pagina.

Wijzig vervolgens de waarde bij “ServerIP” naar de het lokale IP-adres van je NAS.

En dat was het! Klik op “Apply”, waarbij het venster sluit en je opnieuw uitkomt bij ons “Create Container” venster. Klik op “Next”, waarbij we een overzicht krijgen van de aanpassingen en instellingen die we hebben gemaakt. Wanneer we vervolgens op “Apply” klikken, wordt het configuratiescherm afgesloten en wordt de container automatisch opgestart. Pi-hole draait nu op onze NAS, en de installatie is daarmee afgerond.

Pi-hole gebruiken


Pi-hole geïnstalleerd op onze Synology NAS, dan kunnen we hem eindelijk gaan gebruiken! Wanneer we naar “ServerIP:WEB_PORT/admin” (bijvoorbeeld “192.168.1.2:8080/admin”) gaan, krijgen we een overzicht van onze Pi-hole interface te zien. Zie je dit niet, dan is er iets fout gegaan tijdens de installatie.


We zien echter dat Pi-hole 0 queries verwerkt heeft, al dan wel geblokeerd. Dit komt doordat de Pi-hole nog nergens gebruikt wordt als DNS-server. DNS-server kan je op verschillende locaties aanpassen. Dit kan bij je router, op je apparaat of soms zelfs per programma. Wil je dat je gehele netwerk gebruik kan maken van de Pi-hole, zorg dan dat je de locatie van je DNS-server wijzigt naar het lokale IP-adres van je Synology NAS in de router zelf. Wil je dat de Pi-hole alleen werkt op specifieke devices, dan zet je in dat apparaat de DNS server op het IP adres van je Synology cq Pi-Hole.

Wanneer we onze DNS server op router niveau aanpassen, zal onze Synology alle aanvragen verwerken voor alle apparaten op het netwerk. Bekijken we de Pi-hole interface daarna opnieuw, dan zien we inderdaad dat Pi-hole een flink aantal queries verwerkt en geblokkeerd heeft. Het is bijna onvoorstelbaar hoeveel verkeer reclame gerelateerd is.


Met het wachtwoord ingesteld als variabele onder “WEBPASSWORD”, kunnen we op de login-pagina inloggen. Wanneer we dit doen, kunnen we gedetailleerdere statistieken opvragen, naast extra instellingen maken. De mogelijke instellingen zijn nogal straight-forward en kan je zonder probleem spelenderwijs verkennen.

Resultaat


En het resultaat? Dat spreekt voor zichzelf lijkt me! Als voorbeeld website heb ik Business Insider gebruikt waarbij je normaliter begroet wordt door een paginavullende advertentie.



Zonder Pi-hole


Mét Pi-hole

Niet alleen de advertentie wordt geblokkeerd, ook de pagina laadt een stuk sneller aangezien er geen advertenties ingeladen hoeven te worden. Win-win!

En klaar is Kees!


En dat was het! Pi-hole is nu up and running op je Synology NAS, en afhankelijk van je instellingen worden advertenties, maar ook ongewenste websites geblokkeerd. DNS-queries naar adressen op de Pi-hole blacklist worden automatisch voor je geblokkeerd, zonder dat je er iets voor hoeft te doen. Van reclames blijft praktisch niets over, zowel online als in applicaties.

Wil je handmatig adressen toevoegen, dan is dat uiteraard mogelijk, er is genoeg te tunen. Houd er wel rekening mee dat content-providers zoals YouTube, Facebook, en enkele anderen tegenwoordig hun advertenties serveren op dezelfde servers als de daadwerkelijke content om dit soort geintjes tegen te gaan; helemaal ad-free is dus nog niet haalbaar. Wanneer je deze probeert te blokkeren, is het mogelijk dat de daadwerkelijke content zelf ook geblokkeerd wordt, dus het blijft een kat en muis spel.

Daarnaast is het noodzakelijk dat je genoeg RAM in je systeem hebt. Pi-hole verwacht namelijk een minimum van 512 MB, al is het mogelijk dan minder gebruikt wordt (circa 450MB). Voor ons systeem met 8GB aan RAM peanuts, maar iets om in het achterhoofd te houden wanneer je gebruik maakt van een Synology NAS als de DS218+ met 2GB RAM. Gelukkig is het eenvoudig om een reepje RAM toe te voegen aan een Synology NAS.

Mocht je vragen hebben, laat het ons vooral weten! Heb je zelf een Synology toepassing welke je graag zou willen zien, laat ons je idee weten (bijvoorbeeld op onze Discord, link hieronder) en dan gaan wij ons best doen om interessante ideetjes mee te nemen in deze serie.

Vragen over onze reviews of de producten die we bespreken? Je vindt ons op:
Onze Discord server voor chat en tech talk (gratis en geen installatie noodzakelijk).
Techtesters YouTube
TechtestersLive op Twitch
Foritain op Twitter
Nadalina op Twitter

Over Matthijs
Matthijs is een nieuwe kracht binnen het Techtesters team. Hij heeft een voorliefde voor computers en gadgets, en hij studeert Informatica aan de Universiteit van Hasselt.