.: HosiriS :.

Informatica e non solo

La mia prima VPN

Posted by hosiris su ottobre 7, 2010

Dopo mesi e mesi… diciamo anni, ho finalmente trovato il tempo di realizzare una VPN.
Per chi non sapesse di cosa sto parlando la VPN o Virtual Private Network rappresenta una rete privata (come una LAN) ma che trasmette su rete pubblica come internet. I vantaggi si vedono soprattutto in termini di sicurezza, infatti in questo modo è possibile usare il canale instaurato per trasmettere tutti i protocolli senza dover aprire porte sul firewall o esporre la macchina su internet. Inoltre il canale di comunicazione è criptato evitando a terze persone di leggere i dati.

La configurazione è relativamente semplice, ed inizia con l’installazione del software sul server:

$ sudo apt-get install openvpn

Adesso configuriamo l’ip forwarding editando il file /etc/sysctl.conf togliendo il commento alla riga:

net.ipv4.forwarding = 1

Generariamo il file di chiave con il comando

$ openvpn --genkey --secret /path/to/secret/file

verificariamo con il comando ifconfig se è stata creata l’interfaccia virtuale tun o tap ed eventualmente creiamola con il comando

$ sudo openvpn --mktun --dev tun0

e verificariamo di nuovo che l’interfaccia per il tunneling sia stata creata.
Abilitariamo il masqurading dentro iptables

$ sudo iptables -t nat -I POSTROUTING -s 10.1.1.102 -d 192.168.0.0/24 -j MASQUERADE

per fare in modo che la modifica ad iptables sia definitiva aggiungiamo il comando da dare ad iptables nello script /etc/rc.local che viene eseguito alla fine di ogni runlevel.

Terminata la fase di configurazione passiamo ad inserire il file di configurazione in /etc/openvpn/:

#/etc/openvpn/vpn.conf
dev tun
port (porta)
ifconfig 10.1.1.1 10.1.1.2
secret /percorso/per/la/chiave
ping 15
ping-restart 45
comp-lzo
persist-key
persist-tun
verb 3

Riavviate il servizio:

$ sudo /etc/init.d/openvpn restart

ed il server è configurato.

Dopo aver installato openvpn anche sul client, inseriamo la configurazione seguente:

#/etc/openvpn/vpn.conf
dev tun
port (stessa porta del server)
secret (percorso relativo del file di chiave)
#indirizzo IP srv
remote (indirizzo ip a cui connettersi)
ifconfig 10.1.1.2 10.1.1.1
ping 15
verb 1
comp-lzo
# solo sul client per mappare le reti
route 10.0.0.0 255.255.255.0 10.1.1.1

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: