Openvpn: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Riga 1: Riga 1:
= Introduzione =
= Introduzione =
Una VPN (''Virtual Private Network'') è un tipo di interconnessione tra computer che permette, sul piano logico, di comprendere in una LAN (''Local Area Network'') computer residenti in qualsiasi parte del pianeta.
Una VPN (''Virtual Private Network'') è un tipo di interconnessione tra computer che permette, sul piano logico, di comprendere in una LAN (''Local Area Network'') computer residenti in qualsiasi parte del pianeta.
Solitamente si considera una LAN come una rete di computer  locali, identificati da un indirizzo e una classe di ip (es: 192.168.0.0/24, 10.0.0.0/24 etc.). Con un collegamento VPN, un computer che si trovi fisicamente al di fuori di tale LAN, può risultarne un perfetto membro.  
Solitamente si considera una LAN come una rete di computer  locali, identificati da un indirizzo e una classe di IP (es: 192.168.0.0/24, 10.0.0.0/24 etc.). Con un collegamento VPN, un computer che si trovi fisicamente al di fuori di tale LAN, può risultarne un perfetto membro.  


Tre computer, quindi, che si trovassero rispettivamente a Madrd, Londra e Roma potrebbero, grazie ad una vpn, creare la seguente rete:
Tre computer, quindi, che si trovassero rispettivamente a Madrid, Londra e Roma potrebbero, grazie ad una VPN, creare la seguente rete:
<pre>                                                   
<pre>                                                   
______________                      _______________  
______________                      _______________  
Riga 20: Riga 20:
La prima cosa da fare è verificare in /dev la presenza della dir '''net''' contenente il device virtuale '''tun'''. Se tutto ciò non ci fosse, crearlo con:
La prima cosa da fare è verificare in /dev la presenza della dir '''net''' contenente il device virtuale '''tun'''. Se tutto ciò non ci fosse, crearlo con:
<pre>
<pre>
mkdir /dev/net && mknod /dev/net/tun c 10 200
# mkdir /dev/net && mknod /dev/net/tun c 10 200
</pre>
</pre>
..tirare su il rispettivo modulo e far si che al boot venga caricato:
tirare su il rispettivo modulo e far che al boot venga caricato:
<pre>
<pre>
# modprobe tun
# modprobe tun
Riga 32: Riga 32:
Infine abilitare il forwarding:
Infine abilitare il forwarding:
<pre>
<pre>
echo 1 > /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv4/ip_forward
</pre>
</pre>


Riga 44: Riga 44:


=Generazione delle chiavi=
=Generazione delle chiavi=
Se non l'abbiamo gia' fatto:
Se non l'abbiamo già fatto:
<pre>
<pre>
# apt-get update && apt-get install openvpn
# apt-get update && apt-get install openvpn
</pre>
</pre>
    
    
Effettuiamo il collegamento fra due macchine, una chiamata in maniera molto originale '''server''' e una '''client'''. <br>Queste due macchine sono di due diversi utenti che possono risiedere ovunque nel mondo. La macchina server  sara' quella in ascolto.
Effettuiamo il collegamento fra due macchine, una chiamata in maniera molto originale '''server''' e una '''client'''. <br>Queste due macchine sono di due diversi utenti che possono risiedere ovunque nel mondo. La macchina server  sarà quella in ascolto.
Spostiamoci sul server, esattamente in /etc/openvpn e creiamo la nostra chiave con:  
Spostiamoci sul server, esattamente in <code>/etc/openvpn</code> e creiamo la nostra chiave con:  
<pre>
<pre>
# openvpn --genkey --secret zmo.key
# openvpn --genkey --secret zmo.key
</pre>
</pre>
Una volta creata dovremmo poterla copiare nella stessa dir del client. Questo passaggio dovrebbe essere fatto nel piu' sicuro dei modi ad esempio tramite mail crittografate, o utilizzando scp (''dalla suite Openssh'').
Una volta creata dovremmo poterla copiare nella stessa dir del client. Questo passaggio dovrebbe essere fatto nel più sicuro dei modi ad esempio tramite mail crittografate, o utilizzando scp (''dalla suite Openssh'').
Utilizzando queste chiavi su tutti gli host (''crittografia simmetrica'') otteniamo una  notevole cifratura del nostro canale in maniera davvero rapida.
Utilizzando queste chiavi su tutti gli host (''crittografia simmetrica'') otteniamo una  notevole cifratura del nostro canale in maniera davvero rapida.


