VPNSmith
vps-comparatifsCOMP

OpenVPN vs WireGuard: confronto tecnico approfondito 2026

Approfondimento tecnico su OpenVPN vs WireGuard: cifratura, handshake, kernel vs userspace, batteria mobile, storia degli audit e una procedura di benchmark iperf3 riproducibile per il tuo VPS.

Di Eric Gerard · Fondateur · VPNSmith — Spécialiste self-host VPN & VPS GDPR10 min letturaPhoto via Unsplash

Sei indeciso tra OpenVPN e WireGuard per il tuo VPN self-hosted su Contabo (o Hetzner, OVH). Leggi ovunque che "WireGuard è più veloce" senza mai capire perché. Questo confronto tecnico risolve la questione: analizziamo la crittografia sotto il cofano, le meccaniche di handshake, l'impatto del kernel rispetto all'userspace, il consumo della batteria mobile e la storia degli audit — e ti forniamo la procedura riproducibile iperf3 così puoi verificare la differenza sul tuo VPS.

Spoiler: WireGuard vince praticamente su ogni fronte. OpenVPN mantiene due nicchie legittime.

Perché questo confronto è ancora rilevante nel 2026

Ti aspetteresti che il dibattito OpenVPN vs WireGuard sia risolto dal 2020, eppure continua su ogni forum di sysadmin. Tre ragioni spiegano perché.

Primo, OpenVPN mantiene una base installata massiccia. La maggior parte degli apparati di rete aziendali (compatibili con Cisco AnyConnect, Pulse Secure, alcune configurazioni Fortinet) parlano ancora nativamente OpenVPN o tramite un adattatore. Le configurazioni VPN aziendali legacy raramente sono migrate per ragioni di stabilità e audit di conformità. Se entri a far parte di un team di sysadmin che gestisce una VPN aziendale ereditata dal 2015, OpenVPN ti servirà per altri 5-10 anni prima che la direzione accetti una migrazione. Conoscere il confronto tecnico è quindi utile per difendere una strategia di migrazione interna.

Secondo, condizioni di rete ostili dove OpenVPN mantiene un leggero vantaggio tramite la modalità TCP e la porta 443 non sono marginali. WiFi degli hotel, alcuni hotspot di caffè asiatici, VPN di confine portuale — tutti si limitano a HTTPS e bloccano UDP per impostazione predefinita. WireGuard puro non passa in queste condizioni senza un overlay (wstunnel o Cloak), e l'overlay aggiunge il 5-15% di latenza e complessità. OpenVPN-TCP-443 rimane il trucco più semplice quando non hai né il tempo né gli strumenti per implementare wstunnel.

Infine, l'audit crittografico di OpenVPN rimane più maturo. OpenVPN con OpenSSL è stato esaminato dagli accademici dal 2005 e ha accumulato 19 anni di ecosistema di analisi. WireGuard utilizza primitive moderne (Noise Protocol Framework) che sono splendidamente progettate ma con una storia di audit cumulativa più breve. Per un ambiente regolamentato come quello sanitario o della difesa che richiede certificazioni crittografiche formali, OpenVPN a volte ha ancora il vantaggio predefinito per inerzia.

Queste tre sfumature non giustificano il consiglio di raccomandare OpenVPN come scelta predefinita per un nuovo deployment nel 2026 — WireGuard vince nel 90% dei casi — ma spiegano perché il confronto tecnico valga ancora la pena di essere pubblicato.

Qual è la differenza tra WireGuard e OpenVPN?

WireGuard utilizza uno stack crittografico moderno fisso (Curve25519, ChaCha20-Poly1305) costruito come modulo del kernel Linux (~5.000 righe). OpenVPN è un demone configurabile in userspace (~70.000 righe) che si basa su OpenSSL. L'handshake 1.5-RTT di WireGuard si connette molto più velocemente dell'handshake TLS multi-roundtrip di OpenVPN, e su un collegamento veloce WireGuard funziona più vicino alla velocità di linea mentre OpenVPN perde più throughput a causa dell'overhead dell'userspace.

Architettura e primitive crittografiche

La differenza di prestazioni deriva innanzitutto dal modello architetturale, non solo dal codice.

OpenVPN

  • Userspace (processo openvpn)
  • Crittografia: configurabile tramite --cipher, --auth, --tls-cipher. AES-256-GCM di default dalla versione 2.6.
  • Negoziazione TLS classica: multi-roundtrip, certificati X.509, CRL, OCSP. Standard ma pesante.
  • Librerie esterne: OpenSSL o mbedTLS. Ogni CVE di OpenSSL colpisce OpenVPN.
  • Codice: ~70.000 righe di C (senza dipendenze).

WireGuard

  • Modulo del kernel (da Linux 5.6, mainline), o implementazioni in userspace (wireguard-go su macOS/Windows).
  • Crittografia: fissata per design. Nessuna negoziazione. Curve25519 (scambio chiavi), ChaCha20-Poly1305 (cifratura), BLAKE2s (hash), HKDF (KDF), SipHash24.
  • Handshake Noise IKpsk2: 1.5 round-trips, stato lato server minimo, nessun certificato.
  • Nessuna dipendenza crittografica esterna: tutto è in-tree.
  • Codice: ~5.000 righe di C lato kernel.

