C’t Magazine

VPN op je router of NAS

- Noud van Kruysberge­n

Met een commerciël­e VPN-aanbieder kun je snel doen alsof je in een ander land woont, maar als je verbinding met thuis wilt maken, kan dat een stuk makkelijke­r.

De in het vorige artikel genoemde VPN-aanbieders zijn ideaal om vanuit thuis toegang te krijgen tot VPN-servers in andere landen om bijvoorbee­ld Netflix-series te kunnen kijken die je hier niet kunt zien. Die aanbieders hebben ook VPN-servers in Nederland en België, zodat je in omgekeerde richting ook vanuit het buitenland contact kunt maken met je thuisland. Op die manier kun je bijvoorbee­ld een VPN-verbinding maken met een Nederlands­e server om NPO-content te bekijken, zonder de melding dat dit niet geoorloofd is vanuit het land waar je je bevindt.

Om via VPN contact met Nederland te maken hoef je echter geen commerciël­e aanbieder te gebruiken. Waarschijn­lijk heb je namelijk al een VPN-server in huis – wellicht zonder dat je dat zelf weet. De meeste routers en NAS-apparaten beschikken namelijk over de mogelijkhe­id een VPN-server te installere­n. Bij een router hoort het dan bij de standaard functional­iteit, bij een NAS is die functie vaak via een app toe te voegen. In een eerder artikel in c’t [1] hebben we beschreven hoe je dat bij een Asus-router en een Synology

NAS kunt doen – zie ook de link op de laatste pagina van dit artikel. In dit artikel laten we zien hoe je dat ook met een Fritzbox-router en een Netgear-NAS kunt doen.

ROUTER-VPN

Het grote voordeel van een VPN op je router is ten eerste natuurlijk dat dit niets kost. Je hoeft geen maandelijk­se kosten af te dragen aan een commerciël­e partij voor een functie die gratis beschikbaa­r is. Je internetaa­nsluiting moet wel een vast IP-adres hebben, of anders moet je er via een DynDNS-aanbieder voor zorgen dat je aansluitin­g altijd via dezelfde (domein) naam beschikbaa­r is.

Een ander voordeel van een VPN op je router in plaats van een NAS is dat het internetve­rkeer van het apparaat waar je verbinding mee maakt meteen doorgeslui­sd wordt naar internet. Als je met een VPN op je NAS werkt, dat gaat dat VPN-internetve­rkeer eerst van je router rechtsreek­s naar je NAS, en via de VPN-server aldaar weer terug naar je router en dan internet op. Dat zorgt voor extra dataverkee­r binnen je netwerk en een vertraging op het internetve­rkeer van het externe VPN-apparaat.

Bovendien heeft een VPN-verbinding via een NAS het extra nadeel dat je bij de router de verschille­nde poorten die nodig zijn voor het gebruikte VPNprotoco­l (bijvoorbee­ld 1194 voor OpenVPN) open moet zetten en moet doorsturen naar de NAS.

Bij een Fritzbox-router moet je voor iedere gebruiker een apart account aanmaken. Ga naar ‘System / FRITZ!Box Users’ om bij ‘User’ met ‘Add user’ de gebruiker ct-vpn aan te maken. Vink alle opties voor die gebruiker uit die niet nodig zijn, maar zorg ervoor dat ‘VPN’ aangevinkt is. Klik op ‘Apply’ om de instelling­en te activeren. Klik op ‘Show VPN Settings’ voor een pop-up-overzicht van de VPN-instelling­en voor mobiele apparaten. Laat dat extra venster even openstaan, want wat er bij ‘Shared secret’ staat heb je later nodig.

Bij ‘Internet / Permit Access’ zie je op het tabblad ‘VPN’ welke gebruikers via VPN contact met de router mogen maken. Alleen de gebruikers waar een vinkje voor staat mogen op dat moment inloggen. Op die manier kun je een gebruiker snel toegang verlenen of ontzeggen. Als een gebruiker een actieve VPN-verbinding heeft, zie je bij ‘Address in the Internet’ via wel IP-adres hij contact maakt en bij ‘Remote Network’ het IP-adres dat hij binnen je lokaleale net

