ID.nl logo
Raspberry Pi als VPN-server inzetten
© PXimport
Huis

Raspberry Pi als VPN-server inzetten

Een VPN-verbinding is cruciaal als je veilig wilt internetten op openbare wifi-netwerken of als je landrestricties van bijvoorbeeld Uitzending Gemist wilt omzeilen wanneer je in het buitenland bent. Een Raspberry Pi kan je helpen. We maken van het minicomputertje een VPN-router en VPN-server.

Deze kun je ook laten verbinden met een andere VPN-router, zodat je je andere apparaten thuis verbindt met de Raspberry Pi om bijvoorbeeld buitenlandse streams te bekijken.

01 VPN-router

Als je een VPN wilt gebruiken, moet je dat op elk apparaat configureren (zie ook de basiscursus VPN). Wil je op meerdere apparaten in huis landrestricties omzeilen, dan is dat omslachtig. Daarom stellen we een andere aanpak voor: we maken van een Raspberry Pi een draadloos toegangspunt. Daarna zetten we op de Pi een VPN-verbinding op, zodat elk apparaat dat via het toegangspunt surft, automatisch op het VPN zit. Je hebt hiervoor een usb-wifi-adapter nodig die compatibel is met de Raspberry Pi.

©PXimport

02 Toegangspunt

Eerst maken we een draadloos toegangspunt van onze Pi. Daarvoor verwijzen we naar de vorige workshop over de Raspberry Pi als Tor-router. Volg de uitleg in de eerste 12 stappen van die workshop. Zodra je al die stappen correct hebt uitgevoerd, probeer dan met een draadloos apparaat op het SSID van je Pi te verbinden. Kijk bij problemen eens hier om te controleren of je wifi-adapter op de Pi ondersteund is en of je eventueel andere drivers moet downloaden of speciale configuratiestappen moet uitvoeren.

©PXimport

03 Tor verwijderen

Als je in de vorige workshop geen Tor-router van je Raspberry Pi gemaakt hebt, ga dan verder naar stap 5. In het andere geval moeten we eerst nog enkele stappen van toen ongedaan maken. Eerst stellen we in dat de verbindingen op het wifi-netwerk rechtstreeks via de ethernetinterface gaan in plaats van via de Tor-software. We verwijderen de oude NAT-regels met sudo iptables -F en sudo iptables -t nat -F. En we verwijderen de Tor-software met sudo apt-get remove tor.

©PXimport

04 Tor verwijderen (2)

Daarna geven we met de volgende opdrachten de nieuwe NAT-regels in: sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE, sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT en sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT. Sla de configuratie op met sudo sh -c "iptables-save > /etc/iptables.ipv4.nat". We hebben er in de vorige workshop al voor gezorgd dat die configuratie bij het booten van je Pi ingelezen wordt. Nu hebben we alle Tor-specifieke aspecten van de vorige workshop ongedaan gemaakt.

©PXimport

05 VPN-configuratie

Nu maken we van onze Raspberry Pi een OpenVPN-client. Daarvoor heb je een account bij een VPN-provider nodig die het OpenVPN-protocol ondersteunt. Met wat geluk levert je provider ook een configuratiebestand voor OpenVPN. Rechtsklik op de url van het bestand in je browser en kopieer de link. Typ dan in je PuTTY-venster op de Raspberry Pi wget ", plak de url, voeg er " aan toe en druk op Enter. Krijg je geen configuratiebestand, kopieer dan een voorbeeldbestand met cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf client.ovpn en lees hier wat je daarin verandert.

©PXimport

06 OpenVPN installeren

Installeer daarna de OpenVPN-software: sudo apt-get install openvpn resolvconf. Bevestig met Enter. Krijg je een foutmelding, probeer dan eerst de pakketlijst te verversen met sudo apt-get update en probeer het opnieuw. De software kan als client én als server werken, afhankelijk van de inhoud van het configuratiebestand. We moeten enkel het configuratiebestand van onze VPN-provider op de juiste plaats zetten: dat kan met sudo cp CONFIG.ovpn /etc/openvpn/client.conf, waarbij CONFIG de bestandsnaam van het gedownloade configuratiebestand is.

