Wireguard is een nieuwe mogelijkheid om een VPN verbinding te maken. Er zijn al verschillende mogelijkheden zoals OpenVPN of bijvoorbeeld een SSTP of L2TP verbinding. Ook dit zijn veilige opties omdat bij L2TP bijvoorbeeld de IPSEC encryptie gebruikt kan worden.

Toch hebben ze hun nadelen en Wireguard lost vele uitdagingen op. De configuratie is eenvoudig en het is cross-platform m.a.w. het wordt op vele systemen zoals Windows, iOS, Android, macOS en Linux ondersteunt. Daarnaast is het een ‘stil’ protocol, er wordt niets gestuurd als het niet nodig is, er zijn geen processen die luisteren op een poort en als er een tussenliggende router is met een firewall en/of NAT functie dan is er een eenvoudige optie om de Wireguard verbinding in stand te houden. Tenslotte wordt er gebruik gemaakt van een zeer lange public en private key voor de encryptie. Daarbovenop kun je nog een preshared key gebruiken waardoor de encryptie zelfs quantum computer proof is.

Kortom, de voordelen van Wireguard zijn de eenvoudige configuratie, de veiligheid en de performance.

In versie 7 van Mikrotik wordt Wireguard ondersteunt. In onderstaande screenshots zie je een voorbeeld van Mikrotik naar Mikrotik.

Klik in winbox op het menu Wireguard, klik op de plus en volgend scherm verschijnt:

Je ziet dat de Private key en Public key er nog niet zijn. Klik nu op Apply en zie daar, ze worden gegenereerd.

Als dit de server kant is dan hebben de clients die een VPN willen opzetten de public key nodig.

Een client die een VPN wil opzetten doet precies hetzelfde. Ook die krijgt dan een Public key. Die moet de server dan weten.

De tweede stap is het aanmaken van een client die contact mag maken, een Peer. Klik daarvoor op het tabblad Peer en op de plus. Volgend scherm verschijnt dan:

Vul hier dan de key in van de server. De server vult dan de key in van de client.

De client moet nog aangeven op welk IP adres de server is te vinden, dit is het Endpoint. Vaak is dat dus het IP adres van de router. De server hoeft dat niet in te vullen, het kan zijn dat een client steeds vanaf een ander IP adres contact maakt (vanaf huis, vanaf een hotel etc.). Tenslotte moet de client nog de poort invullen, standaard is dit 13231 bij Mikrotik.

De verbinding is er nu. Het moeilijkste concept is nu het veld ‘Allowed Address’. Als je daar 0.0.0.0/0 invult dan werkt het altijd, alle IP adressen zijn dan toegstaan. Als je daar wat anders invult dan moet het source-ip van inkomend verkeer daar aan voldoen en het destination-ip van uitgaand verkeer daar aan voldoen. Dat geeft extra veiligheid maar je mag daar dus 0.0.0.0/0 invullen.

Let op dat je nu een interface hebt gemaakt. Wil je daar verkeer over hebben dan moet je een route aangeven in de route tabel. Op de server kant moet dan wel de poort open staan in de firewall, de Listenport van de interface, protocol UDP. Let wel, er draait dus geen deamon o.i.d. op, een poort scan zal niets vinden.

Tenslotte kun je in onderstaand schema aflezen wat er eigenlijk gebeurt bij een wireguard verbinding.