Come creare una VPN punto-punto con OpenVPN
L’utilizzo di una VPN punto-punto permette di creare un tunnel virtuale cifrato tra due macchine appartenenti a reti differenti. Lo scopo e’ quello di criptare i dati che attraverso internet, evitando cosi’ di essere ‘letti’ dopo essere stati ’sniffati’ in un punto della rete non gestibile da noi. Realizzeremo tutto cio’ utilizzando il software OpenVPN , da installare su entrambe le macchine dove dovra’ essere stabilito il collegamento.
L’installazione con le distribuzioni linux Debian e Ubuntu si fa eseguendo questo comando
apt-get install openvpn
Con Fedora linux:
yum install openvpn
Il secondo passo da eseguire e’ la creazione della chiave ‘privata’ e condivisa con questo comando:
openvpn –genkey –secret /etc/chiave-privata.key
chmod 600 /etc/chiave-privata.key
Dopo averla generata su una macchina si puo’ spostare sull’altra tramite il protocollo ssh:
scp /etc/chiave-privata.key utente@nome-macchina-o-indirizzo-ip:/etc/chiave-privata.key
(impostare anche qui i permessi a 600 su /etc/chiave-privata.key in modo tale che solamente root puo’ leggere questo file)
Si crea poi una configurazione per il server (chiameremo il file /etc/openvpn-server.conf)
dev tun
ifconfig 10.0.0.1 10.0.0.2
secret /etc/chiave-privata.key
comp-lzo
N.B. comp-lzo attiva la compressione dei dati
Ed una per il client (chiameremo il file /etc/openvpn-client.conf)
remote IndirizzoIPdelServer
dev tun
ifconfig 10.0.0.2 10.0.0.1
secret /etc/chiave-privata.key
comp-lzo
N.B. Inserire l’indirizzo ip corretto o il nome della macchina verso cui dovremmo connetterci nel campo “remote”
Adesso sul server dobbiamo eseguire
openvpn /etc/openvpn-server.conf &
mentre sul client
/etc/openvpn-client.conf &
Dal client adesso possiamo fare questo test per verificare se c’e' risposta dal server (che sara’ raggiungibile con l’ip 10.0.0.1)
ping 10.0.0.1
Tutti i dati inviati dal client verso l’ip 10.0.0.1 saranno criptati



Il tuo articolo è molto chiaro e mi permetterebbe di risolvere molti problemi.. Pero’ ho una ulteriore problematica che mi affligge… Dovrei avviare 3 connessioni distinte verso altrettanti server! I tre server non debbono potersi vedere tra loro. Come posso fare?