VPNSmith
vps-comparatifsCOMP

OpenVPN vs WireGuard : comparatif technique approfondi 2026

Comparatif OpenVPN vs WireGuard : cipher, handshake, kernel vs userspace, batterie mobile, NAT, DPI. Recommandations par cas d'usage 2026.

Par Eric Gerard · Fondateur · VPNSmith - Spécialiste self-host VPN & VPS GDPR13 min de lecturePhoto via Unsplash

Tu hésites entre OpenVPN et WireGuard pour ton VPN self-host sur Contabo (ou Hetzner, ou OVH). Tu lis partout "WireGuard plus rapide" sans jamais comprendre pourquoi. Ce comparatif technique tranche : on regarde la crypto sous le capot, la mécanique du handshake, l'impact kernel vs userspace, la conso batterie mobile, l'historique d'audits - et on te donne la procédure iperf3 reproductible pour vérifier la différence sur ton propre VPS.

Spoiler : WireGuard gagne sur quasiment tous les axes. OpenVPN garde deux niches légitimes.

Pourquoi ce match-up reste pertinent en 2026

On pourrait s'attendre à ce que la question OpenVPN versus WireGuard soit résolue depuis 2020, et pourtant le débat continue sur tous les forums sysadmin. Trois raisons l'expliquent.

D'abord, OpenVPN garde une base installée massive. La plupart des appliances réseau d'entreprise (Cisco AnyConnect compatible, Pulse Secure, certaines configurations Fortinet) parlent encore OpenVPN nativement ou via un adaptateur. Les setups VPN d'entreprise legacy ont rarement migré pour des raisons de stabilité et de coût d'audit conformité. Si tu rejoins une équipe sysadmin qui maintient un VPN d'entreprise hérité depuis 2015, OpenVPN va te servir pendant encore 5-10 ans avant que le management accepte une migration. Connaître la comparaison technique est donc utile pour défendre une stratégie de migration interne.

Ensuite, les conditions de réseau hostile où OpenVPN garde une légère avance via TCP mode et port 443 ne sont pas marginales. Les WiFi d'hôtel, certains hotspots cafés en Asie, les VPN portuaires aux frontières - tous restreignent à HTTPS et bloquent UDP par défaut. WireGuard pur ne passe pas dans ces conditions sans surcouche (wstunnel ou Cloak), et la surcouche ajoute 5-15 % de latence et de la complexité. OpenVPN-TCP-443 reste le hack le plus simple quand tu n'as ni le temps ni les outils pour déployer wstunnel.

Enfin, l'audit cryptographique d'OpenVPN reste plus mature. OpenVPN avec OpenSSL est revue par des académiques depuis 2005 et a accumulé 19 ans d'écosystème d'analyse. WireGuard utilise des primitives modernes (Noise Protocol Framework) qui sont magnifiquement designées mais avec un historique d'audit cumulé plus court. Pour un environnement réglementé comme la santé ou la défense qui exige des certifications cryptographiques formelles, OpenVPN a parfois encore l'avantage par défaut d'inertie.

Ces trois nuances ne suffisent pas à recommander OpenVPN comme choix par défaut pour un déploiement neuf en 2026 - c'est WireGuard sur 90 % des cas - mais elles expliquent pourquoi le comparatif technique reste utile à publier.

Quelle est la différence entre WireGuard et OpenVPN ?

WireGuard utilise un stack crypto moderne figé (Curve25519, ChaCha20-Poly1305), intégré comme module noyau Linux (~5 000 lignes). OpenVPN est un daemon userspace configurable (~70 000 lignes) basé sur OpenSSL. Le handshake 1,5 RTT de WireGuard se connecte bien plus vite que le handshake TLS multi-roundtrip d'OpenVPN, et sur lien rapide WireGuard tourne plus proche du débit de la ligne tandis qu'OpenVPN perd davantage de débit dans l'overhead userspace.

Architecture et primitives crypto

Le delta de performance vient d'abord du modèle architectural, pas seulement du code.