Questa differenza di ordine di grandezza (5k vs 70k) è il motivo per cui WireGuard potrebbe essere completamente auditato end-to-end da Cure53 nel 2021. Puoi fare lo stesso per OpenVPN — ma richiede ~6 mesi di lavoro contro ~3 settimane per WireGuard.

Velocità di handshake

Una cosa utile da cronometrare da soli: quanto tempo passa tra wg-quick up (o openvpn) e il primo pacchetto instradabile?

La ragione del divario è strutturale e ben documentata. WireGuard esegue il suo scambio di chiavi in un handshake Noise 1.5-RTT senza certificato, quindi l'impostazione della connessione è quasi istantanea. OpenVPN necessita di 6 a 8 round-trips (handshake TCP + handshake TLS + auth + push config), e la modalità TCP aggiunge ancora di più, quindi l'impostazione della connessione è di un ordine di grandezza più lenta. Per ottenere numeri per il tuo collegamento, cronometra diversi cicli up e mantieni la mediana.

Conseguenza pratica: su 4G cambiando antenne (roaming), WireGuard si riconnette istantaneamente; OpenVPN impiega 1-2 secondi a volte di più, e perdi pacchetti visibili nei tuoi strumenti.

Modulo kernel vs userspace: perché è importante

Quando un pacchetto attraversa l'userspace, fa il viaggio kernel → userspace → kernel: 2 cambi di contesto CPU, copie di memoria, coinvolgimento dello scheduler. A 1 Gbps, sono almeno 80.000 pacchetti/secondo, quindi 160.000 cambi di contesto.

Con WireGuard come modulo del kernel, il pacchetto non lascia mai il kernel. Nessun cambio di contesto, nessuna copia. Il throughput dipende dalla CPU disponibile, ma il limite effettivo è tipicamente 3-5× quello di OpenVPN in userspace a parità di CPU.

Poiché WireGuard funziona nel kernel e OpenVPN cifra in userspace, WireGuard raggiunge un limite di throughput lato server molto più alto prima che la CPU si saturi — tipicamente diverse volte quello di OpenVPN a parità di CPU. ChaCha20 tende a superare AES-256-GCM su hardware senza AES-NI, poiché AES si appoggia su quel set di istruzioni.

Con un collegamento di uscita modesto (ad esempio, i 200 Mbit/s pubblicizzati da Contabo), nessuno dei due protocolli satura la CPU, quindi entrambi possono riempire il collegamento — la differenza pratica lì è il profilo di latenza: WireGuard aggiunge quasi nessuna latenza per pacchetto, OpenVPN ne aggiunge di più a causa del round trip in userspace.

Throughput WireGuard vs OpenVPN (tipico)

Su un collegamento veloce (100+ Mbps), il pattern atteso è coerente e segue direttamente dall'architettura:

  • WireGuard UDP rimane più vicino alla velocità di linea grezza (perdita minore), con la latenza aggiunta più bassa e il minor numero di ritrasmissioni.
  • OpenVPN UDP perde sensibilmente più throughput di WireGuard perché ogni pacchetto attraversa il confine kernel/userspace; ChaCha20 è solitamente un po' più veloce di AES-256-GCM su CPU senza AES-NI.
  • OpenVPN TCP è il più lento dei tre — il meltdown TCP-over-TCP sotto perdita aggiunge ritrasmissioni e latenza — e dovrebbe essere riservato a reti che bloccano completamente UDP.

Queste sono tendenze, non cifre da un laboratorio privato — i tuoi numeri esatti dipendono dal tuo VPS, CPU e collegamento. Per ottenere i tuoi, esegui la procedura riproducibile nella guida al benchmark WireGuard vs OpenVPN con iperf3 sul tuo server.

Impatto sulla batteria mobile

Cavi di rete in fibra ottica luminosi
Cavi di rete in fibra ottica luminosi

Su telefoni, il protocollo più leggero tende a consumare un po' meno batteria per lo stesso carico di lavoro. Il vantaggio di WireGuard deriva da crittografia più semplice (ChaCha20-Poly1305 senza negoziazione vs AES-GCM con una negoziazione TLS) e nessun keepalive TLS — solo un keepalive UDP opzionale ogni 25 s. OpenVPN, specialmente in modalità TCP, mantiene più stato e fa più lavoro per pacchetto, quindi sotto un tunnel sempre attivo sostenuto generalmente consuma un po' più di energia. La differenza è modesta e si manifesta davvero solo in sessioni lunghe.

Storia degli audit e CVE

OpenVPN

  • Primo audit indipendente completo: 2017 (OSTIF + QuarksLab + Cryptography Engineering). 2 vulnerabilità principali trovate, inclusa una RCE.
  • CVE da allora: ~28 voci CVE (2018-2025), incluse 3 RCE.
  • Superficie di attacco: OpenVPN + OpenSSL (codice combinato ~500.000 righe C/C++).
  • Reputazione: solida dopo 22 anni in produzione, ma il peso storico si fa sentire.

