.: HosiriS :.

Informatica e non solo

Archive for 15 ottobre 2010

VPN con molti client

Posted by hosiris su ottobre 15, 2010

Dopo aver creato la mia prima VPN non mi sono accontentato del risultato, d’altronde è il voler superare i propri limiti che ci permette di crescere.
Il mio scopo è di riuscire a far comunicare tutti i miei PC e di migliorare la sicurezza dei protocolli.

Cominciamo il nostro percorso pensando alla sicurezza della connessione: dobbiamo generare certificati e chiavi che ci permettono di riconoscere i PC coinvolti nella comunicazione.
I tool necessari si trovano nella cartella:

/usr/share/doc/openvpn/example/easy-rsa/2.0/

Per evitare che ad ogni aggiornamento le nostra configurazioni vengano perse, copiamo questa cartella su un’altra destinazione:

$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp /usr/share/doc/openvpn/example/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Spostiamoci nella cartella di openvpn e cambiamo utenza:

$ cd /etc/openvpn/easy-rsa
$ sudo su
# vi vars

in questo ultimo file andiamo a modificare la parte finale, inserendo le informazioni corrette.
Salviamo il file ed eseguiamo i seguenti passi:

# . ./vars
# ./clean-all
# ./build-ca

Adesso generiamo le chiavi e i certificati per il server ed i client:

# ./build-key-server server
# ./build-key client1
# ./build-key client2
# ./build-key client3

Infine generiamo i parametri Diffie-Hellman:

# ./build-dh

Al termine di tutto, nella certella di configurazione di openvpn del server saranno presenti i seguenti file:

  • server.key
  • server.crt
  • ca.crt
  • dh1024.pem

mentre sui client:

  • client{n}.key
  • client{n}.crt
  • ca.crt

A questo punto generiamo i file di configurazione sia sul server che sui client.


#Configurazione server (server.conf)
dev tun
port
proto udp
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.1.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
max-clients 10
keepalive 10 120
comp-lzo
persist-key
persist-tun
status status.log
verb 3


#Configurazione client (client.conf)
client
dev tun
ca ca.crt
cert client{n}.crt
key client{n}.key
#indirizzo IP srv
remote
resolv-retry infinite
nobind
persist-key
persist-tun
ping 15
verb 3
comp-lzo
# solo sul client per mappare le reti
route 10.0.0.0 255.255.255.0 10.1.1.1

Riavviate il servizio:

$ sudo /etc/init.d/openvpn restart

Qualora si presentino dei problemi il log si trova in /var/log/daemon.log.

Buon divertimento

Posted in Informatica, Sistemi, Ubuntu, VPN | Leave a Comment »