OpenVPN

  • Userspace (process openvpn)
  • Crypto : choix configurable via --cipher, --auth, --tls-cipher. AES-256-GCM par défaut depuis 2.6.
  • Negotiation TLS classique : multi-round-trip, certificats X.509, CRL, OCSP. Standard mais lourd.
  • Bibliothèques externes : OpenSSL ou mbedTLS. Toutes les CVE OpenSSL impactent OpenVPN.
  • Codebase : ~70 000 lignes C (sans dépendances).

WireGuard

  • Kernel module (depuis Linux 5.6, mainline), ou implémentations userspace (wireguard-go sur macOS/Windows).
  • Crypto : figée par design. Pas de négociation. Curve25519 (key exchange), ChaCha20-Poly1305 (chiffrement), BLAKE2s (hash), HKDF (KDF), SipHash24.
  • Handshake Noise IKpsk2 : 1.5 round-trips, état stocké minimal côté serveur, pas de certificat.
  • Pas de dépendance crypto externe : tout est in-tree.
  • Codebase : ~5 000 lignes C côté kernel.

Cette différence d'1 ordre de grandeur (5k vs 70k) explique pourquoi WireGuard a pu être audité de bout en bout par Cure53 en 2021. Tu peux faire pareil pour OpenVPN - mais c'est ~6 mois de boulot vs ~3 semaines pour WireGuard.

Vitesse de handshake

Une mesure utile à faire toi-même : combien de temps entre wg-quick up (ou openvpn) et le premier paquet routable ?

L'écart est structurel et bien documenté. WireGuard fait son key exchange en 1,5 RTT (handshake Noise, sans certificat), donc l'établissement de connexion est quasi instantané. OpenVPN demande 6 à 8 aller-retours (TCP handshake + TLS handshake + auth + push config), et le mode TCP en ajoute encore - son établissement de connexion est donc un ordre de grandeur plus lent. Pour des chiffres propres à ton lien, chronomètre plusieurs cycles up et garde la médiane.

Conséquence pratique : sur 4G qui switche d'antenne (roaming), WireGuard reconnecte instantanément ; OpenVPN met 1-2 secondes parfois plus, et tu perds des paquets visibles dans tes outils.

Kernel module vs userspace : pourquoi c'est massif

Quand un paquet passe en userspace, il fait l'aller-retour kernel → userspace → kernel : 2 changements de contexte CPU, copies mémoire, scheduler. À 1 Gbps, ça représente 80 000 paquets/seconde minimum, donc 160 000 context switches.

Avec WireGuard en kernel module, le paquet ne quitte jamais le kernel. Pas de context switch, pas de copie. Le throughput dépend du CPU disponible, mais le plafond effectif est typiquement 3-5× celui d'OpenVPN userspace à CPU équivalent.

Parce que WireGuard tourne dans le kernel et qu'OpenVPN chiffre en userspace, WireGuard atteint un plafond de débit côté serveur bien plus élevé avant que le CPU ne sature - typiquement plusieurs fois celui d'OpenVPN à CPU équivalent. ChaCha20 a tendance à devancer AES-256-GCM sur du matériel sans AES-NI, car AES s'appuie sur ce jeu d'instructions.

Sur un lien de sortie modeste (par ex. les 200 Mbit/s annoncés par Contabo), aucun des deux ne sature le CPU : tous deux remplissent le lien - la vraie différence ici, c'est le profil de latence : WireGuard n'ajoute presque rien par paquet, OpenVPN ajoute davantage à cause de l'aller-retour userspace.

Débit WireGuard vs OpenVPN (typique)