WireGuard

  • Audit Cure53 (2018) sull'implementazione Linux. 0 vulnerabilità critiche.
  • Audit formale delle primitive crittografiche (IEEE S&P 2018 paper) — prova matematica del protocollo Noise IKpsk2.
  • CVE da allora: 0 critiche lato kernel, alcuni bug wireguard-go (userspace) risolti in meno di 7 giorni.
  • Superficie di attacco: ~5.000 righe kernel C.

Per un attaccante, WireGuard è ~14× più difficile da fuzzare profondamente rispetto a OpenVPN semplicemente perché c'è meno codice da fuzzare.

Quando dovresti mantenere OpenVPN invece di WireGuard?

Mantieni OpenVPN quando hai bisogno di TCP sulla porta 443 per bypassare firewall aziendali o degli hotel che bloccano UDP in uscita, quando devi supportare dispositivi legacy (Windows prima della versione 10, Android prima della 5.0), o quando i requisiti di audit trail formali (ISO 27001, NIS2) rendono più facile la conformità con il logging per connessione di OpenVPN. Per tutti gli altri casi, WireGuard è la scelta migliore.

Tre casi in cui OpenVPN rimane difendibile:

  1. TCP obbligatorio: alcuni firewall aziendali bloccano UDP in uscita. OpenVPN gestisce TCP nativamente. WireGuard necessita di un wrapper (wstunnel, udp2raw) che complica l'installazione.
  2. Porta standard 443: OpenVPN su 443/TCP sembra HTTPS ai DPI di base. Utile in hotel o reti aziendali rigide.
  3. Compatibilità legacy: Windows < 10, Android < 5, iOS < 12, router domestici di fascia bassa — WireGuard non sempre fornisce un client ufficiale. OpenVPN è ovunque dal 2002.

Per i casi 1 e 2, puoi comunque tunnelare WireGuard tramite udp2raw in falso TCP/443 — vedi WireGuard templates 2026, template 7.

Quando passare a WireGuard

Tutto il resto. In particolare:

  • VPN self-hosted su VPS personale (Contabo, Hetzner, OVH) — guadagno di prestazioni + installazione semplice
  • VPN mobile (iOS, Android) — guadagno di batteria + riconnessione veloce
  • Site-to-site con collegamenti ad alta larghezza di banda (>100 Mbps) — chiaro guadagno di throughput
  • Hub-and-spoke tra diversi siti — guadagno di configurazione (5 righe vs 30 righe per peer)
  • Roadwarrior multi-paese — handshake istantaneo al cambio di rete

Se stai iniziando da zero oggi su un nuovo VPS Contabo, la scelta predefinita deve essere WireGuard. OpenVPN è un ripiego per casi esotici.

Migrazione OpenVPN → WireGuard senza downtime

Stai già eseguendo OpenVPN in produzione? Migrazione pulita in 4 passaggi:

  1. Distribuisci WireGuard in parallelo sullo stesso VPS, porta 51820, subnet 10.66.66.0/24 (distinta dalla subnet di OpenVPN).
  2. Adatta le regole iptables: MASQUERADE entrambe le subnet, nessun FORWARD tra di esse.
  3. Migra i client uno per uno, testando la connettività di ciascuno prima di rimuovere il suo certificato OpenVPN.
  4. Disabilita OpenVPN: systemctl stop openvpn-server@server poi disable. Mantieni la configurazione per 30 giorni per sicurezza, poi apt remove openvpn.

Nessun downtime, nessun client lasciato senza VPN. Per una flotta di alcune decine di peer, una migrazione graduale come questa può essere completata in un paio di settimane senza interruzione del servizio.

Verdetto

WireGuard è la scelta predefinita nel 2026 per la grande maggioranza dei casi self-host. Più veloce su collegamenti veloci (meno throughput perso per overhead), più semplice (~5k righe vs ~70k), più leggero sulla batteria mobile e auditato end-to-end. OpenVPN rimane rilevante per TCP-only, porta 443 rigorosa o compatibilità legacy.

Se vuoi l'installazione completa di WireGuard su VPS Contabo, la guida passo-passo ti guida dalla registrazione su Contabo al primo ping. Il provider che consigliamo è /go/contabo-vps-2y — VPS S Cloud €4,99/mese per 24 mesi.

E per i template di configurazione pronti per l'uso: WireGuard Templates 2026.

Non sei sicuro di quale provider scegliere per il tuo server WireGuard? Il comparatore VPS interattivo filtra Contabo, Hetzner e OVH per latenza dalla tua regione, RAM e prezzo a 24 mesi — i criteri esatti che contano per un nodo di uscita VPN. Una volta scelto un provider, salta la generazione manuale delle chiavi: il nostro generatore di configurazione WireGuard produce un wg0.conf verificato e pronto per il copia-incolla in meno di un minuto.

★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · 200+ Mbps garantiti

Spin up the VPS from this guide → ContaboPublic IPv4 · full root · EU & US locations