©PXimport

07 Andere bestanden

Gebruikt je VPN-provider certificaten om in te loggen, dan worden die vaak als afzonderlijke bestanden aangeboden op de website. Download ook deze naar je Pi zoals we in stap 5 met het configuratiebestand deden, en kopieer ze naar dezelfde map als het configuratiebestand: sudo cp CA /etc/openvpn/, waarbij CA de naam van het bestand is (voor de certificate authority). In andere gevallen heb je geen certificaat maar enkel een wachtwoord, en is dat in het configuratiebestand gedefinieerd. Soms zijn ook de certificaten in het configuratiebestand opgenomen.

©PXimport

08 Configuratie aanpassen

Aan het configuratiebestand dat je van je VPN-provider gekregen hebt, moet je waarschijnlijk nog iets aanpassen. Open het daarom met Nano: sudo nano /etc/openvpn/client.conf. Als er een regel dev tun in het configuratiebestand staat, verander die dan in dev tun0. Voeg nog twee regels toe: up /etc/openvpn/update-resolv-conf en down /etc/openvpn/update-resolv-conf. Lees ook de rest van het bestand eens na. Sla het bestand op met Ctrl+O en sluit het af met Ctrl+X. Verwijder de huidige NAT-regels nu weer met sudo iptables -F en sudo iptables -t nat -F.

©PXimport

09 Omleiding

Nu moeten we de apparaten die op het draadloze netwerk verbonden zijn via de OpenVPN-verbinding omleiden. Dat kan met een nieuwe NAT-regel: sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE. Sla de configuratie op met sudo sh -c "iptables-save > /etc/iptables.ipv4.nat". Voer sudo nano /etc/default/openvpn uit, voeg de regel AUTOSTART="client" toe en wijzig de regel die begint met OPTARGS in OPTARGS="--script-security 2". Laat OpenVPN daarna automatisch starten bij het booten met sudo update-rc.d openvpn enable. Herstart je Pi en probeer je VPN-router uit.

©PXimport

10 VPN-server

Tot nu toe hebben we van onze Pi een VPN-router gemaakt die een verbinding met een externe VPN-server kan delen met alle apparaten in je lokale netwerk. Maar we kunnen de Pi ook zelf als VPN-server inzetten. Dat is handig als je op vakantie Uitzending Gemist wilt bekijken: dan zet je op je laptop in het buitenland een VPN-verbinding op naar je Raspberry Pi thuis, waardoor de websites die je bezoekt het (Nederlandse) IP-adres van je internetverbinding thuis te zien krijgen. Zo word je dus niet geblokkeerd door de landrestrictie.

©PXimport

11 Verwijder toegangspunt

Als je van je Pi geen toegangspunt, Tor-router of VPN-router gemaakt hebt, ga dan verder naar stap 12. In het andere geval moeten we enkele stappen ongedaan maken. Voer de opdrachten in stap 3 uit om de NAT-regels en eventueel de Tor-software weer te verwijderen, evenals sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" om de nieuwe (lege) NAT-regels na een herstart te houden. De wifi-stick heb je ook niet meer nodig, dus die kun je uit de Pi halen. Verwijder dan ook de programma's die van je Pi een toegangspunt maakten: sudo apt-get remove isc-dhcp-server hostapd.

©PXimport

12 Certificaten

De OpenVPN-software hebben we in stap 6 al geïnstalleerd voor de VPN-router, en anders installeer je die met sudo apt-get install openvpn. Om OpenVPN als server te gebruiken, moeten we echter onze eigen certificaten aanmaken. Ga daarvoor naar de OpenVPN-configuratiedirectory met cd /etc/openvpn en voer sudo make-cadir easy-rsa uit. Omdat we nu voor de rest van de workshop allemaal opdrachten met sudo moeten uitvoeren, voeren we één keer sudo -s uit, zodat we de volgende keren geen sudo meer moeten opgeven. De opdrachtregel begint nu met root in plaats van met pi.

©PXimport

13 Variabelen

