OpenVPN

Page last edited 466 giorni 23 ore fa
Da wiki.betaingegneria.it.

Bibliografia[modifica]

[1]

Installazione di openvpn[modifica]

   $ sudo apt-get install openvpn

Installazione di KvpnC[modifica]

Copiare nella directory di configurazione (se l'è creata l'installazione di openvpn) i seguenti files:

Il file di configurazione

  root@jsbach:/etc/openvpn# sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .

Il certificato client

  root@jsbach:/etc/openvpn# cp /home/marcob/somewhere/vpn/mycert.crt .

La chiave pubblica di crittografia

  root@jsbach:/etc/openvpn# cp /home/marcob/somewhere/vpn/mycert.key .

Il certificato della Certification Authority

  root@jsbach:/etc/openvpn# cp /home/marcob/somewhere/vpn/ca.crt .

Modificare il file di configurazione così:

  • sezione remote hostname
   # The hostname/IP and port of the server.
   # You can have multiple remote entries
   # to load balance between the servers.
   remote my-server-1 1194
   ;remote my-server-2 1194
  • sezione parametri SSL/TLS
   # SSL/TLS parms.
   # See the server config file for more
   # description.  It's best to use
   # a separate .crt/.key file pair
   # for each client.  A single ca
   # file can be used for all clients.
   ca ca.crt
   cert mycert.crt
   key mycert.key

PROBLEMI[modifica]

  debug: [openvpn] Options error: --dh fails with 'dh1024.pem': No such file or directory
   debug: openvpn: /usr/sbin/openvpn
   debug: Support for TUN/TAP found (compiled into kernel or kernel module already loaded).
   debug: Default interface: "wlp2s0".
   debug: IP address of default interface: "192.168.43.96".
   info: Trying to connect to server "fw.mia.azienda.it" with ... 
   debug: Setting DNS_UPDATE "NO".
   debug: Starting Openvpn management handler...
   debug: [openvpn] Options error: --dh fails with 'dh1024.pem': No such file or directory
   debug: [openvpn] Options error: Please correct these errors.
   debug: [openvpn] Use --help for more information.

In questo avvia ci sono più problemi. Rispetto al tentativo di ieri dietro ad un fireqall, almeno oggi vedo default interface = alla mia interfaccia WiFi (ieri vedevo localhost)

Il problema è sempre quello: dove trovo il file dh1024.pem?


Semplice configurazione del client[modifica]

[2]

Ci sono diverse implementazioni OpenVPN per client, con e senza GUI: maggiori informazioni sui client verranno fornite in una successiva sezione. Per il momento verrà utilizzato OpenVPN client per Ubuntu, che è lo stesso eseguibile usato per il server. È pertanto necessario installare nuovamente il pacchetto openvpn sul client:

   sudo apt-get install openvpn

Questa volta copiare il file di configurazione d'esempio client.conf in /etc/openvpn/.

   sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/

Copiare le chiavi client e il certificato della CA, creati come indicato in una precedente sezione, per esempio in /etc/openvpn/ e modificare /etc/openvpn/client.conf per assicurarsi che le righe seguenti puntino a quei file; se i file sono in /etc/openvpn/ si può omettere il percorso.

   ca ca.crt
   cert barbato-marco-soluzinf.crt
   key barbato-marco-soluzinf.key

È necessario almeno specificare il nome o l'indirizzo del server Open VPN; assicurarsi che la parola chiave «client» sia nella configurazione: è questo che abilita la modalità client.

   client
   remote vpnserver.example.com 1194

Assicurarsi anche di specificare i nomi dei file chiave copiati dal server

   ca ca.crt
   cert barbato-marco-soluzinf.crt
   key barbato-marco-soluzinf.key

Ora avviare il client OpenVPN (che è sempre un demone):

   root@client:/etc/openvpn# service openvpn start

Problema 1[modifica]

All'avvio di openvpn vedo in syslog questo errore

   Mar 14 11:51:23 jsbach ovpn-client[9183]: Certificate does not have key usage extension

Si deve disabilitare il controllo che il certificato abbia il corretto key usage set nel file client.conf:

   # Verify server certificate by checking that the
   # certicate has the correct key usage set.
   # This is an important precaution to protect against
   # a potential attack discussed here:
   #  http://openvpn.net/howto.html#mitm
   #
   # To use this feature, you will need to generate
   # your server certificates with the keyUsage set to
   #   digitalSignature, keyEncipherment
   # and the extendedKeyUsage to
   #   serverAuth
   # EasyRSA can do this for you.
   ;remote-cert-tls server

Notare il punto e virgola che commenta la riga (nel mio caso non c'era e il controllo era abilitato).

Riavviare il servizio openvpn, ora si dovrebbe vedere una o più di una voce tun (tunnel) tra le interfacce di rete:

   tun0      Link encap:UNSPEC  IndirizzoHW 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
             indirizzo inet:10.8.0.1  P-t-P:10.8.0.2  Maschera:255.255.255.255
             UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
             TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
             collisioni:0 txqueuelen:100 
             Byte RX:0 (0.0 B)  Byte TX:1881 (1.8 KB)