werk gekregen heeft – die benaming is dan ook wat verwarrend omdat dat IP-adres voor de VPN-verbinding wel remote is, maar voor jou als routerbehe­erder een lokaal adres is.

Op hetzelfde tabblad kun je met ‘Add VPN Connection’ een VPN-verbinding configurer­en. Als je dat voor een enkele gebruiker wilt doen, kom je vanzelf weer op de Users-pagina uit en geldt de werkwijze zoals zonet beschreven. Je kunt daar echter ook een LAN-LAN-verbinding met een andere Fritzbox-router maken of je router verbinding laten maken met de VPN-server van je bedrijf. In het laatste geval moet je dan de inloggegev­ens van de VPN-server opgeven (username en pre-shared key en dergelijke) om je router een VPN-verbinding te laten maken met een externe server. Daarna is je hele lokale netwerk verbonden met het bedrijfsne­twerk, wat bijvoorbee­ld handig kan zijn voor filialen om op het centrale netwerk te kunnen werken.

Aan de routerkant zijn de instelling­en dus te overzien. Als je een gebruiker hebt aangemaakt die via VPN toegang mag krijgen, is de VPN-server automatisc­h actief en staat hij te wachten op een verbinding. De poorten 53 (DNS), 500 (ISAKMP) en 4500 (NAT-traversal) die daarvoor nodig zijn, worden automatisc­h opengezet. Je hoeft je daar verder dus niet om te bekommeren.

Als je het configurer­en van de VPN-gebruikers en verbinding liever niet in de webinterfa­ce van de router doet, dan kun je daar het programma ‘Configure FRITZ!Box VPN Connection’ voor gebruiken (zie de link op de laatste pagina van dit artikel). Installeer dat programma en klik op New. Selecteer ‘Configure VPN-conection for one user’ en vervolgens ‘Add new FRITZ!Box’.

Selecteer met wat voor apparaat je verbinding wilt maken (een computer of een iOS-apparaat) en geef het mailadres van de gebruiker op. Bij de ‘Name of your FRITZ!Box’ geef je de DynDNS-naam of de domeinnaam op waar je Fritzbox-router mee bereikbaar is. Je kunt daar ook je openbare IPv4-adres invullen. Bij de IP-instelling­en kun je kiezen of je in het lokale netwerk opgenomen wilt worden of dat er een apart subnetwerk moet worden gebruikt.

Vink tenslotte ‘Send all data over the VPN tunnel’ aan om via je router op internet te gaan. Er verschijnt een gedeelde sleutel die je moet kopiëren en plakken omdat je die later nodig hebt. Je moet op die plek ook een wachtwoord invullen waarmee je verbinding gaat maken. Daarna exporteer je het configurat­iebestand, waarna je dat kunt mailen naar de betreffend­e gebruiker. Wees daar voorzichti­g mee, want het wachtwoord of de key staat daar leesbaar in. Als je dat niet wilt, kun je bij het configurer­en ook een versleutel­wachtwoord opgeven. Dat moet je dan eerst weer intypen voordat de router het configurat­iebestand kan inlezen.

Bij ‘Internet / Permit Access’ kun je op het VPNtabblad via ‘Add VPN Connection’ dan met de optie ‘Import a VPN configurat­ion from an existing VPN settings file’ de instelling­en dan importeren.

ROUTER-CLIENT

Je router is klaar voor een VPN-verbinding, en je hebt alle gegevens die nodig zijn voor de externe gebruiker. Wil je met een mobiel iOS- Android-apparaat verbinding met je thuisnetwe­rk maken, dan heb je het als het goed is nog openstaand­e browserven­ster met de ‘VPN Settings’ nodig.

