Een VPN zelf maken
Petter Lagson

Maak je eigen VPN met je Raspberry Pi

Vaak zijn onbekende netwerken, zoals hotel-wifi en gratis openbare netwerken, niet te vertrouwen. Hackers kunnen zo al je internetgebruik lezen en ze kunnen mogenlijk al je wachtwoorden stelen. Het is dus heel belangrijk om je internet te beschermen met een VPN. Je kan er voor kiezen voor een VPN te betalen, maar met deze guide helpen we je om zelf een VPN te maken met je Raspberry Pi.

Deze guide is best lang, dus als je het te veel moeite is dan zou je altijd nog een abonnement bij NordVPN kunnen nemen.

Raspberry Pi voorbereiden

Het is zeker aan te raden dat je Raspberry Pi is verbonden is met het internet via een Ethernet kabel, dit zorgt ervoor dat je een betrouwbare verbinding hebt en dat je niet afhankelijk bent van je Wifi kwaliteit.

Optioneel: DuckDNS gebruiken

Oké dit is niet per se verplicht om te gebruiken, maar dit zorgt ervoor dat je VPN altijd blijft werken ook als je IP-adres veranderd. Om te beginnen moet je een DuckDNS account aanmaken. Dit kan je doen op de homepagina van DuckDNS.

Maak hier je DuckDNS account aan
Je kan gewoon een account aanmaken door in te loggen met je Google Account

Nadat je een account hebt aangemaakt kom je op deze pagina. Hier kan je een nieuw domein aanmaken, bedenk zelf een naam die je makkelijk kan onthouden en klik daarna op add domain. Nu heb je een domein aangemaakt dat gekoppeld is aan je huidige IP-adres. Nu gaan we zorgen dat het altijd aan je IP-adres blijft gekoppeld.

Maak een domein met DuckDNS

Op deze pagina zie je ook token staan, deze heb je zometeen nodig, dus laat deze pagina open staan.

Nu moet je verbinden met de command line van je Raspberry Pi, dit kan je doen via SSH of gewoon via je Raspberry Pi als je het hebt aangesloten op een scherm.

Wil je weten hoe je moet verbinden met je Raspberry Pi via SSH, we hebben ook een handige guide daarvoor gemaakt.

Als je bent verbonden maak dan eerst een een mapje aan voor DuckDNS en ga daar naar toe.

mkdir duckdns && cd duckdns

Maak nu een nieuw bestand aan in deze map

touch duck.sh

Bewerk nu dit bestand

nano duck.sh

En plak dit erin

#!/bin/bash
DOMAIN=HierJeDomeinDatJeNetHebtGekozen
TOKEN=HierJeToken
echo url="https://www.duckdns.org/update?domains=$DOMAIN&token=$TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -

Zet het domein dat je net hebt gekozen achter DOMAIN=, dus stel het gehele domein dat je hebt gemaakt is prgrmmr-voorbeeld.duckdns.org dan wordt het dus DOMAIN=prgrmmr-voorbeeld. Daarna moet je achter TOKEN= je token zetten dat op de DuckDNS pagina staat. Dat wordt dus uiteindelijk iets als volgt.

TOKEN=608f1508-XX1f-454f-aXXd-61XXe8fXXXX3

Sla het bestand op met Ctrl + O, en sluit af met Ctrl + X. Nu moet je zorgen dat je Pi dit bestandje accepteerd als een programma, dat doe je zo:

chmod 700 duck.sh

Hierna kan je het uittesten of het werkt, dit doe je als volgt:

./duck.sh

Hierna bekijk je of het gelukt is.

cat duck.log

Als er OK op het scherm komt dan is het gelukt! Als het niet gelukt is, dan heb je waarschijnlijk een fout gemaakt met kopieëren, probeer alles nog een keer na te kijken, zodat je zeker weet dat je het goed hebt overgenomen.

Kijk of het gelukt is
Hier is het gelukt

Nu moet je ervoor zorgen dat dit het elke 5 minuten draait zodat je IP-adres geupdate blijft. Dit doe je als volgt:

crontab -e

Het kan zijn dat nu de vraag wordt gesteld welke editor je moet gebruiken, klik hier gewoon op enter.

Welke editor moet je gebruiken?

Nu kom je in een heel document, ga met de pijltjestoetsen gewoon helemaal naar onder en voeg toe:

*/15 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
Je bestand zou er nu ongeveer zo moeten uitzien
Je bestand zou er nu ongeveer zo moeten uitzien

Sla weer op met Ctrl + O en Ctrl + X, zorg dat je programma draait door dit als laatste in te typen.

sudo service cron restart

En nu kan je beginnen met het installeren van je VPN op je Raspberry Pi!

PiVPN installeren

We maken deze VPN met behulp van het gratis programma PiVPN dat je kan installeren op je Raspberry Pi.

