SSD Nodes Learn Hosting plans →
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-08-07

WireGuard of OpenVPN: welke VPN kiezen voor self-hosting?

WireGuard wint op snelheid en configuratiegemak. Ontdek waarom dit de standaard is en in welke vier specifieke scenario's OpenVPN nog steeds de juiste keuze voor u is.

Het korte antwoord

WireGuard versus OpenVPN is voor één persoon die een VPN-server op een eigen VPS draait geen lastige keuze: kies WireGuard. Het is compacter, draait binnen de Linux-kernel, maakt in een fractie van een seconde verbinding en een werkende clientconfiguratie beslaat ongeveer tien regels. OpenVPN heeft vier specifieke taken; als geen van deze voor u van toepassing is, heeft u het niet nodig.

Die vier taken zijn: het verlaten van een netwerk dat alleen TCP-poort 443 toestaat, het koppelen aan een bestaande certificaatautoriteit, het verifiëren van gebruikers met een wachtwoord of een tweede factor, en het bridgen op Layer 2. Hieronder vindt u de onderbouwing voor dit advies en het exacte punt waarop elke uitzondering voor u relevant wordt.

Waarom WireGuard de voorkeur geniet voor self-hosters

De codebase is klein genoeg om te lezen. Het WireGuard-project houdt de protocolimplementatie op ongeveer 4.000 regels code. OpenVPN telt er honderdduizenden als u de OpenSSL-bibliotheek meetelt, waarop het leunt voor elke cryptografische operatie. Omvang is van belang omdat elke regel code een aanvalsoppervlak vormt, en noch u, noch uw reviewer zal 100.000 regels lezen. 4.000 regels zijn wel te overzien.

Het draait in de kernel. WireGuard zit sinds versie 5.6 in de mainline Linux-kernel, waardoor Ubuntu 24.04 en Debian 13 het standaard meeleveren zonder dat er iets gecompileerd hoeft te worden. Pakketten worden versleuteld op de plek waar ze zich al bevinden, in de kernel-space, zonder kopie naar een userspace-proces en terug. Controleer dit als eerste:

sudo modprobe wireguard && echo ok

Op een KVM VPS geeft dit ok terug. Bij container-virtualisatie die de host-kernel deelt, zoals OpenVZ of LXC, faalt dit met Operation not supported, omdat u geen module kunt laden in een kernel die niet van u is.

Er valt niets te onderhandelen. WireGuard heeft één vaste cipher suite: ChaCha20-Poly1305 voor data, met Curve25519-sleutels. Er is geen versie om naar te downgraden en geen optie die u verkeerd kunt instellen. OpenVPN onderhandelt per client over de cipher en de TLS (transport layer security)-versie; dit biedt flexibiliteit, maar is ook de plek waar configuratiefouten ontstaan. Een server die is achtergebleven met data-ciphers AES-256-GCM:AES-128-CBC zal zonder problemen terugvallen op de CBC-cipher voor een client die niets beters aanbiedt, en in de logs wordt dit niet als een probleem gemarkeerd.

De poort antwoordt niet. Een WireGuard-pakket dat niet door de authenticatiecontrole komt, wordt zonder antwoord verwijderd. Hierdoor geeft nmap -sU -p 51820 de status open|filtered terug, ongeacht of er iets luistert of niet. Een OpenVPN-server in TCP-modus voltooit de TCP-handshake voordat wordt besloten dat u niet welkom bent; dit is voldoende bewijs voor een scanner dat er een service actief is. OpenVPN over UDP met tls-crypt is bijna net zo stil, dus dit is eerder een argument tegen het draaien van OpenVPN over TCP dan tegen OpenVPN zelf.

