Come configurare una VPN con OpenVPN in modo sicuro e completo

Ultimo aggiornamento: 16/10/2025
Autore: Isaac
  • OpenVPN offre una sicurezza avanzata con TLS 1.2/1.3, AEAD e tls-crypt.
  • La scelta tra AES-GCM e ChaCha20 dipende da hardware e prestazioni.
  • PKI con Easy-RSA e policy per client consentono controllo e revoca.
  • I test di perdita DNS/IPv6 e la messa a punto del percorso garantiscono un utilizzo senza sorprese.

Configurazione OpenVPN passo dopo passo

Se stai cercando un modo affidabile per proteggere le tue connessioni o accedere alla tua rete da qualsiasi luogo, OpenVPN è uno dei protocolli più sicuri e versatili che puoi implementare a casa o in azienda. Questa guida ti illustra il processo passo dopo passo: cos'è, cosa ti serve, come configurarlo su Linux , Windows e router e come connettere client su sistemi diversi.

Oltre a imparare ad attivarlo e disattivarlo, apprenderai come configurare la crittografia moderna, evitare errori comuni, rilevare perdite DNS/IPv6 e ottimizzare le prestazioni . Questo include le modalità TUN e TAP, la differenza tra tls-crypt e tls-auth, l'utilizzo di Access Server, le implementazioni su Omada e ASUS e suggerimenti chiave per CG-NAT, routing e firewall.

Cos'è una VPN e perché OpenVPN?

vpn

Una VPN crea un tunnel crittografato tra il tuo dispositivo e un server, in modo che il tuo vero indirizzo IP venga nascosto e i tuoi dati viaggino in modo sicuro . Questo ti consente di lavorare da remoto in tutta sicurezza, accedere a risorse interne o aggirare le restrizioni geografiche in modo responsabile.

OpenVPN, dal canto suo, è un software libero e un protocollo ampiamente verificato che funziona su Windows, macOS, GNU/Linux, iOS e Android , nonché su molti router . Si basa su SSL/TLS, supporta i certificati digitali e l'autenticazione aggiuntiva tramite nome utente e password.

Vantaggi e svantaggi dell'utilizzo di una VPN

Tra i vantaggi più evidenti ci sono la privacy e la sicurezza: il traffico è crittografato, il tracciamento è ridotto al minimo e si può navigare con maggiore tranquillità . Consente inoltre un accesso remoto sicuro alle reti interne, aspetto fondamentale in ambito professionale.

Inoltre, molte persone utilizzano le VPN per accedere a contenuti disponibili in altri Paesi o su reti che applicano blocchi , sempre nel rispetto delle leggi e dei termini di servizio di ciascuna piattaforma.

Di contro, la velocità può essere influenzata dalla crittografia e dal rimbalzo dei pacchetti , soprattutto nei servizi gratuiti o se l'algoritmo è scelto male su hardware privo di accelerazione. È inoltre importante prestare attenzione all'origine delle applicazioni per evitare malware.

Prestazioni OpenVPN: velocità, latenza e stabilità

Con una configurazione adeguata, OpenVPN offre velocità costanti, bassa latenza e alta stabilità . In generale, l'utilizzo di UDP riduce l'overhead rispetto a TCP ed è più veloce nella maggior parte dei casi.

  Daisy, la nonna AI che capovolge le truffe telefoniche

Sui sistemi sprovvisti di AES-NI (accelerazione hardware), ChaCha20-Poly1305 offre generalmente prestazioni migliori rispetto ad AES-GCM . Se la CPU supporta l'accelerazione AES, provate entrambi per decidere; a volte AES-GCM garantisce una velocità di trasmissione superiore.

Qual è lo scopo di configurare OpenVPN a casa o al lavoro?

Configurare un server personale consente di navigare in modo sicuro anche da reti Wi-Fi pubbliche, accedere a Internet come se si fosse a casa e utilizzare servizi interni come file, stampanti, telecamere IP o server NAS.

Tuttavia, avrai bisogno di un indirizzo IP pubblico o di una soluzione per aggirare il CG-NAT (Carrier-Grade NAT), poiché non riceverai connessioni in entrata senza porte aperte . Connessioni con buone velocità di upload (ad esempio, 30 Mbps o superiori) migliorano notevolmente l'esperienza.