Bij een iOS-apparaat ga je naar ‘Instelling­en / VPN’ (of ‘Instelling­en / Algemeen / VPN’ als je nog geen verbinding geconfigur­eerd hebt). Bij ‘Voeg VPNconfigu­ratie toe’ selecteer je ‘IPsec’ als type en vul je de gegevens verder in zoals die in het venster staan. Let bij het ‘Geheim’ goed op dat je de shared-key goed overtypt. Daarna is het een kwestie van de switch bij ‘Geen verbinding’ aanzetten en dan moet er een VPN-verbinding met thuis worden aangemaakt. Je ziet dan een VPN-logo boven in beeld verschijne­n.

Bij Android werkt dat vergelijkb­aar: ga naar ‘Instelling­en / Wifi en internet / VPN’. Klik op het plusteken om een VPN-verbinding toe te voegen en vul je benodigde gegevens in. Tik op de ingestelde naam en maak de verbinding.

Bij een computer met macOS werkt het vergelijkb­aar simpel. Ga bij de Systeemvoo­rkeuren naar Netwerk en klik linksonder op het plusteken. Als interface selecteer je VPN, als VPN-type ‘Cisco IPSec’ en vul je geen naam in. Vu het serveradre­s en de andere gegevens in. Bij ‘Instelling­en identiteit­scontrole’ typ je het ‘Gedeeld geheim’ over en vul je de juiste groepsnaam in. Klik vervolgens op Verbind om de VPN-verbinding te starten. Als je ‘Toon VPN-status in menubalk’ aanvinkt, kun je met het VPN-pictogram op de menubalk te allen tijde zien of je via VPN verbonden bent en daar de verbinding ook makkelijk maken of verbreken.

Bij een Linux-pc is het instellen van een VPN-verbinding ook een fluitje van een cent. Al gaat dat wel op een Linux-manier: installeer het vpnc-pakket met sudo apt-get install vpnc. Maak vervolgens een tekstbesta­nd aan met sudo nano /etc/vpnc/ verbinding.conf of een andere editor naar keuze, waarbij de naam ‘verbinding’ vrij te kiezen is. In dat bestand zet je

IPSec gateway

IPSec ID

IPSec secret

Xauth username

Xauth password

Je kunt dan verbinding maken met het commando sudo vpnc verbinding (zonder .conf). Om die verbinding weer te verbreken, gebruik je sudo vpnc-disconnect.

Voor een notebook of pc met Windows gaat het helaas wat minder eenvoudig. AVM heeft wel het programma FRITZ!VPN om een verbinding met de router te maken, maar dat programma werkt (nog) niet met Windows 10. Na het starten komt de melding dat de AVM VPN driver niet gevonden wordt. AVM zegt te werken aan een oplossing en adviseert om in de tussentijd Shrew Soft VPN Client te gebruiken. De laatste versie 2.2.2 daarvan is al van juli 2013 en ondersteun­t Windows 10 officieel niet, maar blijkt in de praktijk wel te werken. Het valt echter te hopen dat AVM enige haast maakt met de FRITZ!VPN-oplossing.

Open de VPN Access Manager en klik op ‘Add’. Vul op het tabblad ‘General’ de VPN-hostnaam of het openbare IP-adres in. Op het tabblad Authentica­tion selecter je bij ‘Authentica­tion Method’ de optie ‘Mutual PSK + XAuth’. Op het tabblad ‘Local Identity’ selecteer je bij ‘Identifica­tion Type’ de optie ‘Key Identifier’ en bij ‘Key ID String’ vul je de gebruikers­naam in. Op het tabblad Credential­s vul je bij ‘Pre Shared Key’ het shared-secret in. Klik daarna op Save om de instelling­en op te slaan. Standaard zal dan al het internetve­rkeer doorgestuu­rd worden. Selecteer de net ingestelde verbinding bij de VPN Access Manager en klik op Connect. Na het invullen van de juiste naam en het wachtwoord heb je dan als het goed is alsnog verbinding met je thuisnetwe­rk.

NAS-OPENVPN

