introduzione
OpenVPN è una VPN protetta e basata su SSL che funziona su quasi tutti i sistemi simili a UNIX e anche su Windows. OpenVPN può essere utilizzato per connettere due macchine e scambiare traffico tra loro in modo sicuro. Questa guida spiega come impostare una connessione tra due server usando OpenVPN e chiavi condivise.
Prerequisiti
- Ubuntu o Debian
- 10 minuti
Installa i pacchetti
È possibile eseguire questo comando su entrambi i server:
sudo apt-get install openvpn
Configurazione
OpenVPN si basa su file di configurazione in cui sono scritti tutti i dettagli dell'altro server remoto. Esiste anche una Server -> Client
modalità per OpenVPN, ma è più semplice impostare una connessione P2P usando chiavi condivise e si adattano alle nostre esigenze.
Una volta completato il processo di installazione, possiamo creare un nuovo file che termina con .conf
under /etc/openvpn/*
.
proto udp
mode p2p
remote <REMOTE_HOST>
rport <REMOTE_PORT>
local <LOCAL_HOST>
lport <LOCAL_PORT>
dev-type tun
tun-ipv6
resolv-retry infinite
dev <INTERFACE_NAME>
comp-lzo
persist-key
persist-tun
cipher aes-256-cbc
ifconfig <LOCAL_TUNNEL_IP> <REMOTE_TUNNEL_IP>
secret /etc/openvpn/<NAME_OF_CONFIG_FILE>.key
Dopo aver creato il nostro file di configurazione, siamo pronti a creare la nostra chiave condivisa che dovremo trasferire sull'altro server.
openvpn --genkey --secret /etc/openvpn/<NAME_OF_CONFIG_FILE>.key
Connetti i server
Ora possiamo iniziare subito collegando i nostri server. Dobbiamo creare lo stesso file di configurazione e copiare la chiave dal server iniziale sull'altro server. Ma tieni presente che i file di configurazione non sono identici, perché <REMOTE>
e <LOCAL>
anche i <TUNNEL_IP>
campi sono diversi.
Inizia il tunnel
Dopo aver copiato la chiave dal server iniziale al secondo server e aver finito di modificare i file di configurazione, possiamo avviare il tunnel digitando il seguente comando nella nostra shell:
service openvpn start <NAME_OF_CONFIG_FILE>
Prova il tunnel
Digitando ping REMOTE_TUNNEL_IP
nella nostra shell, possiamo verificare se l'altro lato è attivo o meno. Se non c'è risposta dall'altro server, controlla quanto segue:
- Firewall su entrambi i lati.
- La chiave è identica su ciascun server.
- I campi
<REMOTE>
e <LOCAL>
sono impostati correttamente.