Sur un lien rapide (100+ Mbps), le schéma attendu est constant et découle directement de l'architecture :

  • WireGuard UDP reste au plus près du débit de la ligne brute (perte la plus faible), avec la latence ajoutée la plus basse et le moins de retransmissions.
  • OpenVPN UDP perd nettement plus de débit que WireGuard car chaque paquet traverse la frontière kernel/userspace ; ChaCha20 est habituellement un peu plus rapide qu'AES-256-GCM sur CPU sans AES-NI.
  • OpenVPN TCP est le plus lent des trois - le « TCP-over-TCP meltdown » sous perte ajoute retransmissions et latence - et devrait être réservé aux réseaux qui bloquent totalement l'UDP.

Ce sont des tendances, pas des chiffres issus d'un labo privé - tes valeurs exactes dépendent de ton VPS, ton CPU et ton lien. Pour obtenir les tiennes, lance la procédure reproductible du guide benchmarks WireGuard vs OpenVPN avec iperf3 sur ton propre serveur.

Mesurer toi-même, de façon reproductible

Des câbles réseau en fibre optique lumineux
Des câbles réseau en fibre optique lumineux

Plutôt que d'afficher des chiffres invérifiables, voici la démarche pour obtenir tes propres résultats sur ta propre infrastructure :

Environnement à documenter

  • Serveur : ton VPS (modèle, vCPU, RAM, datacenter)
  • Client : ta machine et ton lien (FAI, débit nominal)
  • OS serveur et version du kernel (ex. Ubuntu 24.04 LTS, kernel 6.8)
  • Version WireGuard (module kernel) et version OpenVPN (ex. 2.6.x, TLS 1.3, AES-256-GCM par défaut)

Quoi mesurer et avec quoi

CritèreOutilConditions
Débit (Mbps down/up)iperf3 sur plusieurs créneauxdurée 30 s/run, médiane retenue
Latence ajoutéeping ICMP, jitter calculécomparer avec/sans tunnel
Fuites DNSipleak.net + dnsleaktest.comtunnel actif
Kill switchip link set eth0 down tunnel actifvérifier que la route par défaut tombe avec le tunnel
Reconnexion après bascule réseautemps entre coupure et premier paquet routableen conditions de mobilité

Juridiction - Si tu héberges chez Contabo GmbH (siège à Munich, Allemagne), le droit applicable est le RGPD (règlement UE 2016/679). Vérifie la juridiction et la politique de logs annoncées par ton hébergeur dans ses CGV.

Impact batterie sur mobile

Sur téléphone, le protocole le plus léger tend à consommer un peu moins de batterie pour la même charge de travail. L'avantage de WireGuard vient du chiffrement plus simple (ChaCha20-Poly1305 sans négociation vs AES-GCM avec négociation TLS) et de l'absence de keepalive TLS - juste un keepalive UDP optionnel toutes les 25 s. OpenVPN, surtout en mode TCP, garde plus d'état et fait plus de travail par paquet, donc sous un tunnel always-on prolongé il tire en général un peu plus de courant. La différence est modeste et ne se voit vraiment que sur de longues sessions.

Historique d'audits et CVE

OpenVPN

  • Premier audit indépendant complet : 2017 (OSTIF + QuarksLab + Cryptography Engineering). 2 vulnérabilités majeures trouvées dont une RCE.
  • CVE depuis : ~28 entries CVE (2018-2025), dont 3 RCE.
  • Surface d'attaque : OpenVPN + OpenSSL (codebases additionnés ~500 000 lignes C/C++).
  • Réputation : solide après 22 ans en production, mais le poids historique se voit.

WireGuard

  • Audit Cure53 (2018) sur l'implémentation Linux. 0 vulnérabilité critique.
  • Audit formel des primitives crypto (papier IEEE S&P 2018) - preuve mathématique du protocole Noise IKpsk2.
  • CVE depuis : 0 critique côté kernel, quelques bugs implémentation wireguard-go (userspace) résolus en moins de 7 jours.
  • Surface d'attaque : ~5 000 lignes C kernel.

Pour un attaquant, WireGuard est ~14× plus dur à fuzzer profondément qu'OpenVPN simplement parce qu'il y a moins de code à fuzzer.

Quand faut-il garder OpenVPN plutôt que WireGuard ?