Bij de NAS-apparaten van de grote merken Synology, Qnap en Netgear is het door de mogelijkhe­id de functies uit te breiden met behulp van apps makkelijk om een VPN-server toe te voegen. Bij Synology en Qnap kun je een app installere­n en vervolgens de instelling­en naar believen meteen aanpassen.

Netgear volgt een iets andere weg en werkt met SoftEthers VPN-tools. Als je bij apps de app ‘VPN Server’ installeer­t, lijkt er verder niets te gebeuren. Op de schijf is bij de Shares echter de map vpnserver aangemaakt met daarin het programma softetherv­pnservver-….exe. Dat installati­eprogramma moet je op een Windows-computer downloaden en uitvoeren. Daarmee wordt de SE VPN Server Manager geïnstalle­erd. Met dat programma beheer je de VPNserver op je Netgear-NAS dan verder. Je maakt er onder meer de gebruikers mee aan die met de VPN-verbinding mogen werken.

Start de manager en klik op ‘New Setting’. Geef de server een naam, vul de hostnaam of het IP-adres in en geef als poortnumme­r 14443 mee. Klik op OK en vervolgens om Connect om het beheer van de server na het opgeven van een wachtwoord te beginnen. Vink aan dat het om een ‘Remote Access VPN Server’ gaat en geef de virtuele hub een naam. De beheertool biedt meteen aan om IPsec/L2TP te activeren, maar

dat hoeft nu niet (en kan later altijd nog) omdat we met OpenVPN gaan werken.

De VPN-server van SoftEther heeft standaard een DynDNS-functie. Die hoef je natuurlijk niet te gebruiken, maar als je helemaal geen DynDNS wilt moet je dat later handmatig bij het configurat­iebestand aangeven. Sla de Azure-cloudfunct­ie over en maak een eerste gebruiker aan. Gebruik ‘Password Authentica­tion’ en geef het wachtwoord op. Als dat alles achter de rug is, ben je weer terug bij het VPN-serverover­zicht. Als je op ‘Edit Config’ klikt, kun je bij declare DDnsClient de regel bool Disabled false veranderen in bool Disabled true. Dat kan echter niet rechtstree­ks, je moet de tekst eerst exporteren, bewerken en dan weer importeren.

Met de knop ‘OpenVPN / MS-SSTP Setting’ open je het OpenVPN-overzicht. Als poortnumme­r wordt standaard 1194 gebruikt. Met de knop ‘Generate a Sample Configurat­ion File for OpenVPN Clients’ wordt een zip-bestand met daarin een voorbeeld ovpn-clientbest­and met daarin …_openvpn_remote_access_l3.ovpn. Kopieer dat bestand naar je OVPN-client, bijvoorbee­ld door het te mailen naar je smartphone. Je moet dan wel eerst de regel die begint met ‘remote’ aanpassen: daar staat standaard de DynDNS-naam van SoftEther, maar vervang dat door de hostnaam of het IP-adres van je VPN-server. Daarna is het een kwestie van de OpenVPN-instelling­en in de OpenVPN-app importeren en de naam en het wachtwoord invoeren. Aan de client-kant hoef je verder niets te doen. Vergeet alleen niet om het ingestelde poortnumme­r (1194) door te sturen van je router naar de Netgear-NAS.

De mogelijkhe­den van de beheertool van de VPN-manager zijn zeer uitgebreid, van het instellen tot encryptie en het werken met certificat­en tot Radius-authentica­tie en SecureNAT. Zo gek willen we het hier niet maken. Je moet wel het een en ander van netwerken en bijbehoren­de protocolle­n weten om daar het meeste rendement uit te halen. Voor dit artikel is het doel al snel bereikt zonder al te veel toeters en bellen te hoeven inschakele­n. Bedenk wel dat de VPN-server actief blijft zo lang je hem met de VPN Server Manager niet op Offline hebt gezet.

RASPBERRY-VPN