Ga nu naar de directory easy-rsa met cd easy-rsa en open het bestand vars met nano vars. We geven nu een aantal variabelen een waarde, zodat we bij het aanmaken van certificaten later niet telkens dezelfde waarden moeten ingeven. Wijzig de inhoud van de variabelen KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL en KEY. Voor het land vul je een tweeletterige landcode in (nl), voor de andere waarden is de inhoud vrij. Verander KEY_SIZE in 1024, want de standaardwaarde 2048 is te zwaar voor de Pi. Zie voor een voorbeeld de afbeelding. Sla op en sluit af met Ctrl+O en Ctrl+X.

©PXimport

14 CA

Normaal brengt een certificate authority (CA) certificaten uit waarmee het eigenaarschap van een publieke sleutel bewezen wordt, maar we kunnen dat evengoed zelf doen. We maken daarom een CA-certificaat aan. Met source ./vars laden we de variabelen in die we hierboven aangepast hebben, met ./clean-all verwijderen we alle sleutels die al aanwezig zijn en met ./build-ca maken we uiteindelijk het CA-certificaat aan. Druk bij elke vraag op Enter om de standaardwaarde te aanvaarden, ook bij de Common Name en Name.

©PXimport

15 Servercertificaat

Daarna maken we een certificaat en sleutel aan voor onze OpenVPN-server. Dat kan met ./build-key-server Frambozentaart, waarbij Frambozentaart de naam van onze server is. Aanvaard weer de standaardwaardes, zeker voor Common Name, die gelijk moet zijn aan de naam van de server die je aan build-key-server doorgegeven hebt. De vraag voor een challenge password antwoord je met Enter, waardoor het leeg blijft en ook de optionele bedrijfsnaam laat je leeg. Op de vraag Sign the certificate? antwoord je bevestigend met y, evenals op de vraag erna.

©PXimport

16 Clientcertificaten

Nu we de serverkant in orde hebben, moeten we voor elke client een certificaat en sleutel aanmaken met de opdracht ./build-key client1, waarbij client1 de naam van de client is. Accepteer weer dezelfde standaardwaarden en kies zeker bij Common Name de voorgestelde waarde, namelijk de naam van de client, zoals client1. Voor de rest antwoord je hetzelfde als bij de server. Herhaal dit voor alle apparaten waarmee je met het VPN wilt verbinden en zorg dat je voor elke client een unieke naam gebruikt. Tot slot voer je nog de opdracht ./build-dh aan (dat hoeft slechts één keer).

©PXimport

17 Serverconfiguratie

Kopieer nu de sleutels naar /etc/openvpn: cp keys/ca.crt keys/Frambozentaart.crt keys/Frambozentaart.key keys/dh1024.pem /etc/openvpn. Kopieer de voorbeeldconfiguratie: zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf. Open het bestand met nano /etc/openvpn/server.conf en zoek naar de regels die achtereenvolgens beginnen met ca, cert, key en dh. Geef daarachter de juiste naam van de bestanden, zoals ca ca.crt, cert Frambozentaart.crt, key Frambozentaart.key en dh dh1024.pem.

©PXimport

18 Serverconfiguratie (2)

Zoek in het configuratiebestand naar de regel ;push "redirect-gateway def1 bypass-dhcp" en verwijder de puntkomma (;) vooraan de regel zodat deze actief wordt. Daardoor wordt je VPN-server de default gateway van de aangesloten clients, zodat ze via de VPN-verbinding kunnen surfen. Verwijder ook de ; vooraan de regel ;push "dhcp-option DNS 208.67.222.222" en de bijna identieke regel erna. Die twee regels zorgen dat de clients de DNS-servers van OpenDNS gebruiken. Sla tot slot het bestand op met Ctrl+O en sluit het af met Ctrl+X.

©PXimport

SD-kaart

Eén manier om bestanden van je Pi (zoals certificaat- en configuratiebestanden van OpenVPN) met je computer te delen is door de Pi uit te schakelen, het SD-kaartje in de kaartlezer van de computer te steken en de benodigde bestanden te kopiëren. Daarvoor moet je wel Ext2Fsd op Windows installeren om het Linux-bestandssysteem in te kunnen lezen. Je moet er ook telkens je Pi voor uitschakelen!

Samba