Roaming is gratis. Een WireGuard-peer wordt geïdentificeerd aan de hand van zijn publieke sleutel, niet op basis van zijn adres. Uw laptop verplaatst zich van thuis naar een mobiele hotspot, verstuurt één handshake vanaf het nieuwe adres, en de server werkt het endpoint waarnaar hij antwoordt bij. Er hoeft niets opnieuw verbonden te worden omdat er nooit een actieve verbinding was. OpenVPN kan iets vergelijkbaars met float, maar de client verbreekt en herbouwt normaal gesproken een volledige TLS-sessie. Daarom is de pauze bij het openklappen van de laptop merkbaar bij OpenVPN en niet bij WireGuard.

Snelheid in 2026: het gat is gedicht

Jarenlang was het eerlijke argument over snelheid dat OpenVPN elk pakket naar userspace kopieerde, het daar versleutelde en weer terugkopieerde, terwijl WireGuard nooit de kernel verliet. Dat is niet langer het volledige beeld en een vergelijking die dit negeert, is verouderd.

OpenVPN 2.7 werd in februari 2026 uitgebracht met ondersteuning voor de upstream ovpn kernelmodule, die werd samengevoegd in Linux 6.16. Dit is DCO (data channel offload): het controlekanaal blijft in userspace en het bulk-datapad verplaatst zich naar de kernel, wat ongeveer is wat WireGuard altijd al deed. Op een kernel en een OpenVPN-versie die nieuw genoeg zijn om dit te gebruiken, bevindt de doorvoersnelheid zich in dezelfde klasse in plaats van in een andere. Controleer wat u daadwerkelijk heeft:

uname -r
openvpn --version | head -n 1
modinfo ovpn 2>/dev/null | head -n 3

Sinds juli 2026 levert een standaard Ubuntu 24.04 LTS OpenVPN 2.6, niet 2.7, en de ovpn module vereist 2.7. Op die release krijgt u offload alleen via het oudere openvpn-dco-dkms pakket, dat een out-of-tree module bouwt tegen uw actieve kernel en daarom herbouwt bij elke kernel-upgrade. Dat is een bewegend onderdeel dat WireGuard niet heeft.

Lees de kleine lettertjes over DCO voordat u dit als reden ziet om te blijven. Het ondersteunt alleen Layer 3-tunnels, accepteert alleen AEAD-ciphers (authenticated encryption with associated data: AES-GCM of ChaCha20-Poly1305), ondersteunt geen compressie en werkt op een server alleen met topology subnet. Elk van deze beperkingen verwijdert een deel van de flexibiliteit die in de eerste plaats het argument voor OpenVPN was. Snelle OpenVPN is OpenVPN geconfigureerd om op WireGuard te lijken.

Vertrouw niemand zijn gepubliceerde doorvoersnelheid, inclusief deze pagina. Het plafond op een VPS is meestal de CPU-toewijzing of de netwerklimiet in plaats van het protocol. Meet uw eigen snelheid met iperf3 die over de tunnel draait, daarna opnieuw erbuiten, en vergelijk de twee.

Waar OpenVPN nog steeds van waarde is

U moet verkeer versturen via TCP-poort 443. WireGuard is bewust alleen UDP en er komt geen TCP-modus. Een hotelnetwerk of een bedrijfs-proxy die alleen TCP 443 toestaat, laat OpenVPN door als dit is geconfigureerd met proto tcp-server en port 443, omdat dat verkeer eruitziet als een normale TLS-sessie. WireGuard heeft een wrapper nodig zoals wstunnel of udp2raw om hetzelfde netwerk te doorkruisen; dit is een extra proces dat moet draaien en moet worden bijgewerkt. Let op het conflict: als een webserver al TCP 443 bezet op dat IP-adres, moet een van beide verhuizen.

U beheert al een certificate authority. OpenVPN authenticeert met X.509-certificaten, waardoor het naadloos integreert in een PKI (public key infrastructure) die u al gebruikt. Certificaten verlopen automatisch en u trekt er een in door deze toe te voegen aan een certificate revocation list die de server inleest via crl-verify. WireGuard heeft geen certificaten, geen verloopdatum en geen revocation list. Het verwijderen van een peer betekent dat u de serverconfiguratie moet bewerken en opnieuw moet laden. Bij tien peers is dat prima. Bij vierhonderd, met een audit-vereiste, verricht het certificaatmodel echt werk voor u.

