Cestino sparito Vista
Oggi mi squilla il cellulare intorno alle 12.00, e mi viene comunicato: “Ciao,oh mi è sparito il cestino in windows vista”...Leggi tutto
Le reti vpn sono un ottimo strumento per connettere reti lan tramite internet in maniera totalmente sicura ed economica inoltre sono estramementi semplici da realizzare, gli scenari che offre una vpn sono molteplici, eccone alcuni:
In questi giorni ho creato una rete vpn sfruttando un server linux con ubuntu e un client con windows xp, ho utilizzato la suite openvpn sia sul client che sul server, la configurazione è stata veramente semplice ed in questo articolo viene spiegato come creare un tunnel vpn in pochi semplici passi e in meno di 30 minuti..
La configurazione di rete nel quale ho creato il server vpn è molto comune e prevede una semplice lan connessa ad internet tramite un router modem adsl.
Partiamo quindi con la preparazione del server vpn,io ho utilizzado ubuntu ma potete utilizzare qualsiasi altra distribuzione, la procedura è analoga e non cambia nulla.








Ovviamente al posto di 192.168.1.9 dovete inserire il vostro indirizzo ip statico inserito prima e al posto di nome_chiave.key il nome della chiave generata prima. Nell’immagine potete leggere le spiegazioni relative ad ogni voce, in ogni caso più giù le commenterò per bene.

Poi potete digitare anche il comando:
ifconfig
per vedere l’interfaccia tun0 che è stata caricata da openvpn

Se invece non utilizzate ubuntu eseguite questi comandi per far partire openvpn:
Sempre se non utilizzate ubuntu e volete impostare l’avvio automatico di openvpn eseguite questo comando:
Per rimuoverlo dal boot:
Bene direi che con la parte server è tutto, passiamo ora alle spiegazioni ma prima un piccolo riassunto di tutta la procedura:
Ovviamente al posto di nome_chiave.key mettete la vostra chiave e al posto di 192.168.1.9 l’ip statisco scelto prima e anche al posto di 192.168.1.0 l’indirizzo della vostra rete se è differente.
Impostate l’avvio automatico di openvpn con il comando:
Ovviamente se utilizzate ubuntu tutti comandi devono essere preceduti dal prefisso sudo e alcuni possono essere omessi. Ed ecco le spietazioni:
Con il server abbiamo finito, se avete seguito le istruzioni ora vi troverete con un servervpn in ascolto.
Passiamo al client.
Per la macchina client io ho utilizzato windows xp e la configurazione è veramente semplice, vediamola nel dettaglio:




Potete verificare che tutto è a posto pingando il server vpn all’indirizzo 10.10.10.1 e il suo indirizzo reale statico 192.168.1.9 (questo è quello che ho usato io) oppure potete provare a collegarvi direttamente a qualche altro pc dell’altra rete.
Come prima ecco le spiegazioni del file client.ovpn:
Per verificare che tutto è andato a buon fine una volta che il client si è connesso dal server potete provare a pingare il client, se tutto è ok riceverete una risposta.

