Pilloline server Linux - server VPN -HOWTO

sezione dedicata ai sistemi operativi Linux

Pilloline server Linux - server VPN -HOWTO

Messaggio da leggereda root » 10/04/2012, 17:28

VPN con openVPN
Immaginiamo di avere a disposizione un server Centos 5.2, un client Windows XP o uno Linux

Installazione OpenVPN sul server e sul client (Linux):

NOTA: tutti i comandi vanno dati con i privilegi di root

per scaricare i pacchetti necessari posizionarsi in una directory sotto /home/nomeutente e dare i seguenti comandi:

wget http://dag.wieers.com/rpm/packages/...el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/...el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/...el3.rf.i386.rpm

L'installazione da RPM si riduce ad un semplice comando:

rpm -ivh lzo-1.08-4.2.el5.rf.i386.rpm
rpm -ivh lzo-devel-1.08-4.2.el5.rf.i386.rpm
rpm -ivh openvpn-2.0.0.i386.rpm


Per Debian/Ubuntu:
sudo apt-get install openvpn

Configurazione OpenVPN (server Linux)
-------------------------------------------

Dopo aver installato il software, dobbiamo creare la chiave privata (key.txt) per l'inizializzazione del tunnel.

openvpn --genkey --secret key.txt
cp key.txt /etc/openvpn/key.txt

Una volta creata la chiave segreta e posizionata dentro /etc/openvpn/, dobbiamo creare il file di configurazione per il server (/etc/openvpn/config.ovpn).

touch /etc/openvpn/config.ovpn
nano /etc/openvpn/config.ovpn

e dentro inseriamo il seguente listato:

dev tap
secret /etc/openvpn/key.txt
ping 10
verb 1
mute 10
ifconfig 10.0.1.1 255.255.0.0.
lport 5002

Configurazione OpenVPN (client Linux)
--------------------------------------------

La configurazione del VPN (client) è identica a quella vista precedentemente (lo stesso che per il server). Ovviamente dobbiamo copiare la chiave segreta "key.txt" prima generata e posizionarla nella directory /etc/openvpn/ della macchina client e creare il file di configurazione (/etc/openvpn/config.ovpn), che deve essere di questo tipo:


touch /etc/openvpn/config.ovpn
nano /etc/openvpn/config.ovpn

e dentro inseriamo il seguente listato:

remote ip.pubblico.del.server
rport 5002
dev tap
ifconfig 10.0.1.2 255.255.0.0
secret /etc/openvpn/key.txt
ping 10
verb 1
mute 10

L’unica cosa da cambiare è la direttiva remote nel quale dovete scrivere l’indirizzo ip publico del server openvpn.
Una volta installato e configurato OpenVPN, non ci resta che lanciare il demone sia sul server, sia sul client e provare la VPN.
Ecco il comando di avvio VPN valido per il server e per il client (Linux):

openvpn --config /etc/openvpn/config.ovpn \--log-append /var/log/openvpn.log --daemon

Appena lanciato il demone, la VPN dovrebbe essere instaurata. Per sicurezza, leggiamo il file di log "/var/log/openvpn.log" sul server.

Tue Apr 26 22:12:06 2005 OpenVPN 2.0_rc19 i386-redhat-linux [SSL] [LZO] [EPOLL] built on Apr 2 2005
Tue Apr 26 22:12:06 2005 TUN/TAP device tap0 opened
Tue Apr 26 22:12:06 2005 /sbin/ip link set dev tap0 up mtu 1500
Tue Apr 26 22:12:06 2005 /sbin/ip addr add dev tap0 10.0.1.1/30 broadcast 10.0.1.3
Tue Apr 26 22:12:06 2005 UDPv4 link local (bound): [undef]:5002
Tue Apr 26 22:12:06 2005 UDPv4 link remote: [undef]
Tue Apr 26 22:12:16 2005 Peer Connection Initiated with x.x.x.x:1194
Tue Apr 26 22:12:17 2005 Initialization Sequence Completed

Proviamo realmente se la VPN è funzionante.

dal server:
ping -c 2 10.0.1.2

dal client:
ping -c 2 10.0.1.1

PING 10.0.1.x (10.0.1.x) 56(84) bytes of data.
64 bytes from 10.0.1.x: icmp_seq=0 ttl=64 time=141 ms
64 bytes from 10.0.1.x: icmp_seq=1 ttl=64 time=137 ms

--- 10.0.1.x ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 137.484/139.436/141.388/1.952 ms, pipe 2

La VPN è perfettamente funzionante.

Configurazione OpenVPN (client Windows)
-----------------------------------------------
NOTA: solo con privilegi da amministratore

Installare questi due pacchetti: openvpn e openvpn-gui

http://openvpn.net/release/openvpn-2.0.9-install.exe
http://openvpn.se/files/install_pac...0.3-install.exe

Finita l’installazione dovremmo trovare una nuova interfaccia di rete ed un icona colorata di rosso nella system try.

Andiamo sotto la directory di configurazione di openvpn che se avete fatto l’installazione di default dovrebbe essere “C:\Programmi\OpenVPN\config\” e copiamo qui la chiave che abbiamo generato sul server ( key.txt )

ora generiamo il file di configurazione del client. apriamo il notepad e scriviamo

remote Ip.Server.Remoto
rport 5002
dev tap
ifconfig 10.0.0.2 255.255.0.0
secret server.key
ping 10
verb 1
mute 10
route-gateway 10.0.0.1
redirect-gateway

e lo salviamo come C:\Programmi\OpenVPN\config\connessione.ovpn

L’unica cosa da cambiare è la direttiva remote nel quale dovete scrivere l’indirizzo ip publico del server openvpn.
Dopo aver lanciato il demone sul server clicchiamo con il pulsante destro sull’icona della openvpn-gui che dovremmo avere nella system tray.
A questo punto sotto la voce "connessione" nel sottomenu clicchiamo l’opzione connect.
-------------------------------------------

NOTA BENE: ovviamente sul router lato server deve essere aperta la porta 5002 e reindirizzata all'interfaccia di ingresso del server Linux.

Configurazioni aggiuntive:

ammesso che il server che gestisce la VPN faccia da gateway (vedi mio post precedente in questo 3D):
> eth0: 192.168.1.2 # verso router 192.168.1.1 mask 255.255.255.0
> eth1: 10.0.0.1 #verso LAN interna 10.0.0.2-10.0.0.254 mask 255.255.0.0

quindi c'e' un NAT tra eth0 e eth1:
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -d 0/0 -o eth0 -j MASQUERADE

sul client Linux per vedere la rete LAN remota (altrimenti ci si ferma sul server) occorre il seguente comando aggiuntivo (da root) una volta instaurata la VPN:

route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.0.0.1

invece sul client Windows questo comando (con privilegi da amministratore):

route add 10.0.0.0 mask 255.255.0.0 10.0.1.1

NOTA: con openVPN non si puo' esplorare la rete remota perche' non passano i messaggi di broadcast, per cui per mappare una unita' remota occorre farlo con la chiamata diretta \\indirizzoip\nomecondivisione

es: \\10.0.0.172\scambio
Maurizio
Avatar utente
root
Amministratore
 
Messaggi: 390
Iscritto il: 10/04/2012, 10:55
Località: Turin

Torna a Linux

Chi c’è in linea

Visitano il forum: Google [Bot] e 2 ospiti

cron