U heeft benoemde gebruikers nodig, niet alleen sleutels. OpenVPN kan authenticatie uitbesteden aan een extern systeem met auth-user-pass-verify of een plugin zoals openvpn-plugin-auth-pam.so; dit is hoe men LDAP of een second factor met een eenmalig wachtwoord toevoegt. WireGuard heeft geen enkel concept van een gebruiker. Een sleutel staat in de configuratie of niet. Als uw vereiste is "Sara moet een code van haar telefoon invoeren", dan kan WireGuard dat niet zelfstandig afhandelen.

U heeft Layer 2 nodig, of een client voor verouderde systemen. OpenVPN met dev tap overbrugt Ethernet-frames, wat van belang is voor broadcast-protocollen en oude LAN-games. WireGuard is uitsluitend Layer 3 en zal dat altijd blijven. OpenVPN heeft bovendien clients voor hardware en besturingssystemen die nooit een WireGuard-app zullen krijgen. Beide redenen worden steeds minder relevant, en dev tap is incompatibel met DCO, dus u kiest voor de trage weg wanneer u de bridge gebruikt.

Wat de twee configuraties u daadwerkelijk kosten

Een WireGuard-identiteit is één commando, en de haakjes zijn van belang omdat deze de bestandsmodus instellen voordat de sleutel bestaat:

(umask 077; wg genkey > private.key)
wg pubkey < private.key > public.key

Het OpenVPN-equivalent is een certificaatautoriteit (CA) die u vanaf nu bezit zolang de VPN bestaat:

sudo apt install -y easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
./easyrsa init-pki
./easyrsa build-ca
./easyrsa gen-req server nopass
./easyrsa sign-req server server

Geen van beide lijsten is onredelijk. De CA biedt u vervaldata en intrekkingsmogelijkheden, maar het kost u een privésleutel die u jarenlang moet beveiligen, een vernieuwing die u moet onthouden en een volledige herbouw als u de sleutel verliest. Als u geen gebruikmaakt van de voordelen die dit biedt, betaalt u voor niets. De volledige WireGuard-procedure, inclusief forwarding, NAT (network address translation) en de handshake-fouten die een hele middag in beslag kunnen nemen, vindt u in de handleiding voor het zelf hosten van een WireGuard VPN op uw VPS.

Wat elk protocol van uw firewall vereist

WireGuard heeft precies één inkomende regel nodig, voor UDP op de poort in ListenPort:

sudo ufw allow 51820/udp
sudo ufw status verbose

OpenVPN heeft standaard UDP 1194 nodig, of TCP 443 als u voor dat pad heeft gekozen. Beide protocollen vereisen vervolgens dat IP forwarding is ingeschakeld en dat er een source NAT-regel aanwezig is, omdat een Linux-server pakketten negeert die niet aan het eigen adres zijn gericht. Dat onderdeel is identiek voor beide protocollen, en het is de meest voorkomende oorzaak van meldingen waarbij "de tunnel verbinding maakt, maar er geen internettoegang is". Als u niet bekend bent met ufw, begin dan bij de basis van de ufw firewall op een VPS, en onthoud dat de meeste providers een tweede netwerkfirewall in hun configuratiescherm gebruiken: een regel die u op de server heeft toegevoegd, doet niets als het pakket de server nooit bereikt. Het begrijpen van wat een poort is en hoe Linux op een poort luistert maakt beide controles sneller.

Hoe u een keuze maakt