Se tutto è ok e la rete vpn è stata create correttamente vi ritroverete come se le due macchine fosse fisicamente attacate tra di loro per mezzo di un cavo di rete. Ovviamente la velocità di connesione dipende dalla banda disponibile su entrambe le macchine.. non vi aspettate grandi prestazioni con adsl inferiori a 1 o 2mb.. da entrambi i lati conta molto la banda in upload più che quella in download..
Volevo specificare che in questa configurazione ho utilizzato il livello di sicurezza più basso,domani sicuramente configuro tutto con SSL/TLS e forse passo a debian.. ho utilizzato ubuntu perchè molto probabilmete questa macchina sarà maneggiata da altra gente e per facilitare la vita a chi mi seguirà ho deciso di optare per una distribuzione conosciuta e facile da utilizzare..
Qui sotto c’è una galleria di immagini che ho scattato durante le mie prove, si vede il futuro server vpn nuovo di pacca e la postazione dal quale ho effettuato i test. Come client ho utilizato un portatile collegandolo o con il 56k o con una scheda umts della vodafone…
Ho anche preso una scheda di retei in più nel caso la macchina dovesse diventare il gateway principale… Bhe direi che con questo è veramente tutto.
Ecco i link di riferimento che mi hanno aiutato nella creazione della vpn.
Vota l’articolo
Ti è piaciuto questo articolo? allora iscrivi alla newsletter, riceverai ogni nuovo post via mail!
Loading...Se preferiferisci i feed ricordati di iscriverti ai miei Feed! 
Mmh.. ma non è un problema di chiavi? Leggo: [soft,decryption-error]
sei sicuro che con chiavi e password sia tutto a posto?
Dovresti fare una prova di connessione senza chiavi e password.. così ti accorgi se è un problema legato alla crittazione..
allora non sono riuscita a risolvere il problema. Quindi faccio un breve riepilogo:
Ho un pc fisso collegato ad internet (Server con ip 151.97.9.138) con s.o. Ubuntu 8.04
server.conf:
dev tap
local 151.97.9.138
lport 5000
proto tcp-server
ifconfig 10.10.10.1 255.255.255.0
secret /etc/openvpn/prova1.key
verb 3
push “10.10.10.0 255.255.255.0 10.10.10.1″
comp-lzo
log-append /var/log/openvpn.log
e un portatile sempre con ubuntu 8.04 su macchina virtuale (client con ip statico della vmware 151.97.9.142)
client.conf:
remote 151.97.9.138
dev tap
local 151.97.9.142
rport 5000
ifconfig 10.10.10.2 255.255.255.0
secret /etc/openvpn/prova1.key
verb 3
push “10.10.10.0 255.255.255.0 10.10.10.2″
lancio il server con il comando
#sudo openvpn –config /etc/openvpn/server.conf
e il log è il seguente:
Wed Sep 3 15:38:06 2008 OpenVPN 2.1_rc7 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] built on Jun 11 2008
Wed Sep 3 15:38:06 2008 /usr/sbin/openvpn-vulnkey -q /etc/openvpn/prova1.key
Wed Sep 3 15:38:06 2008 Static Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Wed Sep 3 15:38:06 2008 Static Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Wed Sep 3 15:38:06 2008 Static Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Wed Sep 3 15:38:06 2008 Static Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Wed Sep 3 15:38:06 2008 LZO compression initialized
Wed Sep 3 15:38:06 2008 TUN/TAP device tap0 opened
Wed Sep 3 15:38:06 2008 TUN/TAP TX queue length set to 100
Wed Sep 3 15:38:06 2008 ifconfig tap0 10.10.10.1 netmask 255.255.255.0 mtu 1500 broadcast 10.10.10.255
Wed Sep 3 15:38:06 2008 Data Channel MTU parms [ L:1579 D:1450 EF:47 EB:135 ET:32 EL:0 AF:3/1 ]
Wed Sep 3 15:38:06 2008 Local Options hash (VER=V4): ’9ceaf047′
Wed Sep 3 15:38:06 2008 Expected Remote Options hash (VER=V4): ’6320c80c’
Wed Sep 3 15:38:06 2008 Listening for incoming TCP connection on 151.97.9.138:5000
vado nel client digito nel browser 10.10.10.1 e non carica la pagina..
perchè???
mi potresti aiutare?
Allora prima lanci il demone sul server e lui rimane in ascolto sulla porta 5000 all’indirizzo 151.97.9.138 e fin qui tutto ok, poi però in teoria devi lanciare sul client il programma per collegarsi al server… e mi pare che tu non l’hai scritto.. cioè tu dopo aver lanciato il demone sul server lanci il programma per collegarti sul client?
Infatti nei log che hai postato l’ultima riga è:
Listening for incoming TCP connection on 151.97.9.138:5000
Quando lanci il programma sul client per collegarsi al server lì nei log dovresti vedere un sacco di altre informazioni… fammi sapere ciaoo
Grazie Mille ma ho gia risolto il problema e client e server si collegano.
Un altra domanda: ma quale firewall potrei associare al Server che mi consenta di settare delle regole di accesso per i client??
Comunque Grazie per tuttto il supporto dato.
Bhe iptables sotto linux ti permette di fare qualsiasi cosa.. basta configurarlo correttamente.. poi dipende dalle regole che vuoi settare, comunque io ti consiglio di studiare iptables che è il firewall per eccellenza ciaooo
ciao può interessarti il fatto che stia provando adesso la vpn con i certificati?
beh a dire il vero ho un problemino di connessione e mi chiedevo se tu come procedure hai solamente usato la shared key. In caso contrario fammi sapere perchè vorrei chiederti dei dubbi che ho
Grazie
Ciao certo che mi interessa!! io comunque per ora ho utilizzato solo la shared key.. cmq fammi sapere cosa hai in mente ciaooo
Per la connessione VPN mediante i certificati ho seguito questa procedura:
Sulla macchina server in:
/usr/share/doc/openvpn/examples/easy-rsa/2.0/
./vars
riempendo gli ultimi campi:
export KEY_COUNTRY=”"
export KEY_PROVINCE=”"
export KEY_CITY=”"
export KEY_ORG=”"
export KEY_EMAIL=”"
poi in /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
./clean-all
in /usr/share/doc/openvpn/examples/easy-rsa/2.0/
./build-ca
./build-dh
./build-key server
./build-key client
in /etc/openvpn (sia nel server che nel client)
ho creato una nuova cartella keys
e ho inserito i seguenti certificati creati con i precedenti comandi:
nel server:
ca.crt
ca.key
dh.pem
server.crt
server.key
nel client:
ca.crt
client.crt
client.key
server.conf:
dev tap
tls-server
mode server
proto tcp-server
lport 5000
local 151.97.9.141
ifconfig 10.23.24.1 255.255.255.252
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
ping 10
verb 1
mute 10
client.conf
dev tap
tls-server
mode server
proto tcp-server
lport 5000
local 151.97.9.141
ifconfig 10.23.24.1 255.255.255.252
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
ping 10
verb 1
mute 10
client.conf:
remote 151.97.9.141
dev tap
pull
tls-client
rport 5000
proto tcp-client
ifconfig 10.23.24.2 255.255.255.252
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn /client.key
remote -cert -tls server
ping 10
verb 1
mute 10
ma alla fine lanciando i comandi sul server:
sudo openvpn –config /etc/openvpn/server.conf
e sul client:
sudo openvpn –config /etc/openvpn/client.conf
mi da errore di connessione sul client di questo tipo:
on Sep 22 15:16:49 2008 OpenVPN 2.1_rc7 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] built on Jun 11 2008
Mon Sep 22 15:16:49 2008 WARNING: –ping should normally be used with –ping-restart or –ping-exit
Mon Sep 22 15:16:49 2008 WARNING: using –pull/–client and –ifconfig together is probably not what you want
Mon Sep 22 15:16:49 2008 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Mon Sep 22 15:16:49 2008 /usr/bin/openssl-vulnkey -q -b 1024 -m
Mon Sep 22 15:16:49 2008 Attempting to establish TCP connection with 151.97.9.141:5000 [nonblock]
Mon Sep 22 15:16:50 2008 TCP connection established with 151.97.9.141:5000
Mon Sep 22 15:16:50 2008 TCPv4_CLIENT link local: [undef]
Mon Sep 22 15:16:50 2008 TCPv4_CLIENT link remote: 151.97.9.141:5000
Mon Sep 22 15:16:50 2008 VERIFY ERROR: depth=0, error=unsupported certificate purpose: /C=IT/ST=CT/L=CATANIA/O=OPENVPN-TEST/CN=server/emailAddress=marialisa.scata@gmail.com
Mon Sep 22 15:16:50 2008 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Mon Sep 22 15:16:50 2008 TLS Error: TLS object -> incoming plaintext read error
Mon Sep 22 15:16:50 2008 TLS Error: TLS handshake failed
Mon Sep 22 15:16:50 2008 Fatal TLS error (check_tls_errors_co), restarting
Mon Sep 22 15:16:50 2008 SIGUSR1[soft,tls-error] received, process restarting
Mon Sep 22 15:16:55 2008 WARNING: –ping should normally be used with –ping-restart or –ping-exit
Mon Sep 22 15:16:55 2008 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Mon Sep 22 15:16:55 2008 /usr/bin/openssl-vulnkey -q -b 1024 -m
come mai???Potresti aiutarmi??
può essere che questo problema sia dovuto al fatto che il test della VPN lo sto eseguendo per adesso su due macchine che appartengono alla stessa sottorete?
Grazie
Mmh.. da quello che leggo sembra un problema sempre del certificato e non della rete..
VERIFY ERROR: depth=0, error=unsupported certificate purpose: /C=IT/ST=CT/L=CATANIA/O=OPENVPN-TEST/CN=server
ah senti per caso mi hai mandato una mail l’altro giorno?? fammi sapere ciaooo
ciao
ho una vpn con openvpn funzionante.
La mia situazione attuale è:
una macchina linux server con ip pubblico IP1 e client windows collegato. A me interessa accedere a delle biblioteche attraverso il mio server in quanto a queste biblioteche ci possono accedere solamente chi è fisicamente collegato alla rete.
Ho inserito su server.conf la direttiva:
push “redirect-gatway”
ma non funziona quello che voglio
Come posso fare??
grazie mille
non ho ben capito… Ma il tuo server linux è collegato direttamente alla rete della biblioteca? perchè mi sembra l’unico modo per poter accedere con un client remoto alla rete bibliotecaria tramite vpn..
Cioè se il server è nella rete della biblioteca sul client basta che metti la regola push che serve per esplorare la rete del server e dovrebbe essere ok.. ciaoo
Ciao, ho un notebook cn Vista da 3 giorni,e la prima cosa che ho fatto dp averlo inizializzato,è stato togliere l’UAC!!…Oggi ho installato OpenVPN,(che funzionava da dio su XP) e non si connette più al server VPN…resta in attesa..e poi riprova inutilmente…Io pingo il server tranquillamente,da altri pc con xp funziona…Chiaramente ho provato a cambiare versione di Ovpn
Ti sarei davvero grato se riuscissi ad aiutarmi..!
Mmh.. guarda non ho mai provato openvpn con vista ma non dovrebbe essere molto diverso da xp, comunque tu sei sicuro che le impostazioni utilizzate su vista sono le stessi che usi su pc con xp? a volte basta un parametro configurato male per far saltare tutto.. io controllerei bene la configurazione del client.. ciaooo
Fantastico, il tuo tutorial mi e’ stato utilissimo, ma ho un problema
Riesco solo a far connetere 1 client, il secondo non lo accetta. Se sconnetto il primo si collega il secondo.
Ho utilizzato la chiave secret comune…
Hai un’idea ??
Una domanda… che router usi?
Grande CroccoBiscotto.
Ti seguo da un pò ed ho imparato davvero tanto, continua cosi.
Vorrei fare la stessa cosa con due winxp, pcasa puffcio.
e condividere tutte le risorse del pufficio per utilizzarle da casa.
Per avere ‘ip essendo dinamico uso dyndns.
Vorrei chieserti cosa devo fare sul pufficio che fa server come configurazione e cosa nel client.
Cosa è questa cosa dei certificatI?
in riferimento a:
___________________
ho una vpn con openvpn funzionante.
La mia situazione attuale è:
una macchina linux server con ip pubblico IP1 e client windows collegato. A me interessa accedere a delle biblioteche attraverso il mio server in quanto a queste biblioteche ci possono accedere solamente chi è fisicamente collegato alla rete.
Ho inserito su server.conf la direttiva:
push “redirect-gatway”
ma non funziona quello che voglio
_____________
praticamente non è che il server si trova all’interno della biblioteca ma io vorrei che il client riuscisse a collegarsi ad internet mascherandosi dietro il server. la biblioteca è esterna e permete solo ad indirizzi della rete del server di accedere.
dalla mia ho risolto copiando nuovamente la .key dal server al client
a quanto pare è a causa del fatto che la stessa non è identica per i due a generare l’errore di cui sopra
info:
Ciao, innanzitutto ti ringrazio per l’articolo che mi è stato di grande aiuto. Ti spiego brevemente il mio problema e spero anzi ti supplico di aiutarmi:
Ho una virtual Machine installata su Vista. Sulla VMWARE ho caricato Ubuntu 8.04.
Su ubuntu virtuale devo installare un server vpn
e il client sarà appunto il Vista. ti mando i miei due file di configurazione:
client.conf
remote 151.97.9.141
dev tap
proto tcp-client
rport 1194
ifconfig 10.10.10.2 255.255.255.0
route 192.168.1.0 255.255.255.0 10.10.10.1
secret prova.key
verb 3
route-method exe
route-delay 2
e server.conf
remote 151.97.9.141
dev tap
proto tcp-server
lport 1194
ifconfig 10.10.10.1 255.255.255.0
route 192.168.1.0 255.255.255.0 10.10.10.1
secret /etc/openvpn/prova.key
verb 3
ma quando faccio le prove per connettersi entrambi mi spunta questo:
Sep 01 16:30:51 2008 Closing TUN/TAP interface
Mon Sep 01 16:30:51 2008 SIGUSR1[soft,decryption-error] received, process restarting
Mon Sep 01 16:30:51 2008 Restart pause, 5 second(s)
Mon Sep 01 16:30:56 2008 Static Encrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Mon Sep 01 16:30:56 2008 Static Encrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Mon Sep 01 16:30:56 2008 Static Decrypt: Cipher ‘BF-CBC’ initialized with 128 bit key
Mon Sep 01 16:30:56 2008 Static Decrypt: Using 160 bit message hash ‘SHA1′ for HMAC authentication
Mon Sep 01 16:30:56 2008 Local Options hash (VER=V4): ’2e0c238c’
Mon Sep 01 16:30:56 2008 Expected Remote Options hash (VER=V4): ‘aadc472c’
Mon Sep 01 16:30:56 2008 Attempting to establish TCP connection with 151.97.9.141:1194
Mon Sep 01 16:30:56 2008 TCP connection established with 151.97.9.141:1194
Mon Sep 01 16:30:56 2008 TCPv4_CLIENT link local: [undef]
Mon Sep 01 16:30:56 2008 TCPv4_CLIENT link remote: 151.97.9.141:1194
Mon Sep 01 16:30:56 2008 Connection reset, restarting [0]
Mon Sep 01 16:30:56 2008 TCP/UDP: Closing socket
Mon Sep 01 16:30:56 2008 Closing TUN/TAP interface
Mon Sep 01 16:30:56 2008 SIGUSR1[soft,connection-reset] received, process restarting
Mon Sep 01 16:30:56 2008 Restart pause, 5 second(s)
e si riavvia continuamente il processo
come mai?