Je kunt je Raspberry Pi heel eenvoudig inzetten als een Adblocker voor je gehele network. Maak hiervoor gebruik van de Pi-Hole software

Het internet staat tegenwoordig vol met advertenties. Je kunt bijna geen site meer bezoeken of ze vliegen alweer om je oren. Op zich is dit niet altijd erg, daar de websites tenslotte ook geld moeten verdienen. Het wordt echter vervelender als blijkt dat in de advertenties malware zit verstopt. Helaas zie je dit de laatste tijd regelmatig gebeuren met alle gevolgen van dien.

Je kunt jezelf hiervoor beschermen door een Adblocker te installeren. Dit moet je dan op elke apparaat doen dat internet benaderd. Handiger is het om dit op 1 plaats te doen zonder dat je alle apparaten hoeft aan te passen. Dit is heel simpel mogelijk met een Raspberry Pi met daarop de Pi-Hole software. De Raspberry Pi bepaalt dan welke URL’s wel/niet doorgeven worden (DNS Server). Verder stel je op je Router in dat de Raspberry Pi de DNS server van je netwerk is. In dit artikel leg ik uit hoe je dit alles instelt.

Download eerst Raspbian Jessie Lite image file en schrijf deze met Win32DiskImager op je SD Card van de Raspberry Pi.

Edit 27 december 2016:
Vanuit veiligheidsoogpunt staat in de laatste versie van Raspbian SSH standaard uitgeschakeld. Hierdoor kun je niet remote inloggen met Putty. Dit is eenvoudig op te lossen door, nadat je image hebt gezet op je SD kaart, een leeg bestand met de naam ‘ssh’ te zetten in de directory ‘/boot’.

Stop het SD kaartje in je Raspberry PI en sluit de USB power aan. Hierna kun je met Putty inloggen op je Raspberry PI met user-naam ‘pi’ en wachtwoord ‘raspberry’. Voer nu de volgende zaken eenmalig uit:

#sudo raspi-config
#sudo apt-get install rpi-update
#sudo rpi-update
#sudo reboot

Vergeet niet je standaard paswoord te veranderen met optie 2 in ‘raspi-config’. Update nu naar de laatste software:

#sudo apt-get update
#sudo apt-get upgrade
#sudo reboot

Installeer vi support zodat je files kunt editten:

#sudo apt-get install vim-nox

Stel een fixed IP-address in door de file ‘/etc/dhcpcd.conf’ aan te passen. Zet hierin de volgende inhoud

interface eth0
static ip_address=192.168.1.71/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

Vervolgens kun je nog wat handige software installeren. Om er voor te zorgen dat je tijd altijd actueel is, moet je de volgende commando’s uitvoeren:

#sudo dpkg-reconfigure tzdata
#sudo apt-get install ntp ntpdate

Ook is het handig dat je Samba installeert zodat je eventueel altijd met een browser je files op je Raspberry Pi kunt benaderen:

#sudo apt-get install samba smb-client samba-common-bin
#sudo useradd some_user_name
#sudo smbpasswd -a some_user_name

Voeg nu de volgende regels toe aan de file ‘/etc/samba/smb.conf’

[Root]
  browseable = yes
  writeable = yes
  path = /
  revalidate = yes
  force user = root
  comment = Share to Root
  valid users = some_user_name
  available = yes

We hebben nu dus een werkend Operating Systeem op de Raspberry PI staan. We gaan nu uiteindelijk de Pi-Hole software installeren. Dit doe je heel eenvoudig door het volgende commando uit te voeren:

curl -L install.pi-hole.net | bash

Beantwoord de vragen die nu voorbij komen. Als de installatie klaar is moet je enkel nog de Raspberry Pi rebooten met het commando:

#sudo reboot

In principe ben je nu klaar aan de Raspberry Pi kant. Tenslotte moet je nog in je router waar je internet binnen komt instellen dat voortaan je Raspberry als DNS server wordt gebruikt. Bij de Tomato firmware doe je dit als volgt:

Let op dat je alleen maar je Raspberry Pi als DNS server instelt en geen andere DNS servers.

Vanaf nu worden de meeste advertenties automatisch in je netwerk geblokt. Je hoeft dus geen enkele aanpassing meer te maken op al je apparaten (ervan uitgaande dat je hebt ingesteld dat deze apparaten de DNS instellingen van je router overnemen).

Pi-Hole heeft een mooie web-interface waar je diverse statistieken kunt bekijken.

Zo zie je hier o.a. hoeveel advertenties op deze dag al zijn geblokt en hoeveel procent van je internet verkeer normaal gesproken gerelateerd was aan advertenties.

White/Black Listen

Om een site te white-listen moet je het volgende doen:

  • Regel toevoegen aan file ‘/etc/pihole/whitelist.txt’
  • Uitvoeren van commando: ./.pihole/gravity.sh (in /etc directory)
  • Herstarten dnsmasq: sudo /etc/init.d/dnsmasq restart
  • Op je windows PC je DNS cache leeg maken: ipconfig /flushdns

Hetzelfde recept kan ook voor black-listen worden gebruikt. In dat geval pas je de file ‘/etc/pi-hole/blacklist.txt’ aan.

Updaten

Om Pi-hole te updaten voer je gewoon weer het commando van de installatie uit (curl -L install.pi-hole.net | bash).

Update 8 Oktober 2016:
Om Pi-Hole te updaten kun je vanaf versie 2.9 gewoon het commando ‘pihole -up’ runnen op de shell prompt.

Nog meer informatie over Pi-Hole kun je op deze pagina vinden. Het internetten gaat nu thuis nog beter en sneller en zonder risico op malware besmetting door advertenties.