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