Hoe een VPN opzetten met Raspberry Pi voor werken op afstand

raspberry pi vpn

Een van mijn vrienden gaat op een lange reis en heeft een VPN nodig.

Het voordeel van een VPN, zo legde hij uit, was dat hij zo toegang had tot zijn thuisnetwerk en bestanden.

Dat is vrij standaard.

Hij zei ook dat hij gemakkelijker kan inloggen op bankapps en andere diensten als hij inlogt via zijn thuisnetwerk.

Een overzees IP-adres werpt rode vlaggen op en zorgt ervoor dat hij Captcha-tests en 2FA's moet uitvoeren.

Dus dat zette me aan het denken of de Raspberry Pi zou werken in dit geval.

Controleer eerst uw router

Een belangrijk detail hier is om te controleren of uw router als VPN-server kan fungeren.

Dat zou de meest betrouwbare oplossing zijn. Eerlijk gezegd, was het ook de makkelijkste en minst vervelende oplossing.

Ik heb een TP-Link Archer C7 die de mogelijkheid heeft om een VPN server te draaien met OpenVPN of PPTP VPN. In minder dan vijf minuten, heb ik volgde de instructies en kreeg het aan de praat. 

Daarna hoefde ik alleen nog OpenVPN op mijn apparaten te installeren en het configuratiebestand te gebruiken.

Als je echter een router hebt die geen VPN-verbindingen ondersteunt, volg dan...

Wat heb ik nodig om een Raspberry Pi server te maken?

Ethernetkabel, Raspberry Pi en router om een PiVPN op te zetten
Ethernetkabel, Raspberry Pi en router

Eerst en vooral hebt u een Raspberry Pi nodig. 

Het zou ideaal zijn om een Raspberry Pi met een bekabelde ethernetverbinding te hebben, zoals de Raspberry Pi 4 voor maximale betrouwbaarheid en snelheid.

Als u voor deze apparaten kiest, hebt u een ethernetkabel nodig om de Raspberry Pi met uw router te verbinden.

En om ervoor te zorgen dat uw Raspberry Pi via bekabeld ethernet is verbonden, moet u de draadloze verbinding uitschakelen.

PiVPN heeft echter met succes gedraaid op een Zero-serie Raspberry Pi, dus die zou u ook kunnen gebruiken.

PiVPN installeren

PiVPN logo
PiVPN logo

Ga naar pivpn.io voor meer informatie over de software.

Om het te installeren, voer het installatie commando uit curl -L https://install.pivpn.io | bash in je Terminal.

Deze stap kan even duren, maar als het eenmaal gedaan is, zie je dit introscherm.

DHCP Reservering

PiVPN is een server, dus het moet een statisch IP-adres hebben om goed te kunnen functioneren. 

Als je in staat bent om een DHCP reservering te maken...

Niet alle routers staan toe dat je een DHCP reservering maakt, dus als je geen sectie voor deze instelling kunt vinden, ga dan naar de volgende sectie.

Ik heb een aparte modem en een router die ik heb gekocht zodat ik een DHCP-reservering kan maken om ervoor te zorgen dat PiVPN altijd op hetzelfde IP-adres zit.

Elke router is een beetje anders, dus je zou moeten googlen naar de exacte instructies voor het maken van een DHCP-reservering voor jouw router.

In het geval dat je een TP-Link Archer C7 gebruikt, zoals ik, ga je naar Geavanceerd > Netwerk > DHCP-server.

Onder de Adresreservering sectie, klikte ik op Toevoegen. Ik had mijn MAC-adres nodig (niet weergegeven in PiVPN) en het IP-adres dat door PiVPN wordt verstrekt.

Uw MAC-adres vinden

vinden van mac adres raspberry pi
U kunt meestal het MAC-adres van uw Raspberry Pi vinden via uw router of gebruik ifconfig

Er zijn twee manieren om uw MAC-adres te vinden. 

Het meest handige is dat mijn TP-Link router mijn MAC adres "DC-A6-32-88-AC-97" in de tabel van DHCP clients weergeeft.

Als alternatief kunt u een Terminal openen en het volgende typen ifconfig.