Een andere manier om bestanden van je Pi naar je computer te verplaatsen is met Samba. Je installeert dat programma op de Pi, zie hiervoor de workshop over de Raspberry Pi als downloadmachine. In het configuratiebestand van Samba definieer je welke map je op het netwerk deelt. Kopieer de bestanden die je wilt delen naar die map en open die in de verkenner van je Windows-pc.

©PXimport

Port forwarding

De Raspberry Pi is pas vanaf buiten je thuisnetwerk bereikbaar als je poort 1194 op je internetmodem/router laat doorsturen (forwarden) naar je Pi. Daarvoor moet je op de beheerpagina van je internetmodem/router naar de functionaliteit voor port forwarding gaan. In sommige interfaces heet dit 'LAN servers' of iets dergelijks. Geef de regel een naam (bijvoorbeeld 'vpn'), geef als poort 1194 op (of wat je in de OpenVPN-serverconfiguratie gekozen hebt), als protocol UDP en als lokaal IP-adres het interne IP-adres van je Pi.

IP-adressen

Port forwarding werkt enkel als je Pi altijd hetzelfde lokale IP-adres heeft. In je router heb je meestal ook een manier om een apparaat altijd hetzelfde IP-adres te geven. Vaak vind je dat onder het kopje DHCP. Geef daar het MAC-adres van je Pi in (te vinden na HWaddr als je ifconfig eth0 intypt in de opdrachtprompt van je Pi) en het gewenste IP-adres. Verder stel je in je router best ook een DynDNS-dienst in, zodat je VPN-server altijd onder dezelfde domeinnaam bereikbaar is.

©PXimport

19 Start OpenVPN

Om nu OpenVPN te starten, moeten we naar het juiste configuratiebestand verwijzen. Voer daarom nano /etc/default/openvpn uit en voeg AUTOSTART="server" toe. Als je eerder in deze workshop een VPN-router van je Pi gemaakt heb, moet je de AUTOSTART="client" hierdoor vervangen. Sla op en sluit af met Ctrl+O en Ctrl+X. Laat OpenVPN daarna automatisch starten bij het booten met sudo update-rc.d openvpn enable. Herstart je Pi. Kijk dan in de basiscursus over VPN op hoe je op je client met je OpenVPN-server verbindt.

©PXimport

20 Mobiele clients

Als je met je VPN-server wilt verbinden op Android- of iOS-apparaten, dan moet je nog enkele stappen uitvoeren. Die lees je hier onder de titel "Debian Server with Android / iOS devices" vanaf de tekst "Create client profile file...". De opdrachten daar plaatsen de CA, het clientcertificaat en de clientsleutel in het configuratiebestand van de client zelf, zodat de app OpenVPN Connect ze kan openen.

©PXimport

21 Hulp

OpenVPN heeft heel wat meer mogelijkheden dan we hier getoond hebben. Op deze webpagina vind je enkele tips. Maar ook de website van OpenVPN zelf staat boordevol met informatie. Klik links op Documentation om de uitgebreide documentatie te bekijken. Ook de voorbeeldconfiguratiebestanden staan overigens vol met informatie die uitlegt waarvoor alle opgenomen regels dienen. En als er iets misloopt, kijk dan eens naar foutmeldingen in de uitvoer van grep ovpn /var/log/syslog.

©PXimport

▼ Volgende artikel
Waar voor je geld: 5 4K QLED-televisies onder de 500 euro
© Samsung
Huis

Waar voor je geld: 5 4K QLED-televisies onder de 500 euro

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we daarom binnen een bepaald thema naar zulke deals. Vandaag hebben we vijf 4K QLED-tv's onder de 500 euro voor je gevonden. Ideaal voor wie wil genieten van haarscherpe beelden en realistische kleuren zonder zijn of haar budget te overschrijden.

Disclaimer

Op het moment van schrijven zijn de televisies bij de goedkoopste webwinkels niet duurder dan 500 euro. De prijzen kunnen schommelen.


Hisense 43A7NQ

