Installare e configurare Openvpn

Una VPN o Virtual Private Network può essere considerata un’estensione di una rete privata o aziendale che collega tramite un tunnel crittografato punto-punto due o più computer in modo sicuro. Cominciamo dicendo che molte aziende hanno la necessità di far collegare i propri dipendenti o collaboratori esterni alla lan aziendale, e Openvpn ci permette di fare questo senza costose infrastrutture, anzi essendo OpenSource non avremo bisogno di nulla se non un computer linux come server.

Per la nostra prova abbiamo deciso di usare la distribuzione Linux Centos, quindi per prima cosa scarichiamo Openvpn con i comandi:

wget http://openvpn.net/release/openvpn-2.0.9.tar.gz
wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

Installiamo le dipendenze

yum install gcc make
yum install rpm-build
yum install autoconf.noarch
yum install zlib-devel
yum install pam-devel
yum install openssl-devel

e installiamo i pacchetti scaricati:
rpmbuild –rebuild lzo-1.08-4.rf.src.rpm
rpm -Uvh /root/rpmbuild/RPMS/i386/lzo-*.rpm
rpmbuild -tb openvpn-2.0.9.tar.gz
rpm -Uvh /root/rpmbuild/RPMS/i386/openvpn-2.0.9-1.i386.rpm

Spostiamoci nella cartella /etc/openvpn e creiamo il certificato:
openvpn -—genkey -—secret nome.key

editiamo il file di configurazione “nome”.conf

*******************************
dev tun01
port 1194
proto udp

tun-mtu 1500

ifconfig 10.1.0.1 10.1.0.2

secret nome.key

persist-tun
persist-key
comp-lzo
verb 4
mute 10

status logs/nome-status.log

cipher DES-EDE3-CBC
*******************************

Le quattro variabili nella creazione dei file .conf  sono le seguenti:

  • tun01 è il primo certificato che creiamo, i prossimi saranno tun02 tun03 ecc.
  • port 1194 la porta aperta sul firewall per il servizio openvpn.
  • ifconfig 10.1.0.1 – 10.1.0.2 sono gli indirizzi ip che assumeranno il server e il client Openvpn durante la connessione (per settare gli indirizzi ip bisogna ricordarsi che essi vanno inseriti in una subnet mask 255.255.255.252 (in sostanza nel nostro esempio l’ ip 10.1.0.0/255.255.255.252 vede come appartenenti alla sua rete gli ip da 10.1.0.0 a 10.1.0.3) in altre parole sono così alternati: ne usi due e ne lasci liberi due quindi nel primo file .conf  utilizzo gli indirizzi ip 10.1.0.1 e 10.1.0.2 poi ne salto due e nel secondo file .conf utilizzo gli indirizzi ip 10.1.0.5 e 10.1.0.6 e via di seguito.)
  • secret nome.key è il certificato legato a questa configurazione. (se non indichiamo nessun percorso es.( secret config/nome.key) il certificato deve essere inserito nella stessa cartella del file .conf)

Al termine è necessario riavviare il servizio openvpn per rendere effettiva la nuova connessione con il comando linux:
/etc/init.d/openvpn restart

Il lato client avrà anch’esso 2 file, il file di configurazione .ovpn e il file del certificato .key, quest’ultimo deve essere il medesimo presente sul server .

Creare il file .ovpn in questo modo:

*******************************
proto udp

remote xx.xx.xx.xx 1194

dev tun

tun-mtu 1500
ifconfig 10.1.0.2 10.1.0.1

secret nome.key

comp-lzo
verb 4
mute 10

cipher DES-EDE3-CBC

route 192.168.1.0 255.255.255.0 10.1.0.1
route yy.yy.yy.yy 255.255.255.240 10.1.0.1
*******************************

Vediamo le variabili che dovranno necessariamente richiamare ciò che abbiamo indicato nel file .conf del server.

  • remote xx.xx.xx.xx 1194 (xx.xx.xx.xx) è l’ip pubblico del server mentre (1194) è la porta che abbiamo assegnato a questa connessione openvpn.
  • ifconfig 10.1.0.2 – 10.1.0.1 sono gli indirizzi ip del client e del server durante la connessione vpn, anche questi dati sono stati già assegnati durante la compilazione del file di configurazione lato server. (Attenzione sono da esporre opposti a prima, quindi con gli ip invertiti)
  • secret nome.key è la chiave .key che deve essere identica al file .key presente sul server e se non è impostata una directory precisa es.( secret key\nome.key) il file deve essere inserito nella stessa directory del file .ovpn
  • route 192.168.1.0 – 255.255.255.0 – 10.1.0.1 route yy.yy.yy.yy – 255.255.255.240 10.1.0.1 sono le rotte ip che facciamo assumere al client una volta connesso alla vpn. Cioè gli facciamo vedere come locali gli ip 192.168.1.0 e yy.yy.yy.yy.

All’indirizzo http://openvpn.se/download.html si può trovare il client per windows openvpn-gui molto semplice da installare. I file di configurazione del client devono essere copiati sotto alla directory C:/programmi/openvpn/config. Se nel file .ovpn alla riga secret c’è indicato solo il file .key e non un percorso i file .ovpn e .key vanno inseriti nella medesima cartella.

Lascia un commento