Aangezien je verbonden bent via een bekabeld ethernet, zoek naar "eth0" en op de lijn waar het zegt etherdat is waar je MAC adres is.

Als u geen DHCP reservering kunt maken,

dhcp reservering raspberry pi vpn of statisch ip adres

Druk in dit menu op "Nee" om een statisch IP-adres in te stellen.

In het volgende menu moet u uw statische IP-adres configureren op iets dat niet binnen het bereik valt van IP-adressen die uw router aan apparaten zal toewijzen.

Bijvoorbeeld, mijn router wijst aangesloten apparaten een IP-adres toe van 192.168.0.100 tot 192.168.0.249. Dus, ik kan PiVPN een IP-adres van 192.168.0.250 toewijzen.

Het zal u dan vragen om het gateway IP adres. Je kunt dit als standaard laten staan, tenzij je een andere gateway hebt. Meestal is dit het IP-adres van uw router.

Druk ten slotte op OK op PiVPN totdat u de pagina "Lokale gebruikers" bereikt.

Lokale gebruikers

In de "Kies een gebruiker" pagina, koos ik de enige echte gebruiker, pi.

In de laatste updates van het Raspberry Pi OS, heb je niet langer "pi" als standaard gebruiker, dus wees je ervan bewust.

Druk op OK.

Installatiewijze

raspberry pi vpn wireguard

Hier wordt u gevraagd of u WireGuard of OpenVPN wilt gebruiken. Ik koos voor WireGuard omdat het aanbevolen werd.

Standaard Wireguard-poort

Tenzij u een andere poort nodig hebt, kunt u gewoon op OK drukken en de standaard 51820 poort gebruiken.

DNS-aanbieder

kies google voor dns provider pivpn raspberry pi vpn

Er zijn veel keuzes voor DNS providers hier en ik ging gewoon met Google voor het gemak van het instellen.

Publiek IP of DNS

Wat u hier ziet is uw publieke IP-adres en dit zal het IP-adres zijn dat u zult gebruiken om verbinding te maken met uw VPN.

Onbeheerde upgrades

onbeheerde upgrades pivpn

Ik heb onbeheerde upgrades ingeschakeld omdat ik de beveiligingsupgrades wilde. 

Tijd om cliëntprofielen toe te voegen

Gebruik pivpn add om een klant toe te voegen, gebruik dan pivpn -qr om een QR code te krijgen voor je telefoon om te scannen
Gebruik pivpn toevoegen om een cliënt toe te voegen, gebruik dan pivpn -qr om een QR-code voor uw telefoon te scannen

Mooi! Je bent nu in het "Installatie voltooid" menu.

PiVPN instellen op de Raspberry Pi is de helft van de strijd. De volgende helft is het configureren van uw clientprofielen zodat u computers, telefoons en andere apparaten ermee kunt verbinden.

Hier is hoe:

Open een Terminal en type "pivpn add"

Voer een naam in voor de client. U kunt iets gebruiken als "client1", "client2" of iets intuïtiever als "smartphone", "televisie", enz.

Druk op Enter.

Als het klaar is, zal je een bericht zien dat het klaar is.

PiVPN zou een .conf-bestand hebben gegenereerd dat u kunt gebruiken met Wireguard-apps.

Er is echter een nog eenvoudigere manier om de configuratie op uw telefoon te krijgen.

Een Android telefoon instellen

In dezelfde terminal, voer pivpn -qr

Voer dan de client in die je wilt. Er is er maar één op dit moment genaamd "smartphone".

Dus, voer "smartphone" in en druk op enter.

Als alles goed gaat, krijgt u een QR-code te zien die u kunt scannen met de Wireguard-app op uw smartphone.

Problemen met codering leidt tot een vervormde PiVPN QR code
Problemen met codering leidt tot een vervormde PiVPN QR code

Maar als dat niet zo is, zal het er vervormd uitzien. Dit komt omdat de codering van je Terminal verkeerd is.

Als dit bij u gebeurt, kunt u het smartphone.conf-bestand naar uw telefoon kopiëren en de Wireguard-app naar het bestand wijzen.

wireguard pivpn qr code
Android-app van Wireguard die QR-code scant