De Hisense 43A7NQ biedt verrassend veel voor zijn formaat en prijs. Deze 43 inch QLED-tv levert levendige kleuren dankzij Quantum Dot Color en biedt ondersteuning voor maar liefst vier HDR-formaten, waaronder Dolby Vision IQ en HDR10+. De 4K AI-upscaler tilt oudere content naar een hoger kwaliteitsniveau, zodat ook SD- en HD-beelden scherp en helder ogen. Het geluid wordt verzorgd door twee speakers met Dolby Atmos, wat zorgt voor een ruimtelijk en indrukwekkend geluid. De tv draait op het overzichtelijke VIDAA-platform en ondersteunt handige functies zoals spraakbesturing, bluetooth-koppeling en Game Mode.

Beelddiagonaal: 43 inch (109 cm)
HDR-ondersteuning: Dolby Vision IQ, HDR10, HDR10+, HLG
Smart TV-platform: VIDAA
Bijzonderheden: Quantum Dot Color, AI-upscaling, Dolby Atmos, Game Mode

TCL 43P7K

De TCL 43P7K is een veelzijdige 43 inch QLED-tv met een hoge helderheid van 430 nits en ondersteuning voor alle gangbare HDR-formaten zoals HDR10+ en Dolby Vision. Hierdoor ogen beelden levendig en scherp, met mooie kleurgradaties. Deze televisie draait op Google TV, wat betekent dat je kunt rekenen op een slimme en overzichtelijke interface met ondersteuning voor spraakbediening via Google Assistent of Alexa. Ook stream je gemakkelijk content vanaf je smartphone met Apple AirPlay of ingebouwde Chromecast. De Game Master-modus en ALLM maken dit een goede keuze voor casual gamers.

Beelddiagonaal: 43 inch (109 cm)
HDR-ondersteuning: Dolby Vision, HDR10+, HDR10, HLG
Smart TV-platform: Google TV
Bijzonderheden: Google Assistent, Game Master, 430 nits helderheid, AirPlay

Samsung QE50Q60D

De Samsung QE50Q60D is een 50 inch televisie met QLED-schermtechnologie die garant staat voor levendige kleuren en een hoge helderheid. Dankzij Quantum HDR en 100% kleurvolume oogt elk beeld natuurgetrouw, met rijke details en krachtig contrast. De Dual LED-achtergrondverlichting verbetert bovendien de kijkhoek, waardoor iedereen in de kamer geniet van hetzelfde beeld. De tv draait op het gebruiksvriendelijke Tizen-platform, dat snelle toegang geeft tot je favoriete apps. Ook bijzonder is de ondersteuning voor cloud gaming – je hebt geen console nodig om meteen te spelen. Met het Air Slim Design is deze tv slechts 26 mm dun, en de in hoogte verstelbare voet biedt ruimte voor een soundbar. Je krijgt er bovendien een Solar One Remote bij waarmee je meerdere apparaten aanstuurt.

Beelddiagonaal: 50 inch (126 cm)
HDR-ondersteuning: HDR10, HDR10+
Smart TV-platform: Tizen
Bijzonderheden: verstelbare standaard, cloud gaming, Solar Remote, slechts 26 mm dik

Salora 43QLED320

Met de Salora 43QLED320 haal je een compacte 43 inch QLED-tv in huis die qua beeldkwaliteit verrassend goed presteert. De combinatie van HDR10, Dolby Vision en HLG zorgt voor diepe contrasten en heldere kleuren, ook bij donkere scènes. Dankzij het Android TV-platform heb je toegang tot talloze apps zoals Netflix, YouTube en Disney+. De ingebouwde Chromecast maakt streamen vanaf je telefoon of laptop bijzonder eenvoudig. Ook zijn er drie HDMI 2.1-poorten aanwezig, ideaal voor het aansluiten van een gameconsole. Het frameloze ontwerp geeft deze televisie een moderne uitstraling, terwijl bluetooth en wifi zorgen voor goede draadloze connectiviteit.

Beelddiagonaal: 43 inch (109 cm)
HDR-ondersteuning: Dolby Vision, HDR10, HLG
Smart TV-platform: Android TV
Bijzonderheden: ingebouwde Chromecast, HDMI 2.1, frameloos design

Hisense 55E7NQ PRO