Oké nu kunnen we beginnen met de installatie van PiVPN, dit is heel makkelijk te doen via met het volgende commando:

curl -L http://install.pivpn.io | bash

Hij begint nu met installeren, dit kan een tijdje duren. Als dit op het scherm komt te staan dan begint het installatieprocess.

Nu kan je installatie beginnen!

Klik op enter, nu komt er een vraag over een Static IP, je kan dit lezen maar je kan ook gewoon meteen doorgaan door op enter te drukken. Nu vraagt de installer om een interface te selecteren, als je met een Ethernet kabel aan het internet bent verbonden dan moet je eth0 selecteren. Als je juist via wifi bent verbonden dan moet je wlan0 selecteren. Selecteren doe je met de spatiebar. Ga verder door op enter te drukken.

Selecteer de interface

Daarna wordt gevraagd of je je huidige instellingen als static address wilt instellen. Klik dan gewoon op enter.

Static IP-adres instellen

Het kan zijn dat hij hierna een waarschuwing afgeeft, maar deze kan je waarschijnlijk gewoon negeren. Hierna wordt gevraagd op een gebruiker te selecteren voor de configuratie, ook hier kan je gewoon meteen doorklikken door op enter te drukken.

Daaropvolgend komt een vraag of je Unattended Upgrades wilt installeren, je kan hier gewoon op enter drukken zodat dat geïnstalleerd wordt.

Nu wordt gevraagd of je gebruik wilt maken van UDP of TCP, ik zou je aanraden om UDP te gebruiken, dat is namelijk het snelst. Druk om verder te gaan op enter.

Kies hier UDP

Daarna wordt gevraagd welke poort je wilt gebruiken, je kan ervoor kiezen om het aan te passen, maar meestal kan je het gewoon laten staan. Het is wel belangrijk dat je de poort die je kiest onthoud, het is erg belangrijk.

Als je niet weet wat een poort is, dan is het zeker aan te raden om gewoon op enter te drukken.

Als daarna nog gevraagd wordt of de gekozen instellingen kloppend zijn, controleer of het klopt en druk daarna weer op enter. Daarna kan nog gevraagd worden of je gebruik wilt maken van de nieuwere OpenVPN versie, klik gewoon op Ja.

Je moet hierna kiezen hoe groot je certificaat moet zijn, aangeraden is om gewoon te kiezen voor de 256-bit certificaat, maar als je meer veiligheid wilt dan kan je altijd nog een hogere aantal bits certificaat kiezen.

PiVPN certificaat

Nu komt het belangrijkste gedeelte van het instellen van de VPN, je moet nu kiezen om gebruik te maken van i.p.v. je IP-adres je domeinnaam. Kies daarom voor de optie DNS Entry, selecteer deze met de pijltjestoesten en de spatiebalk. 

Je moet toch kiezen voor je Public IP-address, als je hebt gekozen om DuckDNS niet in te stellen.

PiVPN stel DuckDNS in

Daarna wordt gevraagd om de public DNS-name van de server. Vul daarna het domein in dat je net hebt gemaakt. Een voorbeeld is: prgrmmr-voorbeeld.duckdns.org. Zorg daarna dat je verder klikt, daarna moet je de DNS kiezen, je kan hierbij gewoon meteen op enter drukken.

Hierna wordt gevraagd of je een custom-search domain wilt, je kan hierbij gewoon op Nee kiezen, want dit heb je niet nodig.

PiVPN custom search domain, maar dit hoef je niet in te stellen

Nu is de installatie compleet, er wordt gevraagd of je opnieuw wilt opstarten. Kies hierbij Ja en start opnieuw op.

Nadat de Raspberry Pi opnieuw is opgestart verbind weer opnieuw. In de terminal typ

pivpn -a

Nu wordt gevraagd om een account te maken, volg de stappen die gevraagd worden. Nadat je al die informatie hebt ingevuld, is een OpenVPN profiel gemaakt. Er staat ook waar dat profiel is opgeslagen. Meestal in /home/pi/ovpns.

Port forwarding

Nu moet je zorgen dat je router toestaat dat apparaten van buiten je eigen huis toegang hebben tot je VPN. Hoe je dit doet hangt af van het type router dat je hebt. Je kan dat doen volgens deze guide van Coolblue

Wat je moet weten is dat je port 1194 via UDP open moet zetten.

OpenVPN installeren op device

Nu je de VPN hebt ingesteld kan je de OpenVPN Connect op je iPhone of Android installeren. Je kan OpenVPN downloaden in de Play Store of in de App Store.

Nadat je de OpenVPN Connect app hebt gedownload, moet je het profiel dat je hebt gemaakt op je Raspberry Pi overzetten naar je device. Dit kan je het beste doen via een Samba share.

Als je het hebt overgezet, dan kan je verbinden via de OpenVPN met je eigen VPN.


Credits