=Collegamento=
=Collegamento=
==Configurazione shared-keys==
==Configurazione shared-keys==
Spostiamoci sul server e creiamo in /etc/openvpn il file server.conf editiandolo cosi':
Spostiamoci sul server e creiamo in <code>/etc/openvpn</code> il file <code>server.conf</code> editandolo così:
<pre>
<pre>
dev tap
dev tap
Riga 68: Riga 68:
</pre>
</pre>


;'''dev''': identifica il device utilizzato per il tunnel. I possibili device utilizzabili da openvpn sono tun e tap. La differenza tra i due device e' fondamentale, in quanto tun si adopera per la trasmissione di pacchetti IP (''una specie di ppp'') e tap invece per la trasmissione di frame ethernet (''una specie di eth''). Per la creazione di lan virtuali o per la condivisione di risorse come file-server, ftp-server, dobbiamo usare tap.
;'''dev''': identifica il device utilizzato per il tunnel. I possibili device utilizzabili da openvpn sono tun e tap. La differenza tra i due device è fondamentale, in quanto tun si adopera per la trasmissione di pacchetti IP (''una specie di ppp'') e tap invece per la trasmissione di frame ethernet (''una specie di eth''). Per la creazione di lan virtuali o per la condivisione di risorse come file-server, ftp-server, dobbiamo usare tap.
;'''port''': socket dell'applicazione, il default e' la 5000, deve essere la stessa da ogni capo della vpn. E' da sottolineare che sul server invece di ''port'' si scrivera' '''lport''' (''local'') mentre sui client '''rport''' (''remote'').
;'''port''': socket dell'applicazione, il default è la 5000, deve essere la stessa da ogni capo della vpn. È da sottolineare che sul server invece di ''port'' si scriverà '''lport''' (''local'') mentre sui client '''rport''' (''remote'').
;'''ifconfig''': determina l'ip dell'interfaccia virtuale (''tun o tap'').  
;'''ifconfig''': determina l'IP dell'interfaccia virtuale (''tun o tap'').  
;'''secret''': a questa stringa diamo il path della key creata in precedenza con openvpn.
;'''secret''': a questa stringa diamo il path della key creata in precedenza con openvpn.
;'''verb''': verb definisce il grado di verbose stampato a video in output durante l'esecuzione (''da 0 a 11 sono spiegati dando openvpn --help'').
;'''verb''': verb definisce il grado di verbose stampato a video in output durante l'esecuzione (''da 0 a 11 sono spiegati dando openvpn --help'').


Adesso sul client creiamo il file '''/etc/openvpn/client.conf''' cosi':
Adesso sul client creiamo il file '''/etc/openvpn/client.conf''' così:
  <pre>
  <pre>
remote www.hostremoto.net (che ovviamente corrispondera' al server)
remote www.hostremoto.net (che ovviamente corrisponderà al server)
dev tap  
dev tap  
rport 5000
rport 5000
Riga 84: Riga 84:
</pre>
</pre>


;'''remote''': a remote diamo l'ip pubblico della macchina alla quale ci connetteremo, oppure l'hostname come nell'esempio.
;'''remote''': a remote diamo l'IP pubblico della macchina alla quale ci connetteremo, oppure l'hostname come nell'esempio.


A questo punto lanciamo il collegamento su entrambe le macchine, indicando al programma di attenersi alle regole appena definite nei rispettivi server.conf e client.conf:
A questo punto lanciamo il collegamento su entrambe le macchine, indicando al programma di attenersi alle regole appena definite nei rispettivi server.conf e client.conf:
Riga 119: Riga 119:
==Configurazione SSL/TLS==
==Configurazione SSL/TLS==
===Openvpn & Openssl===
===Openvpn & Openssl===
Adesso, avvalendoci di SSL/TLS, configureremo un CA (''Certificate Authority'') che servira' a firmare i certificati degli host e a rendere disponibile il proprio; creeremo le rispettive chiavi (''una anche per il CA stesso'') facendo in modo che ognuno detenga una chiave e un certificato firmato. Infine, per lo scambio sicuro di tali dati, creeremo un Diffie-Hellman.
Adesso, avvalendoci di SSL/TLS, configureremo un CA (''Certificate Authority'') che servirà a firmare i certificati degli host e a rendere disponibile il proprio; creeremo le rispettive chiavi (''una anche per il CA stesso'') facendo in modo che ognuno detenga una chiave e un certificato firmato. Infine, per lo scambio sicuro di tali dati, creeremo un Diffie-Hellman.
<pre>
<pre>
apt-get install openssl
# apt-get install openssl
</pre>
</pre>


===Configurazione CA===
===Configurazione CA===
Il CA risiedera' sul server, ma distinguiamo le entita' in questo modo:  
Il CA risiederà sul server, ma distinguiamo le entità in questo modo:  
CA – Server – Client0 – Client1...<br>
CA – Server – Client0 – Client1...<br>
Occupiamoci del CA; facciamogli generare una sua chiave (''ca.key''), una sua richiesta di certificato (''rich.ca''), facciamogliela autofirmare (''ca.cert'') e depositare successivamente su ogni host. Dunque, sempre sul server, torniamo in /etc/openvpn.
Occupiamoci del CA; facciamogli generare una sua chiave (''ca.key''), una sua richiesta di certificato (''rich.ca''), facciamogliela autofirmare (''ca.cert'') e depositare successivamente su ogni host. Dunque, sempre sul server, torniamo in <code>/etc/openvpn</code>.
   
   
<pre>
<pre>
Riga 157: Riga 157:


===TLS-Server & TLS-Client===
===TLS-Server & TLS-Client===
Occupiamoci ora di server e client, la loro configurazione e' pressoche' uguale.<br>
Occupiamoci ora di server e client, la loro configurazione è pressoché uguale.<br>
Sul server:
Sul server:
<pre>
<pre>
Riga 171: Riga 171:
# openssl dhparam -out dh.pem 1024
# openssl dhparam -out dh.pem 1024
</pre>
</pre>
{{Box|Nota|Il format di default adottato da dhparam e' PEM (''adozione standard di Unix''). Per una ulteriore consultazione del flag dhparam, fare riferimento a questa pagina: [http://www.mkssoftware.com/docs/man1/openssl_dhparam.1.asp Openssl dhparam]
{{Box|Nota|Il format di default adottato da dhparam è PEM (''adozione standard di Unix''). Per una ulteriore consultazione del flag dhparam, fare riferimento a questa pagina: [http://www.mkssoftware.com/docs/man1/openssl_dhparam.1.asp Openssl dhparam]
}}
}}


Riga 179: Riga 179:
# openssl req -new -key client.key -out rich.cli
# openssl req -new -key client.key -out rich.cli
</pre>
</pre>
Spediamo il certificato al CA (''che risiede sul server''), facciamocelo firmare e rispedire in /etc/openvpn (''stessa procedura del server per la firma'').
Spediamo il certificato al CA (''che risiede sul server''), facciamocelo firmare e rispedire in <code>/etc/openvpn</code> (''stessa procedura del server per la firma'').


'''Server.conf'''<br>
'''Server.conf'''<br>
Compilare cosi' il file per il server:
Compilare così il file per il server:
<pre>
<pre>
dev tap
dev tap
Riga 196: Riga 196:


'''Client.conf'''<br>
'''Client.conf'''<br>
Compilare cosi' il file per il client:
Compilare così il file per il client:
<pre>
<pre>
remote www.hostremoto.net (che ovviamente corrispondera' al server)
remote www.hostremoto.net (che ovviamente corrisponderà al server)
dev tap
dev tap
ifconfig 10.0.0.2 255.255.255.0
ifconfig 10.0.0.2 255.255.255.0
Riga 216: Riga 216:
=Demonizzare Openvpn=
=Demonizzare Openvpn=
==Lo script /etc/init.d/openvpn==
==Lo script /etc/init.d/openvpn==
Questo script, che demonizza openvpn, una volta lanciato va a cercare nella dir /etc/openvpn il file con estensione '''.conf''' che dovra' corrispondere al file di configurazione. Dico questo poiche' in varie documentazioni lo troverete con estensioni diverse (''es: .ovpn etc..'') che lo script non riconoscerebbe come valido.  
Questo script, che demonizza openvpn, una volta lanciato va a cercare nella dir <code>/etc/openvpn</code> il file con estensione '''.conf''' che dovrà corrispondere al file di configurazione. Dico questo poiché in varie documentazioni lo troverete con estensioni diverse (''es: .ovpn etc..'') che lo script non riconoscerebbe come valido.  
<pre>
<pre>
# /etc/init.d/openvpn start
# /etc/init.d/openvpn start
</pre>
</pre>
Una volta avviato lo script attivera' il demone. Per impostarlo al boot:
Una volta avviato lo script attiverà il demone. Per impostarlo al boot:
<pre>
<pre>
# update-rc.d openvpn defaults
# update-rc.d openvpn defaults
Riga 226: Riga 226:
Per rimuoverlo dal boot:
Per rimuoverlo dal boot:
<pre>
<pre>
update-rc.d -f openvpn remove
# update-rc.d -f openvpn remove
</pre>
</pre>


==Openvpn & log==
==Openvpn & log==
Per loggare l'output in un file qualunque (''anche se non esiste verra' creato'') aggiungere la riga al file .conf:
Per loggare l'output in un file qualunque (''anche se non esiste verrà creato'') aggiungere la riga al file .conf:
<pre>
<pre>
log /var/log/openvpn.log
log /var/log/openvpn.log
</pre>
</pre>
Il file di log sara'piu' o meno forbito in base al valore che avremo dato al parametro '''verb'''.
Il file di log sarà più o meno forbito in base al valore che avremo dato al parametro '''verb'''.


=Conclusioni=
=Conclusioni=
[http://www.openvpn.net Openvpn] permette la creazione di vpn da applicativo ad applicativo, non necessitando quindi di modifiche nel kernel come nel caso di vpn che implementino IPSEC. Gira su le principali piattaforme allacciando quindi OS diversi.Anche se lo standard IPSEC e' una realta' nei dispositivi di rete hardware, il livello di sicurezza che openvpn puo' raggiungere e' indiscutibile.
[http://www.openvpn.net Openvpn] permette la creazione di vpn da applicativo ad applicativo, non necessitando quindi di modifiche nel kernel come nel caso di vpn che implementino IPSEC. Gira su le principali piattaforme allacciando quindi OS diversi.Anche se lo standard IPSEC è una realtà nei dispositivi di rete hardware, il livello di sicurezza che openvpn può raggiungere è indiscutibile.
==Riferimenti:==
==Riferimenti:==
[http://openvpn.net Openvpn.net]<br>
[http://openvpn.net Openvpn.net]<br>

Versione delle 16:53, 17 gen 2010

Introduzione

Una VPN (Virtual Private Network) è un tipo di interconnessione tra computer che permette, sul piano logico, di comprendere in una LAN (Local Area Network) computer residenti in qualsiasi parte del pianeta. Solitamente si considera una LAN come una rete di computer locali, identificati da un indirizzo e una classe di IP (es: 192.168.0.0/24, 10.0.0.0/24 etc.). Con un collegamento VPN, un computer che si trovi fisicamente al di fuori di tale LAN, può risultarne un perfetto membro.

Tre computer, quindi, che si trovassero rispettivamente a Madrid, Londra e Roma potrebbero, grazie ad una VPN, creare la seguente rete:

                                                   
______________                       _______________ 
|    LAN      | ----- INTERNET ----- |    LAN      |
|   Madrid    |          |           |    Roma     |
| 192.168.0.1 |          |           | 192.168.0.3 |
|_____________|    ______|_______    |_____________|
                  |     LAN     |         
                  |    Londra   |           
                  | 192.168.0.2 |            
                  |_____________|

La tecnica che permette di creare connessioni sicure attraverso reti insicure consiste nell'utilizzare un tunnel criptato attraverso il quale far transitare le nostre comunicazioni, rendendole di fatto invisibili all'esterno.

Prima di cominciare

La prima cosa da fare è verificare in /dev la presenza della dir net contenente il device virtuale tun. Se tutto ciò non ci fosse, crearlo con:

# mkdir /dev/net && mknod /dev/net/tun c 10 200

tirare su il rispettivo modulo e far sì che al boot venga caricato:

# modprobe tun
# echo "tun" >> /etc/modules
Info.png Nota
La creazione del device virtuale /dev/net/tun permetterà sia a tun che a tap di funzionare e di poter essere richiamati dall'applicazione al momento della connessione (modo dinamico) ; ed è lo stesso device che permette ad Openvpn di crearsi quei device in modo permanente (modo statico).


Infine abilitare il forwarding:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Openvpn & Iptables

Diamo le opportune regole al firewall:

iptables -A INPUT -p udp --dport 5000 -s 10.0.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -s 10.0.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT

Generazione delle chiavi

Se non l'abbiamo già fatto:

# apt-get update && apt-get install openvpn

Effettuiamo il collegamento fra due macchine, una chiamata in maniera molto originale server e una client.
Queste due macchine sono di due diversi utenti che possono risiedere ovunque nel mondo. La macchina server sarà quella in ascolto. Spostiamoci sul server, esattamente in /etc/openvpn e creiamo la nostra chiave con:

# openvpn --genkey --secret zmo.key

Una volta creata dovremmo poterla copiare nella stessa dir del client. Questo passaggio dovrebbe essere fatto nel più sicuro dei modi ad esempio tramite mail crittografate, o utilizzando scp (dalla suite Openssh). Utilizzando queste chiavi su tutti gli host (crittografia simmetrica) otteniamo una notevole cifratura del nostro canale in maniera davvero rapida.

Collegamento

Configurazione shared-keys

Spostiamoci sul server e creiamo in /etc/openvpn il file server.conf editandolo così:

dev tap
lport 5000
ifconfig 10.0.0.1 255.255.255.0
secret /etc/openvpn/zmo.key	
verb 9
dev
identifica il device utilizzato per il tunnel. I possibili device utilizzabili da openvpn sono tun e tap. La differenza tra i due device è fondamentale, in quanto tun si adopera per la trasmissione di pacchetti IP (una specie di ppp) e tap invece per la trasmissione di frame ethernet (una specie di eth). Per la creazione di lan virtuali o per la condivisione di risorse come file-server, ftp-server, dobbiamo usare tap.
port
socket dell'applicazione, il default è la 5000, deve essere la stessa da ogni capo della vpn. È da sottolineare che sul server invece di port si scriverà lport (local) mentre sui client rport (remote).
ifconfig
determina l'IP dell'interfaccia virtuale (tun o tap).
secret
a questa stringa diamo il path della key creata in precedenza con openvpn.
verb
verb definisce il grado di verbose stampato a video in output durante l'esecuzione (da 0 a 11 sono spiegati dando openvpn --help).

Adesso sul client creiamo il file /etc/openvpn/client.conf così:

remote www.hostremoto.net (che ovviamente corrisponderà al server)
dev tap 
rport 5000
ifconfig 10.0.0.2 255.255.255.0
secret /etc/openvpn/zmo.key	
verb 9
remote
a remote diamo l'IP pubblico della macchina alla quale ci connetteremo, oppure l'hostname come nell'esempio.

A questo punto lanciamo il collegamento su entrambe le macchine, indicando al programma di attenersi alle regole appena definite nei rispettivi server.conf e client.conf:

# openvpn --config /etc/openvpn/xxxx.conf

Tra le righe di output del client dovrebbero apparire tra le altre queste due stringhe:

Wed Sep  7 15:45:28 2005 Peer Connection Initiated with www.hostremoto.net:5000
Wed Sep  7 15:45:29 2005 Initialization Sequence Completed

Andiamo sul server e diamo:

# ifconfig tap
tap0   Link encap:Ethernet  HWaddr 01:F0:EF:27:41:4C
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Nlla riga inet addr vengono indicati ip, broadcast e netmask.
Proviamo a pingare l'host che sappiamo connesso:

# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=258 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=135 ms
 

In questo modo disporremo rapidamente di un canale cifrato relativamente sicuro, per lo scambio di dati privati.

Configurazione SSL/TLS

Openvpn & Openssl

Adesso, avvalendoci di SSL/TLS, configureremo un CA (Certificate Authority) che servirà a firmare i certificati degli host e a rendere disponibile il proprio; creeremo le rispettive chiavi (una anche per il CA stesso) facendo in modo che ognuno detenga una chiave e un certificato firmato. Infine, per lo scambio sicuro di tali dati, creeremo un Diffie-Hellman.

# apt-get install openssl

Configurazione CA

Il CA risiederà sul server, ma distinguiamo le entità in questo modo: CA – Server – Client0 – Client1...
Occupiamoci del CA; facciamogli generare una sua chiave (ca.key), una sua richiesta di certificato (rich.ca), facciamogliela autofirmare (ca.cert) e depositare successivamente su ogni host. Dunque, sempre sul server, torniamo in /etc/openvpn.

# openssl genrsa -out ca.key
Generating RSA private key, 512 bit long modulus
...++++++++++++
........++++++++++++
e is 65537 (0x10001)

# openssl req -new -key ca.key -out rich.ca
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:

...questa sezione compilatela a discrezione vostra.

# openssl x509 -req -in rich.ca -signkey ca.key –out ca.cert
Signature ok
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
Getting Private key

Ricapitolando dovremmo aver creato ca.key rich.ca e ca.cert.

TLS-Server & TLS-Client

Occupiamoci ora di server e client, la loro configurazione è pressoché uguale.
Sul server:

# openssl genrsa -out server.key
# openssl req -new -key server.key -out rich.ser

Facciamo firmare al CA la richiesta di certificato del server:

# openssl x509 -req -in rich.ser -CA ca.cert -CAkey ca.key -CAcreateserial -out ser.cert

Sul server creiamo anche il Diffie-Hellman:

# openssl dhparam -out dh.pem 1024
Info.png Nota
Il format di default adottato da dhparam è PEM (adozione standard di Unix). Per una ulteriore consultazione del flag dhparam, fare riferimento a questa pagina: Openssl dhparam


Sui client:

# openssl genrsa -out client.key
# openssl req -new -key client.key -out rich.cli

Spediamo il certificato al CA (che risiede sul server), facciamocelo firmare e rispedire in /etc/openvpn (stessa procedura del server per la firma).

Server.conf
Compilare così il file per il server:

dev tap
ifconfig 10.0.0.1 255.255.255.0
tls-server
dh dh.pem
ca ca.cert
cert ser.cert
key server.key
lport 5000
verb 4

Client.conf
Compilare così il file per il client:

remote www.hostremoto.net (che ovviamente corrisponderà al server)
dev tap
ifconfig 10.0.0.2 255.255.255.0
tls-client
ca ca.cert
cert cli.cert
key client.key
rport 5000
verb 4

Una volta compilati i file, lanciamo openvpn su entrambe le macchine come in precedenza:

openvpn –config xxxx.conf

Demonizzare Openvpn

Lo script /etc/init.d/openvpn

Questo script, che demonizza openvpn, una volta lanciato va a cercare nella dir /etc/openvpn il file con estensione .conf che dovrà corrispondere al file di configurazione. Dico questo poiché in varie documentazioni lo troverete con estensioni diverse (es: .ovpn etc..) che lo script non riconoscerebbe come valido.

# /etc/init.d/openvpn start

Una volta avviato lo script attiverà il demone. Per impostarlo al boot:

# update-rc.d openvpn defaults

Per rimuoverlo dal boot:

# update-rc.d -f openvpn remove

Openvpn & log

Per loggare l'output in un file qualunque (anche se non esiste verrà creato) aggiungere la riga al file .conf:

log /var/log/openvpn.log

Il file di log sarà più o meno forbito in base al valore che avremo dato al parametro verb.

Conclusioni

Openvpn permette la creazione di vpn da applicativo ad applicativo, non necessitando quindi di modifiche nel kernel come nel caso di vpn che implementino IPSEC. Gira su le principali piattaforme allacciando quindi OS diversi.Anche se lo standard IPSEC è una realtà nei dispositivi di rete hardware, il livello di sicurezza che openvpn può raggiungere è indiscutibile.

Riferimenti:

Openvpn.net
www.openssl.org
Openvpn e reti private virtuali
Appunti Linux


Autore: zmo