Conserve OpenVPN si tu as besoin de TCP sur le port 443 pour traverser des pare-feux d'entreprise ou d'hôtel qui bloquent l'UDP sortant, si tu dois prendre en charge des appareils anciens (Windows avant la version 10, Android avant la version 5.0), ou si des exigences d'audit formel (ISO 27001, NIS2) rendent le logging par connexion d'OpenVPN plus simple à justifier. Dans tous les autres cas, WireGuard est le meilleur choix.

Trois cas où OpenVPN reste défendable :

  1. TCP obligatoire : certains pare-feu corporate bloquent UDP en sortie. OpenVPN sait faire TCP natif. WireGuard nécessite un wrapper (wstunnel, udp2raw) qui complique le setup.
  2. Port 443 standard : OpenVPN sur 443/TCP passe pour du HTTPS auprès des DPI basiques. Pratique en hôtel ou en réseau d'entreprise stricte.
  3. Compatibilité legacy : clients Windows < 10, Android < 5, iOS < 12, routeurs domestiques entrée de gamme - WireGuard n'a pas toujours de client officiel. OpenVPN est partout depuis 2002.

Pour les cas 1 et 2, on peut quand même tunneler WireGuard via udp2raw en fake TCP/443 - voir les templates WireGuard 2026, template 7.

Quand passer à WireGuard

Tous les autres cas. Et notamment :

  • VPN auto-hébergé sur VPS personnel (Contabo, Hetzner, OVH) - gain perf + setup simple
  • VPN mobile (iOS, Android) - gain batterie + reconnexion rapide
  • Site-to-site avec liens haut débit (>100 Mbps) - gain throughput net
  • Hub-and-spoke entre plusieurs sites - gain config (5 lignes vs 30 lignes par peer)
  • Roadwarrior multi-pays - gain handshake instantané au changement de réseau

Si tu pars de zéro aujourd'hui sur un VPS Contabo neuf, le choix par défaut doit être WireGuard. OpenVPN reste une option de repli pour les cas exotiques.

Migration OpenVPN → WireGuard sans downtime

Tu as déjà OpenVPN en prod ? Migration propre en 4 étapes :

  1. Déployer WireGuard en parallèle sur le même VPS, port 51820, subnet 10.66.66.0/24 (différent du subnet OpenVPN).
  2. Adapter les règles iptables : MASQUERADE des deux subnets, pas de FORWARD entre eux.
  3. Migrer les clients un par un, en testant la connectivité depuis chacun avant de supprimer son cert OpenVPN.
  4. Désactiver OpenVPN : systemctl stop openvpn-server@server puis disable. Garder la config 30 jours au cas où, ensuite apt remove openvpn.

Aucun downtime, aucun client laissé sans VPN. Pour une flotte de quelques dizaines de peers, une migration progressive comme celle-ci se fait généralement en deux semaines environ, sans interruption de service.

Questions fréquentes

Est-ce qu'utiliser WireGuard ou OpenVPN est légal en France ?

