Oggi WireGuard si prende quasi tutta l'attenzione, e a ragione. Ma OpenVPN si guadagna ancora il suo posto: può funzionare su TCP porta 443, è integrato in router e client aziendali, e certe reti lo lasciano passare quando le VPN basate su UDP vengono bloccate. Se è il tuo caso, ecco la strada più breve e affidabile per avere un server funzionante.
Cosa serve
- Un VPS con il suo IP pubblico. I client si collegano da Internet, quindi un piano NAT non va bene — Nano-IP a $8 al mese basta per uso personale.
- Ubuntu 22.04/24.04 o Debian 12, e root o un utente sudo.
- Una decina di minuti.
1. Esegui lo script di installazione
Configurare a mano autorità di certificazione, chiavi e routing richiede un lungo pomeriggio. Il diffuso script openvpn-install di angristan lo fa in un solo passaggio. Scaricalo e leggilo prima di eseguirlo: è uno script shell che cambierà la configurazione di rete, ed è giusto sapere cosa fa.
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
less openvpn-install.sh
sudo ./openvpn-install.sh
Lo script fa qualche domanda. Risposte sensate:
- Indirizzo IP: l'IPv4 pubblico del server (lo rileva da solo).
- IPv6: sì, se vuoi IPv6 nel tunnel.
- Porta:
1194di default, oppure443se pensi di usare TCP. - Protocollo: UDP è più veloce; TCP passa attraverso firewall severi.
- DNS: qualsiasi resolver pubblico di cui ti fidi.
- Compressione: no. Ha problemi di sicurezza noti in combinazione con la cifratura.
Alla fine crea il primo file client, per esempio /root/phone.ovpn.
2. Apri la porta
Lo script imposta le sue regole iptables. Se usi anche UFW, consenti esplicitamente la porta della VPN:
sudo ufw allow 1194/udp
sudo ufw status
Metti 443/tcp se hai scelto TCP.
3. Porta il file client sul dispositivo
Copia il file .ovpn via SSH:
scp -P 22 root@203.0.113.10:/root/phone.ovpn .
Importalo nell'app OpenVPN Connect, in NetworkManager su Linux o nel router. Il file contiene la chiave privata di quel client, quindi trattalo come una password: non mandarlo via email e non lasciarlo in una cartella condivisa.
4. Verifica che funzioni
Sul server:
systemctl list-units --type=service | grep -i openvpn
journalctl -u 'openvpn*' --since "10 min ago"
Sul client, collegati e controlla il tuo IP pubblico. Deve risultare l'indirizzo del server.
Aggiungere e revocare dispositivi
Esegui di nuovo lo script:
sudo ./openvpn-install.sh
Propone di aggiungere un nuovo client, revocarne uno o rimuovere del tutto OpenVPN. Un client per dispositivo vale il piccolo sforzo: quando ti rubano un portatile, revochi quel file e nient'altro cambia.
I compromessi, onestamente
OpenVPN è più vecchio e più pesante di WireGuard. Cifra su un core, quindi su un piano da 1 vCPU non otterrai tutta la velocità di una connessione domestica veloce. Gli handshake sono più lenti e sul telefono consuma più batteria. Se nessuna funzione specifica di OpenVPN ti serve, segui invece la nostra guida a WireGuard: è quello che sceglieremmo per la maggior parte delle persone.
Dove OpenVPN vince è la compatibilità: TCP 443 sembra normale traffico HTTPS a un firewall elementare, e molti dispositivi parlano OpenVPN di serie.
Altro contesto su una VPN personale nella pagina del caso d'uso VPN, e il funzionamento di IPv4/IPv6 sui nostri piani nella documentazione di rete.
Commenti
Ancora nessun commento. Sii il primo.