WireGuard op MikroTik

wireguard netwerk
Wat is WireGuard en hoe werkt het?

WireGuard is een moderne VPN-tunnel die direct in de Linux-kernel is ingebakken. Het is ontworpen met één doel: zo eenvoudig en snel mogelijk zijn, zonder concessies aan veiligheid. De volledige implementatie beslaat minder dan 4.000 regels code — ter vergelijking: OpenVPN telt er tientallen keren meer.

De kern van WireGuard is cryptokey routing: elke peer wordt geïdentificeerd door een publieke sleutel (een 32-byte Curve25519-punt), en aan elke sleutel hangt een lijst van toegestane IP-adressen. Er zijn geen certificaatautoriteiten, geen onderhandelingen over cipher suites en geen expliciete verbindingsstatus.

Handshake in één ronde. WireGuard gebruikt een 1-RTT handshake gebaseerd op het Noise-protocol. Na slechts één pakket heen en één pakket terug beschikken beide kanten over symmetrische sessiesleutels. Versleuteling gebeurt met ChaCha20-Poly1305, sleuteluitwisseling met Curve25519 en hashing met BLAKE2s.

Stilte als verdediging. WireGuard reageert nooit op ongeauthenticeerde pakketten. Voor een aanvaller is de server onzichtbaar — hij lijkt niet te bestaan. Dit is fundamenteel anders dan OpenVPN, dat altijd reageert op verbindingspogingen.

Perfect forward secrecy. Sessiesleutels worden automatisch elke 120 seconden vernieuwd. Wie in het verleden versleuteld verkeer heeft opgenomen, kan dit nooit achteraf ontsleutelen.

Waarom WireGuard in plaats van OpenVPN?
Eigenschap WireGuard OpenVPN
Codebase < 4.000 regels ~100.000+ regels
Protocol UDP (altijd) TCP of UDP
Handshake 1-RTT Multi-RTT TLS
Versleuteling ChaCha20-Poly1305 (vast) Configureerbaar
Doorvoer (gemeten) ~1.011 Mbps ~258 Mbps
Latentie (ping) ~0,4 ms ~1,5 ms
Kernelintegratie Ja (Linux 5.6+) Nee (userspace)
Roaming Automatisch Vereist herverbinding

De doorvoercijfers komen uit het originele WireGuard-paper van Jason Donenfeld (NDSS 2017). Op mijn eigen netwerk – zie het bericht hierover – verzadigt WireGuard de gigabitverbinding moeiteloos, terwijl OpenVPN de CPU volledig belastte zonder de gigabit te halen.

Een groot praktisch voordeel is roaming. Als ik onderweg van WiFi naar 5G switch, herpakt WireGuard de verbinding automatisch op basis van het nieuwe bron-IP. Bij OpenVPN was een expliciete herverbinding nodig.

Wanneer gebruik je WireGuard, en waarom al het verkeer via de tunnel?

Ik gebruik WireGuard voor twee doelen: veilige toegang tot mijn thuisnetwerk (NAS, camera’s, router) als ik onderweg ben, en al het internetverkeer via mijn eigen infrastructuur laten lopen zodat AdGuard Home altijd actief is.

Voor dat tweede doel gebruik ik een full tunnel (AllowedIPs = 0.0.0.0/0, ::/0). Het voordeel is dat AdGuard Home op de DS923 dan ook reclame, malware sites, trackers en adult-content filtert, ongeacht welk netwerk de client gebruikt. Op een hotelnetwerk of café-WiFi is al het verkeer versleuteld en gefilterd.

Aandachtspunt: routing loop op het thuisnetwerk. Als je full tunnel gebruikt en tegelijk op het thuisnetwerk WiFi zit, ontstaat een routing loop: het verbindingspakket naar de WireGuard-server probeert zelf ook door de tunnel te gaan — maar de tunnel bestaat nog niet. Oplossing: voeg een statische Windows-route toe zodat het publieke IP van de server altijd buiten de tunnel om gaat: route add 45.138.229.49 mask 255.255.255.255 192.168.30.1 -p

Afgeschermde pagina
Deze inhoud is beveiligd met een wachtwoord. Controleer met een wachtwoord om de inhoud te ontgrendelen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *