nl en de fi id nl nl nl nl nl en en nl nl en en nl nl nl en en nl en en nl nl en en nl it nl nl nl en en nl nl nl fi en nl nl en en de nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl nl en nl nl nl nl nl nl nl nl nl nl nl fr en nl hbs_lat nl nl en nl en nl en nl en nl nl en it en de nl nl hbs_lat en nl nl en nl nl en en en de nl en en en de nl en nl en nl nl en nl de es en nl en en en en nl en nl en en en en nl en en en en en en en pt nl nl nl en nl ja ms en en en ru en en ms nl en nl en en nl en en en nl nl en fr nl en en nl nl it en hu nl de en es en en nb en en de en en pt en nl nl en nl en nl ru en nl nl nl nl nl nl en nl fr en nl it pl en it de en en en en en en mn en fr de en es en en en nl en nl en nl
Domeinnaam Je adres op internet met extensies als .nl & .com. Mail Professioneel e-mailen met je eigen domein – veilig en reclamevrij. Mailarchivering Automatische en veilige archivering voor je bedrijf.
SSL-certificaten Bescherm je website optimaal dankzij versleuteling Microsoft 365 Je documenten altijd bij de hand met Office 365.
Websites voor beginners en professionals.
Sitebuilder Perfect voor beginners: zonder voorkennis je eigen website. Webshop Snel en professioneel online verkopen.
Snel, veilig en krachtig: hosting & WordPress van professionals voor professionals.
WordPress hosting In een handomdraai je eigen, veilige WordPress site. Hosting Perfect voor professionele en supersnelle websites. Hosting Mini Ons mini-hostingpakket – voor een mini-prijs.
WooCommerce Je eigen webshop maken met WordPress
Monitor het succes en verbeter de performance van je website
STRATO marketingRadar Het perfecte starterspakket voor online marketing. STRATO rankingCoach Snel en simpel een toppositie in zoekmachines als Google. STRATO listingCoach Verschijn met één klik in de belangrijkste online directory's.
STRATO adCoach Maak en beheer eenvoudig Google Ads-campagnes.
Sneller gaat niet: 100% merk-hardware voor virtual en dedicated systemen.
VPS Linux Krachtige Linux VPS met SSD-power & Plesk. VPS Windows VPS met véél RAM & Windows Datacenter-licentie. Cyber Protect Veiligheid dankzij professionele back-ups & anti-malware
Dedicated Server Linux Eigen hardware met root-rechten – voor veeleisende hosting. Dedicated Server Windows Merk-hardware met Administrator-toegang. ServerCloud Flexibele, schaalbare servers in de cloud.
Bestanden online opslaan & automatisch back-uppen naar de Europese cloud.
HiDrive Sla je bestanden op in de Europese cloud. HiDrive Business Veilig teamwork met je online harde schijf. HiDrive S3 De object storage voor je bedrijfsdata.
Raspberry Pi als VPN-server inrichten: tutorial met OpenVPN
Voordelig een VPN-server op de Raspberry Pi installeren
VPN-server opzetten met de Raspberry Pi en OpenVPN: de voordelen
Wat heb je nodig om een VPN-server te installeren op de Raspberry Pi?
Een eigen VPN-server installeren op de Raspberry Pi: de moeite waard
Voordelig een VPN-server op de Raspberry Pi installeren
De beveiliging van een openbare internetverbinding laat vaak te wensen over. Als je je ook onderweg veilig op het internet wilt bewegen, kun je dit goed regelen met een eigen VPN (Virtual Private Network of Virtueel Particulier Netwerk). Wie besluit een eigen VPN-server te gaan opzetten, heeft bovendien toegang tot het lokale thuisnetwerk via elke internetverbinding.
Om een eigen VPN-server te installeren, heb je een computer nodig die goed als server functioneert. De Raspberry Pi is hiervoor een voordelige optie. Een VPN-server op de Raspberry Pi is te realiseren door middel van de VPN-server-software OpenVPN, die als gratis download beschikbaar is.
Een VPN-server instellen doe je in een lokaal netwerk (LAN), zodat je hier ook van buitenaf toegang toe kunt hebben. Dit is een virtueel communicatienetwerk, waarbij de aanvragen en antwoorden tussen de VPN-server en de VPN-clients (apparaten gekoppeld aan de server) in de regel via internet worden getransporteerd.
Met een zelf ingerichte VPN is het dus mogelijk om via welke internetverbinding dan ook toegang te hebben tot het eigen lokale netwerk. Daardoor heb je de beschikking over data die zich op het LAN bevinden, kun je op afstand toegang krijgen tot specifieke apparaten (bijvoorbeeld een printer of faxmachine) en kun je de internetverbinding van je lokale netwerk gebruiken. Dankzij een versleutelde verbinding met je VPN-server kun je je veiliger bewegen door het internet dan wanneer je gebruikmaakt van risicovolle, open internetverbindingen (zoals openbaar WiFi).
Om een dergelijk beveiligde verbinding met een VPN-server mogelijk te maken, dien je echter in je lokale netwerk een VPN-server te installeren op een computer die constant verbonden blijft met het internet. De computer fungeert dan als host voor het virtuele privénetwerk. Via client-software verbind je je apparaten (zoals een laptop, smartphone of tablet) met de server. Als je dan met een client via een internetverbinding, die zich buiten je persoonlijke LAN bevindt, je VPN-server op gaat, dan gebeurt dit via een versleutelde verbinding (de zogenaamde VPN-tunnel).
Deze VPN-tunnel begint bij je client, eindigt bij je VPN-server en strekt zich uit over de volledige internetverbinding. Deze tunnel is veel veiliger dan de gemiddelde openbare internetverbinding. Het is daarom moeilijk voor hackers om de tunnel binnen te dringen en het dataverkeer te onderscheppen. Via een persoonlijke VPN-verbinding kun je daarom ook in een openbaar WiFi-netwerk veilig met gevoelige data werken (zoals internetbankieren).
VPN-server opzetten met de Raspberry Pi en OpenVPN: de voordelen
De geringe kosten voor deze minicomputer maken de Raspberry Pi als VPN-server zo aantrekkelijk. De inkoopprijs van de kleine computer en de nodige toebehoren is in vergelijking met de concurrenten erg laag. Bovendien is ook het stroomverbruik voor de langdurige besturing van een server op de computer relatief laag. In het algemeen biedt hij een goede prijs-kwaliteitverhouding (ook vergeleken met de verschillende Raspberry Pi-alternatieven die ondertussen zijn verschenen).
OpenVPN is om meerdere redenen zeer geschikt voor jouw VPN: het gaat hier om kosteloze, wijdverspreide VPN-server-software, die ondersteuning biedt voor een groot aantal besturingssystemen (Windows, OS X, Android, iOS, Linux en meer). Daarbij overtuigt het programma met een relatief eenvoudige inrichting en een hoge stabiliteit.
Wat heb je nodig om een VPN-server te installeren op de Raspberry Pi?
Voor onderstaande tutorial heb je het volgende nodig:
Raspberry Pi (aanbevolen: model 2 of hoger)
Micro-SD-geheugenkaart met het besturingssysteem Raspbian Jesse erop geïnstalleerd
Continu beschikbare internetverbinding (het beste via een netwerkkabel) en stroomvoorziening (micro-USB-kabel) voor de Raspberry Pi
Daarnaast moet je besluiten of je de VPN-server direct op de Raspberry Pi wilt installeren (met gekoppelde monitor en aangesloten muis en toetsenbord) of via een SSH-client. Extern onderhoud van de server via SSH is in de meeste gevallen aan te bevelen, omdat je hiermee het gemakkelijkst vanaf een andere computer toegang tot de latere VPN-server op de Raspberry Pi kunt verkrijgen.
Hiervoor vind je veel verschillende software zoals PuTTY, WinSCP of OpenSSH (voor Unix-besturingssystemen), waarmee je de Raspberry Pi kunt besturen en bedienen. Je verbindt de SSH-software met de Raspberry Pi door het I.p.v.4-adres in de client (de computer waarmee je toegang tot de Raspberry Pi wilt hebben) op te geven en beide apparaten aan elkaar te koppelen. Het IP-adres van je Raspberry Pi kun je bijvoorbeeld via het routermenu laten weergeven in je browser. Dat lukt in de regel door het adres “192.168.0.1“ (bijv. bij Fritz!Box-eigenaar “fritz.box“) in je browser op te roepen.
Voor het gebruik van een SSH-client is het aan te raden om de Raspberry Pi een statisch privé-IP-adres in het lokale netwerk toe te kennen. Anders moet je elke dag dat je via SSH toegang tot de minicomputer wilt maken, opnieuw het actuele dynamische IP-adres achterhalen en de client hiermee verbinden. Nog belangrijker voor het gebruik van OpenVPN is de koppeling tussen een stabiel privé-IP-adres en de Raspberry Pi. De VPN-server moet in het lokale netwerk permanent onder hetzelfde adres bereikbaar zijn, zodat je er continu toegang toe hebt. Daarnaast dien je de VPN-server ook permanent onder hetzelfde adres op het internet bereikbaar te houden. Doorgaans beschikt een internetverbinding echter alleen over een dynamisch, openbaar IP-adres dat uiterlijk na 24 uur wisselt en zo dus de continue bereikbaarheid van de server onder eenzelfde IP-adres onmogelijk maakt. Wanneer je internetverbinding niet over een statisch, openbaar IP-adres beschikt, kun je dit oplossen door dynamisch DNS (DDNS) te gebruiken.
In een ander artikel kun je nalezen hoe je de Raspberry Pi een statisch IP-adres toekent en welke mogelijkheden er zijn voor de inrichting van DDNS. Als je je Raspberry Pi permanent als server online beschikbaar wilt houden, is het belangrijk om je regelmatig met updates en de beveiliging bezig te houden.
Met OpenVPN een eigen VPN-server op de Raspberry Pi installeren
Nu kan de installatie van OpenVPN beginnen. Om dit te doen open je de terminal (command-line-interface) van je Raspberry Pi.
Voorbereiding van de Raspberry Pi
Voordat je verdergaat met de installatie van de OpenVPN is het aan te raden om de bestaande pakketten op de Raspberry Pi te controleren en te installeren. Dit doe je door de volgende commando’s in te voeren op de terminal:
Als je het standaardwachtwoord van de Raspberry Pi (gebruikersnaam: “Pi”, wachtwoord: “Raspberry”) nog niet hebt veranderd, dan moet je dat nu alsnog te doen; anders kan iedereen toegang verkrijgen tot het systeem, zowel lokaal als over het netwerk via SSH. Met onderstaand commando roep je het configuratiebestand van de minicomputer op, waarin je een veilig wachtwoord kunt aanmaken.
OpenVPN installeren en easy-rsa-bestand aanmaken
Vervolgens installeer je met het volgende commando de OpenVPN-software evenals OpenSSL, die de versleuteling van de internetverbinding verzorgt:
sudo apt-get install openvpn openssl
Na de installatie van OpenVPN kopieer je het kant-en-klare script “easy-rsa” in het configuratiebestand van OpenVPN. Hiervoor maak je verschillende certificaten en sleutels aan. Het volgende commando werkt alleen onder Raspbian Jessie (bij de voorloper Wheezy zijn de scripts te vinden onder “/usr/share/doc/openvpn/examples/easy-rsa/2.0”).
sudo cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa
Open dan in de terminal het bestand “/etc/openvpn/easy-rsa/vars” door het volgende commando in te voeren:
Nu dien je dit bestand aan te passen. Je verandert de instellingen door de volledige regel „export EASY_RSA="`pwd`"” te vervangen door het volgende:
De sleutellengte kan ook in het bestand worden aangepast, waardoor je de mate van beveiliging van de versleuteling vastlegt. Een Raspberry Pi 3 beschikt over genoeg rekenkracht om zonder problemen een sleutellengte van 2048 bits aan te kunnen. Bij model 2 leidt een dergelijke versleuteling echter al tot merkbare prestatievermindering. Afhankelijk of je snelheid of veiligheid belangrijker vindt, kun je in dit geval met oog op de prestatie ook een versleuteling van 1024 bits toepassen. Een 4096-bits versleuteling is daarentegen slechts in enkele gevallen zinvol. Je kunt de sleutellengte veranderen door het aantal bits in het deel “export KEY_SIZE=2048” aan te passen.
Nu ga je terug in het configuratiebestand “easy-rsa”, geef je jezelf root-rechten en integreer je de eerder gemaakte instellingen in de omgevingsvariabelen, door het script “vars” met het commando “source” uit te voeren. Dan maak je het resulterende configuratiebestand toegankelijk via een symbolische link onder de naam “openssl.cnf”.
ln -s openssl-1.0.0.cnf openssl.cnf
Certificaten en sleutels voor OpenVPN instellen
De volgende stap is het terugzetten van de sleutel en instellen van de eerste sleutelbestanden voor OpenVPN.
Dan wordt je gevraagd om de eerste twee letters van de “Country Name” van je land in te voeren (NL voor Nederland, BE voor België, etc.). De daaropvolgende vragen zijn niet relevant en kun je eenvoudigweg met de Enter-toets bevestigen.
Daarna genereer je de sleutelbestanden voor de server:
Voer nog één keer de tweeletterige landencode in en laat de daaropvolgende velden leeg. Dan bevestig je het verzoek of het certificaat gegenereerd moet worden tweemaal met een “Y”.
Daarna houd je je bezig met het installeren van één of meerdere VPN-clients. Per apparaat waarmee je toegang tot de VPN-server wilt opzetten, stel je één certificaat en één sleutel in. Het proces is vergelijkbaar met dat van het genereren van een certificaat en sleutel op de server (landencode invoeren en tweemaal bevestigen). Je kunt de toestellen een specifieke naam toekennen (in onderstaand commando wordt een client voor een “laptop”, “smartphone” en een “tablet” aangemaakt).
Als je de clients van een wachtwoord wilt voorzien dan gebruik je in plaats van de bovenstaande commando’s de volgende regels:
Het aanmaken van het certificaat en de sleutel sluit je af met het commando voor het Diffie-Hellman-sleuteluitwisselingsprotocol:
Dit kan onder bepaalde omstandigheden wat meer tijd kosten. Zodra het proces is voltooid, log je je als rootgebruiker uit:
Configuratiebestand genereren voor de OpenVPN-server
Roep het OpenVPN-configuratiebestand op:
Het lege bestand vul je nu met verschillende commando’s, die we hieronder uitleggen. Eerst activeer je met “dev tun” de routing door een IP-tunnel en selecteer je met “proto udp” UDP als transportprotocol (als je TCP wilt gebruiken, kies dan “proto tcp”). In de daaropvolgende regel leg je vast dat de OpenVPN-server op poort 1194 bereikbaar is, die kun je echter ook wijzigen.
Dan stel je een SSL/TLS-rootcertificaat (ca), een digitaal certificaat (cert) en een digitale sleutel (key) in via de map “easy-rsa”. Daarnaast dien je erop te letten dat je de juiste versleuteling in bits invoert (1024, 2048, etc.).
Nu leg je vast dat de Raspberry Pi als VPN-server wordt gebruikt. Hiervoor noem je het IP-adres en het netwerkmasker die aan het VPN toegekend moeten worden.
Met het commando “redirect-gateway def1 bypass-dhcp” leid je nu het complete IP-verkeer door de IP-tunnel. Als je hoge veiligheidseisen hebt, kun je met deze instelling experimenteren. Als dit echter problemen veroorzaakt of het surfen traag wordt, dan is het toch raadzaam om deze configuratie weer uit te schakelen. De andere, hieronder vermelde instructies dien je echter alsnog te volgen: deze zorgen er namelijk voor dat je de openbare DNS-server verandert, naar die waarmee je VPN-server zal werken. In onderstaand commando wordt met “217.237.150.188“ een server van een Duitse hostingprovider genoemd en met “8.8.8.8“ eentje van Google. Je kunt deze echter verwisselen voor alternatieven naar eigen wens door de I.p.v.4-adressen in te voeren van andere DNS-servers. Via “log-append /var/log/openvpn“ stel je dan nog in dat de loginformatie in het bestand “/var/log/openvpn” wordt geschreven.
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 217.237.150.188"
push "dhcp-option DNS 8.8.8.8"
Door middel van “persist-key” zorg je ervoor dat de sleutelbestanden niet opnieuw worden gelezen en met “persist-tun” voorkom je dat de TUN- en TAP-netwerkdrivers opnieuw worden opgestart. De rechten van de OpenVPN-daemon worden na het starten van een programma verlaagd via “user nobody” en “group nogroup”. Met “status /var/log/openvpn-status.log“ maak je een statusbestand aan, waarin je de huidige verbinding kunt zien. Verder is het aan te raden de uitvoerigheid van de loginformatie door middel van het commando “verb” op te lossen. Als je daarbij “0” kiest, krijg je naast foutmeldingen geen resultaten. Een waarde van 1 t/m 4 is geschikt voor het normale gebruik en de hogere waarden zijn eerder bedoeld voor het oplossen van problemen. Tot slot bepaal je nog met het commando “client-to-client” dat VPN-clients niet alleen de server, maar ook andere VPN-clients detecteren en met “comp-lzo” de LZO-compressie activeren (deze moet je dan ook vrijgeven in de configuratiebestanden van de clients).
Met “CTRL + O” bewaar je de wijzigingen en met “CTRL + X” sluit je de editor.
Script om internetverbinding met een client te realiseren
Om via jouw VPN-tunnel toegang te verkrijgen tot de internetverbinding van je lokale netwerk moet je een forwarding instellen. Om dit te doen, creëer je eerst het bestand “/etc/init.d/rpivpn”:
Om de volgende antwoorden naar het bestand te kopiëren, maak je de header voor een Linux init-script:
### BEGIN INIT INFO
# Required-Start:     $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:       2 3 4 5
# Default-Stop:       0 1 6
# Short-Description: VPN initialization script
### END INIT INFO
Vervolgens activeer je “ip_forward” door een “1” in dit bestand te schrijven:
echo 'echo "1" > /proc/sys/net/i.p.v.4/ip_forward' | sudo –s
Dan maak je via het pakketfilter “iptables” een forwarding aan voor VPN-pakketten.
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
Nu zijn er alleen nog commando’s nodig die je VPN-clients toegang geven tot het LAN en tot het internet. Deze stel je met de volgende regels in:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Sla het bestand opnieuw op met “CTRL + O” en sluit hem met “CTRL + X”.
Om te zorgen dat de forwarding werkt, moet je het script nog de juiste rechten toekennen en als init-script installeren.
sudo chmod +x /etc/init.d/rpivpn
sudo update-rc.d rpivpn defaults
Nu voer je het script uit en start daarna de OpenVPN-server opnieuw op.
Installatie van de clients afsluiten
In de laatste stap bundel je de certificaten en sleutels van elke client in een eigen pakket. Hiervoor ken je weer root-rechten toe, open je de map “/etc/openvpn/keys/” en maak je het clientconfiguratiebestand aan. Gebruik de volgende commando’s om het bestand van de “laptop”-client op te roepen. De installatie werkt voor elke client hetzelfde; je hoeft alleen de naam van het apparaat te wijzigen.
In het “.ovpn”-bestand van de client voer je het volgende in:
De bovenstaande bestandsinhoud dien je nog wel aan te vullen. In de vierde regel vervang je “x.x.x.x” met het IP-adres van je DDNS-provider (mocht je een statisch openbaar IP-adres gebruiken, kun je deze hier natuurlijk gewoon invoeren) gevolgd door de poort waarop de VPN-server bereikbaar moet zijn. In de twee-na-laatste en drie-na-laatste regels voer je de naam van je client in (hier: “laptop”). Nadat je de wijzigingen hebt aangebracht, sla je deze met “CTRL + O” op en sluit je de editor met “CTRL + X”.
Tot slot voeg je het configuratiebestand met de certificaten en sleutels in een zip-bestand bij elkaar. Als je nog geen zip-bestand op de Raspberry Pi hebt geïnstalleerd, kun je dit bijvoorbeeld met het volgende commando doen:
Gebruik dit commando voor het aanmaken van het zip-bestand en let daarbij weer op dat je overal de juiste clientnaam gebruikt.
zip /home/pi/raspberry_laptop.zip ca.crt laptop.crt laptop.key laptop.ovpn
Nu dien je nog de rechten voor de bestanden aan te passen en daarna de installatie te beëindigen met “exit”.
Het zip-bestand is nu klaar en kan van de Raspberry Pi naar de client worden overgezet (bijvoorbeeld door middel van een SCP- of SFTP-programma). Vervolgens installeer je de client op het apparaat. Nu kun je met het apparaat via welke internetverbinding dan ook toegang verkrijgen tot het lokale netwerk dat met de client is verbonden en zo gebruikmaken van deze beveiligde toegang tot internet.
Een eigen VPN-server installeren op de Raspberry Pi: de moeite waard
Je eigen VPN is minder duur dan veel mensen denken: dankzij het lage energieverbruik van de Raspberry Pi heb je geen hoge vaste lasten. En ook de uitgaven voor de afzonderlijke componenten van de server (Raspberry Pi, micro-SD-kaart, etc.) zijn te overzien.
Bovendien biedt een VPN-server op Raspberry Pi veel mogelijkheden. Met je zelfgehoste VPN-server op de Raspberry Pi kun je vanaf elke internetverbinding toegang krijgen tot je lokale computernetwerk. De VPN-verbinding is versleuteld en maakt het mogelijk dat je je op zowel een open en/of niet betrouwbare WiFi-netwerk, als via de data van je mobiel veel veiliger op het internet kunt bewegen. Veel meer bescherming kan een mobiele internetverbinding nauwelijks bieden.