Modalità TUN e TAP: quale scelgo?

OpenVPN può operare al livello 3 (TUN) o al livello 2 (TAP). TUN crea un tunnel IP punto-punto ed è la modalità più comune per instradare sottoreti separate con un overhead ridotto.

La modalità TAP funziona come un bridge Ethernet e incapsula i frame L2, risultando utile se gli endpoint devono trovarsi sulla stessa sottorete , ma aggiunge traffico e potenziali conflitti quando le sottoreti si sovrappongono.

Versioni consigliate di crittografia e TLS

Per i certificati, oggi è molto comune utilizzare EC (curve ellittiche) con secp521r1 e SHA-512 come algoritmo di hash , a condizione che client e server siano compatibili e aggiornati.

Sul canale di controllo (TLS), ridurre al minimo TLS 1.2 e abilitare TLS 1.3 se disponibile con suite come TLS_AES_256_GCM_SHA384 o TLS_CHACHA20_POLY1305_SHA256. PFS tramite ECDHE deve essere presente.

Per il canale dati, AES-256-GCM o CHACHA20-POLY1305 sono opzioni affidabili . Entrambi sono AEAD, quindi non richiedono un'autenticazione separata. Evitate algoritmi di cifratura obsoleti come BF-CBC.

Rafforza la prima fase di negoziazione con tls-crypt (o tls-crypt-v2, se necessario) per mitigare gli attacchi DoS e nascondere i metadati dai pacchetti iniziali. tls-auth è compatibile con le versioni precedenti, ma tls-crypt offre la crittografia del canale HMAC.

Preparazioni essenziali

Prima di iniziare: verifica il tuo indirizzo IP pubblico, apri la porta sul tuo router e assicurati di non essere dietro un CG-NAT . Se non disponi di un indirizzo IP statico, valuta la possibilità di utilizzare il DDNS per associare un nome di dominio al tuo IP dinamico.

Sui server Linux, preparare Easy-RSA 3 per l'infrastruttura a chiave pubblica (PKI) e mantenere aggiornate le librerie OpenVPN e crittografiche . Su Windows, l'interfaccia grafica di OpenVPN installa i driver TAP e fornisce esempi di configurazione.

  Perché il pagamento PayPal è in sospeso?

Installazione e configurazione su GNU/Linux (Debian/Ubuntu) con Easy-RSA 3

Installa il pacchetto tramite APT: `sudo apt update && sudo apt install openvpn` . Successivamente, scarica Easy-RSA 3, estrailo e configura il file `vars` con i parametri EC, curve e hash desiderati.

Esempi utili: set_var EASYRSA_ALGO ec; set_var EASYRSA_CURVE secp521r1; set_var EASYRSA_DIGEST 'sha512' . Utilizzare la modalità cn_only se si preferisce semplificare i DN nel Common Name.

Inizializza la PKI con ./easyrsa init-pki , crea la tua Autorità di Certificazione con ./easyrsa build-ca (con passphrase per la chiave privata della CA, altamente raccomandato) e genera richieste e chiavi per il server e per ogni client con ./easyrsa gen-req name.

Firma il certificato del server con `./easyrsa sign-req server server_name` e i certificati del client con `./easyrsa sign-req client client_name` . Quindi, crea la chiave HMAC con `openvpn --genkey --secret ta.key` per tls-crypt.

Organizza le cartelle in modo da non perderti: una per il server (ca.crt, server.crt, server.key, ta.key) e una per ogni client con il relativo file crt, key, ca e ta.key.

Esempio di configurazione del server OpenVPN (Linux)

Regola la porta e il protocollo (UDP consigliato), scegli dev tun, definisci cipher e tls-ciphersuites, la curva ECDH e la versione minima di TLS . Imposta inoltre la sottorete virtuale, il DNS da inoltrare e i permessi utente sul demone.

Uno scheletro di server (da adattare al proprio ambiente): utilizzare percorsi locali, DNS e crittografia compatibili con i client . Ricordare che con la crittografia AEAD non è necessaria un'autenticazione separata.