Gebruik WireGuard, tenzij u een specifieke reden heeft waarom dit protocol niet aan uw eisen voldoet. Indien u TCP 443 nodig heeft om een restrictief netwerk te omzeilen, gebruik dan OpenVPN; u kunt beide protocollen naast elkaar op één server draaien, aangezien ze verschillende poorten gebruiken en elkaar niet hinderen. Indien u gebruikersaccounts of tweefactorauthenticatie vereist, probeer dit dan niet binnen WireGuard zelf op te lossen. Implementeer in plaats daarvan een identiteitslaag bovenop het protocol. Een zelfgehoste Headscale-controlserver gebruikt WireGuard als basis en voegt het accountbeheer, de sleuteldistributie en de goedkeuring van apparaten toe die bij standaard WireGuard ontbreken.

Migreren van OpenVPN zonder downtime

Er is geen conversie mogelijk. De PKI van OpenVPN kan niet worden omgezet naar WireGuard-keys, omdat WireGuard geen certificaten gebruikt. Elke client krijgt een nieuw sleutelpaar, dat op dezelfde wijze wordt gegenereerd als dat van de server.

Migreer parallel in plaats van direct over te schakelen. WireGuard op UDP 51820 en OpenVPN op 1194 kunnen tegelijkertijd op dezelfde server draaien. Start daarom wg0, controleer dit met sudo wg show om een recente latest handshake te zien, en verplaats daarna de clients één voor één. Wanneer de peer-lijst van OpenVPN niet meer wijzigt, stopt u de service met sudo systemctl disable --now openvpn-server@server. Bewaar de CA-bestanden totdat u zeker bent van de migratie; het opnieuw aanmaken van een ingetrokken client op een verwijderde CA is niet mogelijk.

Eén aspect kan niet worden overgezet: uw gebruikersnamen en wachtwoorden, en de bijbehorende administratie van ingetrokken toegangsrechten. Bepaal waar dit wordt beheerd voordat u de oude server uitschakelt, niet daarna.

FAQ

Is WireGuard sneller dan OpenVPN?

Op een standaard Ubuntu 24.04-server wel, en met een aanzienlijk verschil. Dit komt doordat WireGuard in de kernel versleutelt, terwijl OpenVPN 2.6 elk pakket door een userspace-proces stuurt. Met OpenVPN 2.7 en de ovpn-kernelmodule uit Linux 6.16 bevindt het datapad zich eveneens in de kernel en presteren beide vergelijkbaar. Meet uw eigen resultaten met iperf3 over de tunnel in plaats van af te gaan op cijfers uit een blog; op een VPS wordt de limiet meestal bepaald door uw CPU of de beschikbare bandbreedte.

Kan WireGuard draaien over TCP-poort 443?

Niet uit zichzelf. WireGuard is ontworpen voor uitsluitend UDP en er is geen TCP-modus gepland. Om een netwerk te doorkruisen dat alleen TCP 443 toestaat, verpakt u het in een tunnel zoals wstunnel of udp2raw. Dit voegt aan beide kanten een proces toe dat moet worden uitgevoerd en onderhouden. Als die beperking uw normale werkomgeving is, is OpenVPN met proto tcp-server en port 443 de eenvoudigere oplossing.

Is OpenVPN tegenwoordig onveilig?

Nee. Een actuele versie van OpenVPN met een AEAD-cipher zoals AES-256-GCM en ingeschakelde tls-crypt is een solide VPN. De argumenten voor WireGuard rusten op iets anders: OpenVPN bevat veel meer code en opties, waardoor een vermoeide beheerder veel meer mogelijkheden heeft om het verkeerd te configureren. Minder keuzes betekent minder foutieve keuzes.

Wat moet ik kiezen voor een persoonlijke VPN op een VPS?

WireGuard. Eén sleutelpaar per apparaat, één configuratiebestand van ongeveer tien regels, één open UDP-poort en een handshake die voltooid is voordat u merkt dat deze is begonnen. Kies alleen voor OpenVPN als u regelmatig verbinding maakt vanaf netwerken die UDP blokkeren, of als u moet integreren met een bestaande certificaatautoriteit of gebruikersdirectory.