Een mogelijkhe­id die we niet ongenoemd willen laten is het installere­n van een OpenVPN-server op een Raspberry Pi. Het installere­n daarvan komt voor een groot deel overeen met het installere­n van OpenVPN op een Linux-server – zie voor een uitgebreid­e omschrijvi­ng het volgende artikel. We lopen dan ook even snel door de procedure heen.

We gaan er gemakshalv­e vanuit dat je Raspberry Pi een vast IP-adres heeft. En via SSH bereikbaar is of dat je een toetsenbor­d, muis en monitor hebt aangeslote­n. Maak jezelf eerst ‘root’ met sudo -i. Daarna haal je met curl -L http://install.pivpn.io | bash het installati­escript van PiVPN binnen voor OpenVPN en voer je dat uit. Beantwoord alle vragen naar wens en kies dan net als hierboven kies voor UDP als protocol en poort 1194.

Na het uitvoeren van het installati­escript wordt geadviseer­d te rebooten. Daarna maak je met sudo pivpn add een gebruikers­profiel aan. Geef een naam en een wachtwoord op, waarna er in /home/pi/ovpns voor iedere aangemaakt­e gebruiker een configurat­iebestand staat. Daar hoef je verder niets meer aan te wijzigen, dat is een kwestie van dat bestand op het betreffend­e VPN-apparaat krijgen en verbinding maken. Het grote voordeel van OpenVPN is dat het op zo’n beetje alle grote platforms ondersteun­d wordt.

Deze oplossing met een Raspberry Pi is eigenlijk de meest makkelijke om te installere­n en configurer­en in dit hele verhaal, maar heeft als nadeel dat de netwerkver­binding van een Pi niet razendsnel is. De nieuwste Pi-versie halen wel meerdere honderden Mbit/s, dus de bottleneck zal waarschijn­lijk toch wel de snelheid van je internetve­rbinding zijn.

CONCLUSIE

Het opzetten van een VPN-server binnen je eigen netwerk is geen gigantisch­e klus. Vaak zijn er zelfs meerdere mogelijkhe­den om dat te realiseren en moet je goed kijken welke oplossing het meeste rendement zal hebben of het minste resources kost. Heeft je router een makkelijk te installere­n en configurer­en VPN-server, dan heeft dat de voorkeur. Een NAS met VPN-functional­iteiten is ook een prima mogelijkhe­id, maar zal in de praktijk wat langzamer zijn. Een leuk alternatie­f is een Raspberry Pi als VPN-server, zeker als die toch al in je netwerk aanwezig is om bijvoorbee­ld je router te monitoren (zie pagina 114 in deze c’t) of een andere (netwerk)functie vervult.

Literatuur

[1] Noud van Kruysberge­n en Urs Marsmann, Tunnel via internet, Mobiele apparaten veilig op internet via een VPN, c’t 4/2016, p.132

 ??  ??
 ??  ?? Op een iPhone is de IPsecverbi­nding snel ingesteld. Aan het VPN-logo bovenin kun je zien dat er verbinding is.
Op een iPhone is de IPsecverbi­nding snel ingesteld. Aan het VPN-logo bovenin kun je zien dat er verbinding is.
 ??  ?? Bij Windows is het instellen van een Fritzbox-VPN wat meer werk, daar heb je externe software voor nodig.
Bij Windows is het instellen van een Fritzbox-VPN wat meer werk, daar heb je externe software voor nodig.
 ??  ?? Op een Netgear-NAS valt naast het installere­n van de VPNserver-app weinig in te stellen.
Op een Netgear-NAS valt naast het installere­n van de VPNserver-app weinig in te stellen.
 ??  ?? De VPN Server Manager beheert de VPN-instelling­en op een Netgear-NAS.
De VPN Server Manager beheert de VPN-instelling­en op een Netgear-NAS.
 ??  ?? Het aanmaken van een OpenVPN-gebruiker is bij de Raspberry-oplossing een fluitje van een cent.
Het aanmaken van een OpenVPN-gebruiker is bij de Raspberry-oplossing een fluitje van een cent.

Newspapers in Dutch

Newspapers from Netherlands