Oui, l'utilisation d'un VPN - quel que soit le protocole, WireGuard ou OpenVPN - est parfaitement légale en France. Un VPN est un outil réseau standard utilisé par des millions de particuliers et d'entreprises pour sécuriser leurs communications. La loi française (et le droit européen) n'interdit ni la technologie ni l'usage d'un VPN pour protéger sa vie privée, télétravailler en sécurité, ou accéder à des ressources d'entreprise à distance. L'illégalité éventuelle ne porte pas sur l'outil mais sur l'usage : utiliser un VPN pour commettre des actes illicites (fraude, piratage, contournement d'injonction judiciaire) reste interdit. En France, les hébergeurs ont l'obligation de conserver les données de connexion (IP, horodatage) conformément à la directive européenne sur la conservation des données, mais le chiffrement du contenu par VPN est légal.

Comment configurer WireGuard sur Android pas à pas ?

  1. Installer le client officiel : WireGuard pour Android (open source, maintenu par l'équipe WireGuard).
  2. Obtenir la configuration depuis votre serveur - soit en scannant un QR code (wg showconf wg0 | qrencode -t ansiutf8), soit en téléchargeant le fichier .conf via une connexion sécurisée.
  3. Importer le profil : dans l'app, appuyer sur le bouton + → "Scanner depuis QR code" ou "Importer depuis fichier".
  4. Activer le tunnel : basculer l'interrupteur à côté du profil. L'icône de clé apparaît dans la barre d'état.
  5. Vérifier l'absence de fuite DNS : visiter ipleak.net avec le tunnel actif - votre IP réelle ne doit pas apparaître.

Notre guide complet setup VPN sur Contabo inclut les commandes pour générer le QR code côté serveur.

WireGuard protège-t-il vraiment contre les fuites DNS ?

Par défaut, WireGuard ne configure pas de résolveur DNS - c'est à vous de le spécifier dans le fichier wg0.conf avec le paramètre DNS =. Si ce paramètre est absent ou mal configuré, vos requêtes DNS peuvent contourner le tunnel et révéler votre résolveur réel (fuite DNS).

Configuration recommandée dans [Interface] :

DNS = 1.1.1.1, 9.9.9.9

Ou, pour utiliser le résolveur de votre VPS (plus privé) :

DNS = 10.66.66.1

Avec le paramètre DNS correctement renseigné et AllowedIPs = 0.0.0.0/0, ::/0 (tunnel full), WireGuard force la résolution DNS dans le tunnel : tu peux le vérifier toi-même sur ipleak.net / dnsleaktest.com, tunnel actif. OpenVPN présente le même comportement si la directive block-outside-dns est activée (Windows) ou si redirect-gateway def1 est utilisé (Linux).

Verdict

WireGuard est le choix par défaut en 2026 pour la grande majorité des cas self-host. Plus rapide sur lien rapide (moins de débit perdu dans l'overhead), plus simple (~5k lignes vs ~70k), plus léger sur la batterie mobile, audité de bout en bout. OpenVPN reste pertinent pour TCP-only, port 443 strict, ou compatibilité legacy.

Si tu veux le setup complet WireGuard sur VPS Contabo, le guide pas-à-pas te mène de l'inscription Contabo au premier ping. Le provider qu'on recommande est Contabo Cloud VPS 10 (5,50 €/mois sur 24 mois).

Et pour les templates de config prêts à coller : Templates WireGuard 2026.

Tu ne sais pas quel provider choisir pour ton serveur WireGuard ? Le comparateur VPS interactif filtre Contabo, Hetzner et OVH par latence depuis ta région, RAM et prix 24 mois - exactement les critères qui comptent pour un nœud de sortie VPN. Une fois le provider choisi, skip la génération manuelle de clés : notre générateur de config WireGuard produit un wg0.conf vérifié et prêt à coller en moins d'une minute.

★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis

Lance le VPS de ce guide → ContaboIPv4 publique · root complet · localisations UE & US

Questions fréquentes

WireGuard est-il vraiment plus rapide partout ?
Sur lien 100+ Mbps oui - WireGuard reste bien plus proche du débit de la ligne brute qu'OpenVPN UDP, de façon constante, grâce à son implémentation kernel et son overhead par paquet plus faible. À &lt;10 Mbps, la différence devient marginale car c'est le débit du lien, pas le CPU, qui devient le bottleneck.
OpenVPN est-il plus sécurisé ?
Non. WireGuard utilise des primitives modernes (Curve25519, ChaCha20-Poly1305, BLAKE2s) auditées par Cure53. OpenVPN reste solide mais sa surface d'attaque (~70 000 lignes de C) est 14× celle de WireGuard (~5 000 lignes en kernel module).
Quand garder OpenVPN ?
Si tu as besoin de TCP-only (bypass certains pare-feu corporate), de port 443 standard, ou de support natif iOS/Android avant 12.0. WireGuard est UDP-only (TCP via wstunnel possible).