Om thuis een VPN-server te hebben, moeten er eerst een aantal dingen voorbereid worden
Je hebt als het goed is een abonnement bij een ISP (Internet Server Provider) oftewel een internetabonnement. Van jouw aanbieder (Ziggo, KPN, Telfort, Tele2, XS4ALL, ...) heb je waarschijnlijk ook een modem/router gekregen. Deze is er uiteraard om thuis internet te ontvangen. Deze router krijgt van jouw aanbieder een IP-adres en dit is erg belangrijk, want zonder IP-adres kun je geen internetpagina's ontvangen. Een IP (Internet Protocol) is het protocol om apparaten/servers op het internet met elkaar te communiceren. Elke keer als je een verzoek doet naar google.nl, wordt dit voor het internet vertaalt naar bijvoorbeeld 172.217.12.67 (IPv4 protocol) of 2607:f8b0:4000:816::2003 (IPv6). Dit wordt gedaan door DNS-servers die een hele lijst hebben van welk IP-adres hoort bij welke domeinnaam.
Echter zal het IP-adres wat je van je ISP krijgt niet altijd een vast adres zijn. Over het algemeen blijft dit wel een lange tijd vast staan, maar het kan wel eens veranderen. De afgelopen twee jaar is dit bij mij één keer gebeurt. Om te kijken wat het externe IP-adres van jouw router is, moet je gaan naar http://watismijnip.nl/. Dit adres moet ook in de serverconfiguratie gezet worden, maar als dit adres wijzigt, moet de hele serverconfiguratie aangepast worden. En daar komt dynamisch DNS om de hoed kijken. In plaats van dat je jouw IP-adres in de configuratie zet, kun je ook bijvoorbeeld een webadres toevoegen zoals mijnvpn.dnsdynamic.com:
De DNS-servers op het internet zullen dit webadres dan vertalen naar het betreffende IP-adres. Dus als het IP-adres van jouw router opeens gewijzigd wordt, hoef je alleen maar in te loggen op https://www.dnsdynamic.org/ en daar je IP-adres te wijzigen onder "Edit existing domains".
Port forwarding wordt gebruikt om bepaald internetverkeer door te sturen naar een bepaalde server/computer in jouw netwerk. Al het internet/netwerk verkeer wordt eigenlijk door verschillenden poortjes verstuurt. Zo wordt het normale internetverkeer naar poort 80 (http) gestuurd en beveiligd internetverkeer poort 443 (https). Voor meer informatie over poorten verwijs ik je maar het internet. Bijvoorbeeld https://www.vtmgroep.nl/info/poorten-en-poortnummers.
Maar het gaat er eigenlijk om dat bepaald verkeer wat in dit geval gestuurd wordt naar poort 1194 (TCP, UDP OpenVPN). In sommige gevallen is het zelfs handiger om dit door te sturen naar poort 443 (https), omdat er dan geen verschil is met standaard https-verkeer. Dit is handig omdat het heel af en toe wel eens kan voorkomen dat verkeer via poort 1194 geblokkeerd wordt. Als je dit dan over poort 443 verstuurt, wordt het eigenlijk gemaskeerd als standaard https-verkeer. Oftewel als een website waar een certificaat geïnstalleerd staat zoals van je bank.
Een voorbeeld van de port forwarding staat hieronder:
Zoals je kunt zien wordt het het bereik (range) van poort 1194 doorgestuurd naar een bepaald IP-adres in mijn netwerk (192.168.0.33). Dat is het IP-adres van mijn Raspberry Pi waarop ik de VPN-server heb geïnstalleerd. Zoals je ziet is ook poort 22 doorgestuurd naar dat IP-adres. Dat is, zodat ik ook van van buiten mijn netwerk in kan loggen op mijn Raspberry Pi om bijvoorbeeld instellingen aan te passen.
Elke router heeft natuurlijk zijn eigen interface, maar het zou overal mogelijk moet zijn om dit in te stellen. Gewoon een kwestie van zoeken of in de handleiding van je router kijken.
Inloggen op je router doe je via je browser door het IP-adres van je router in te typen. Het IP-adres van je router kun je op de volgende manieren vinden:
open een terminal en typ het volgende commando:
ip routeopen een terminal en typ het volgende commando:
ipconfigZoals je kunt zien heeft mijn router (gateway) het IP-adres 192.168.0.1