port 1194
proto udp
dev tun

ca ca.crt
cert servidor.crt
key servidor.key
dh none

# HMAC y ocultación del canal inicial
tls-crypt ta.key

# Cifrado y TLS (comprobar compatibilidad)
cipher AES-256-GCM
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
tls-version-min 1.2
ecdh-curve secp521r1
reneg-sec 0

# Topología y red virtual
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Rutas y DNS para clientes
push 'route 192.168.1.0 255.255.255.0'
push 'redirect-gateway def1'
push 'dhcp-option DNS 208.67.222.222'
push 'dhcp-option DNS 208.67.220.220'

client-to-client
keepalive 10 120
max-clients 100

user nobody
group nogroup
persist-key
persist-tun

status openvpn-status.log
verb 3
explicit-exit-notify 1

Avvia il processo con `sudo openvpn server.conf` e attendi il messaggio "Initialisation Sequence Completed". Se non si avvia, verifica i percorsi dei file e la compatibilità della crittografia.

Configurazione client (Linux/Windows/macOS)

Crea un profilo client con gli stessi parametri di crittografia e TLS del server. Le differenze principali sono la direttiva 'client', il parametro 'remote' con IP o dominio e i file di identità del client.

client
dev tun
proto udp
remote ejemplo.dyndns.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert cliente1.crt
key cliente1.key

remote-cert-tls server
cipher AES-256-GCM
# Para TLS 1.3 si aplica
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

# HMAC/ocultación
tls-crypt ta.key

verb 3

Su Windows, posiziona il file .ovpn e i certificati nella cartella dell'interfaccia grafica di OpenVPN (per impostazione predefinita 'C:\Users\IlTuoNomeUtente\OpenVPN\config') e connettiti tramite l'icona nell'area di notifica . Su macOS, utilizza OpenVPN Connect o un client compatibile.

  Ottimizzazione della rete per il gaming: una guida completa a NAT, porte e UPnP

Percorsi e NAT sulla tua rete

Per rendere accessibili i dispositivi LAN remoti tramite VPN, potrebbe essere necessario configurare una route statica sul router che punti alla sottorete 10.8.0.0/24 con il server OpenVPN come gateway.

Se si desidera instradare tutto il traffico dei client attraverso la VPN, utilizzare il comando 'push redirect-gateway def1' e specificare server DNS attendibili. Prevenire le perdite DNS ottimizzando i resolver e i firewall dei client.

Utilizzo di OpenVPN Access Server su Linux

OpenVPN Access Server semplifica l'amministrazione tramite una console web: installa il pacchetto, accedi a https://IP:943/admin, accetta i termini e avvia il servizio . Puoi creare utenti, scaricare profili e client per ogni sistema.

La versione gratuita presenta delle limitazioni (ad esempio, due connessioni simultanee ), mentre la versione avanzata offre opzioni avanzate come profili di accesso automatici o la possibilità di disabilitare la compressione qualora questa causi problemi.

Clienti su Windows, macOS, Linux, Android e iOS

Su Windows e macOS, è possibile utilizzare OpenVPN Connect o l'interfaccia grafica della community; importare il profilo .ovpn ed effettuare l'autenticazione . Su Linux, installare il pacchetto openvpn, posizionare il profilo in '/etc/openvpn' e avviare il servizio.

Su Android e iOS, l'app OpenVPN Connect consente di importare il profilo tramite URL del server o caricando il file .ovpn . Assicurati di inserire la porta, il nome utente e, se necessario, la password o l'autenticazione a due fattori (2FA) corretti.

Configurazione su router e controller: ASUS e Omada

Molti router ASUS includono un server OpenVPN integrato: è sufficiente abilitarlo nell'interfaccia web del router, scegliere una porta, creare gli utenti ed esportare il file .ovpn . Funziona al meglio con un indirizzo IP WAN pubblico e un firmware aggiornato.

Negli ambienti Omada, è possibile configurare una policy VPN client-to-site: definire OpenVPN come server, porta, tunnel completo o diviso, DNS e utenti . Esportare il profilo .ovpn per i client.