Een andere manier is om te proberen te ssh-en in de Raspberry Pi en voer het commando qrencode -t ansiutf8 < /home/pi/configs/smartphone.conf (Verander "smartphone" in de naam van uw cliënt).

De QR code werd met succes gegenereerd toen ik ssh gebruikte op mijn Windows computer.

WireGuard instellen op uw computer

Er zijn twee dingen die je moet doen. Download de WireGuard-app voor uw computer en haal ook het .conf-bestand van uw Raspberry Pi.

U kunt de WireGuard-app voor Windows, Linux en Mac hier.

Als je dat hebt, maak dan een nieuw profiel aan met pivpn toevoegen

Type de naam van je configuratiebestand in. Ik gebruikte msi-pcdie een msi-pc.conf dossier.

Om het bestand naar uw PC te kopiëren, is de eenvoudigste manier om het met een commando te kopiëren. U moet SSH-toegang ingeschakeld hebben op het Raspberry Pi OS.

Als je op Windows zit, zoals ik, zou je dit commando gebruiken:

pscp.exe [uw-gebruikers-naam]@[uw-pi-ip-adres]:/home/pi/configs/[wireguard bestand].conf [local-dir]

Dit is hoe de mijne geworden is:

pscp.exe pi@192.168.0.241:/home/pi/configs/msi-pc.conf

In de app, druk op "Tunnel toevoegen" en zoek je .conf bestand.

Activeer en je bent klaar!

Port forwarding instellen op uw router

Als u de stappen tot nu toe hebt gevolgd, kunt u de schakelaar op uw Wireguard-app inschakelen, maar kunt u niet op internet.

Dat komt omdat u uw router zo moet configureren dat het verkeer dat poort 51820 benadert, naar uw Raspberry Pi wordt geleid.

Om dit te doen, ga je naar het port forwarding menu op je router. Op mijn TP-Link Archer router, was het toegankelijk in Geavanceerd > NAT Doorsturen > Virtuele Servers.

U weet dat u op de juiste plaats bent wanneer het u vraagt om een externe en interne poort en een intern IP adres.

Dit scherm vraagt in feite, "als we verkeer van de interwebs krijgen dat poort 51820 gebruikt, naar welk apparaat sturen we het dan en welke poort?

In dit geval zijn de externe en interne poorten 51820, Wireguard's standaard. Protocol is UDP en Intern IP is het IP-adres van uw Pi.

Hoe weet ik dat mijn VPN werkt?

testen of vpn werkt

U weet dat uw VPN werkt als uw IP-adres verandert.

Om de VPN-verbinding van mijn smartphone te testen, ging ik eerst op zoek naar mijn IP-adres voordat ik verbinding maakte met de VPN.

De VPN zei dat mijn adres XXX.XX.88.241 was

Ik maakte verbinding met mijn VPN en mijn IP adres veranderde in XXX.XXX.169.39.

Dus, als er een verandering is in je IP adres, betekent dat dat je succesvol verbinding hebt gemaakt.

Er bestaan veel diensten. Je kunt ook gewoon googelen op "wat is mijn IP-adres" en Google kan het je misschien vertellen op de pagina met zoekresultaten. Of anders, ik gebruikte whatismyip.com.

Wat gebeurt er als mijn internet IP wijzigt?

Soms krijgt u niet hetzelfde IP-adres wanneer u uw router opnieuw instelt. Stroomuitval, per ongeluk aan het netsnoer trekken kan gebeuren. 

De vraag is... hoe vindt u uw nieuwe IP-adres als u niet thuis bent en wanhopig verbinding moet maken met uw VPN?

Onze software PiCockpit maakt het makkelijk om te achterhalen wat je publieke IP is.

In de schermafdruk hierboven is dat mijn publiek IP. Als het ooit verandert, kunt u uw .conf-bestanden bijwerken met het nieuwe eindpuntadres.

PiCockpit zal u ook toelaten om uw Raspberry Pi vanop afstand te herstarten en problemen te diagnosticeren via zijn webinterface.

Volg deze gids om PiCockpit te installeren.

Als alternatief kunt u ook een dynamische DNS-service en een hostnaam krijgen. Hier is een gids.

Laat een reactie achter