De Hisense 55E7NQ PRO is een serieuze kandidaat voor wie zowel wil genieten van films als games. Met een indrukwekkende verversingssnelheid van 144 Hz en ondersteuning voor FreeSync Premium loopt alles vloeiend en zonder haperingen. Het 55 inch QLED-paneel toont heldere kleuren en diepe zwarttinten, terwijl de Dolby Vision IQ-technologie zich aanpast aan de lichtomstandigheden in je kamer. De Dolby Atmos-audio zorgt ervoor dat het geluid net zo meeslepend is als het beeld. Het VIDAA-platform biedt toegang tot alle bekende apps en reageert snel en intuïtief. Dankzij vier HDMI 2.1-poorten is aansluiten van je game-pc of console geen enkel probleem.

Beelddiagonaal: 55 inch (139 cm)
HDR-ondersteuning: Dolby Vision, Dolby Vision IQ, HRD10, HDR10+, HLG
Smart TV-platform: VIDAA
Bijzonderheden: 144 Hz, FreeSync Premium, IMAX Enhanced, 40 watt audio

▼ Volgende artikel
Van zelf ijs maken tot de hitte verdrijven uit huis: 5 verkoelende leestips
© ID.nl
Huis

Van zelf ijs maken tot de hitte verdrijven uit huis: 5 verkoelende leestips

🌡️ Man man man, wat is het heet. Sterker nog: bloedheet. Wij hebben daarom vijf artikelen voor je met ideeën om de hitte te slim af te zijn. Van simpele manieren om je slaapkamer koel te houden tot zelf ijs maken tot een plaknacht overleven: inspiratie voor iedereen die liever niet wegsmelt.

Een plaknacht overleven

Een slaapkamer waarin de hitte van de dag is blijven hangen: dat staat garant voor een nacht woelen en slecht slapen. Gelukkig kun je veel doen om het koeler te maken. Overdag de zon buitenhouden en licht beddengoed kiezen bijvoorbeeld. En 's avonds een lauwe douche nemen of ijsblokjes bij de ventilator zetten helpt ook. Wij hebben acht onmisbare tips voor je verzameld.
→ Lees verder: Zo houd je het hoofd (en de slaapkamer) koel

Hitte verdrijven uit huis

Zit je huis nog vol warmte als de buitentemperatuur alweer zakt? Dan is het tijd voor actie. In dit artikel lees je over ventilatie en isolatie airco's en zonwering, en over snelle tips die gegarandeerd graden schelen.
→ Lees verder: Tips om de warmte uit huis te krijgen na een hittegolf

Zelf ijs maken? met een ijsmachine ...

Roomijs maken in je eigen keuken? Dat kan met de hand, maar makkelijker met een ijsmachine. In dit overzicht zie je hoe de klassieke modellen met losse koelkom werken, wat een zelfvriezende machine voor je doet en waarom de Ninja Creami zo populair is. Je eigen ijs maken: leuk om te doen, maar al helemaal lekker om op te eten! 🍦
→ Lees verder: IJs maken met ijsmachines – zo werkt het

... en zonder ijsmachine

Ook zonder machines kun je prima zelf ijs maken. In dit artikel lees je hoe je waterijs of yoghurtijs maakt met wat je al in huis hebt. Meng wat fruit, sap of yoghurt, giet het in vormpjes of bekertjes en laat het bevriezen. Je kunt eindeloos variëren met smaken, en zelfs alcohol toevoegen. Maar dat is met deze tropische temperatuur misschien niet het beste idee...
→ Lees verder: Geen ijsmachine, toch zelf ijs maken

Getest: de Ninja Slushi

Met de Ninja Slushi maak je meer dan slushi alleen. Van granita's tot milkshakes, van slush met frisdrank tot frozen cocktails: dit apparaat kan het allemaal. Hoe dat bevalt in de praktijk, lees je in deze uitgebreide review.
→ Lees verder: Review Ninja Slushi – Voor ijskoude drankjes op warme dagen

Koud, kouder, koudst

Of je nou je huis wilt laten afkoelen, een plaknacht wilt overleven of gewoon zin hebt in een zelfgemaakt ijsje: met deze tips kom je de hitte wel door. Sterkte!

🥶 Kon je er maar in gaan zitten! 👇