Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

OpenVPN client Linux per server Linux —

Come per il server apt-get install openvpn e quindi cd /etc/openvpn.

Personalmente preferisco creare una dir $nomeserverkeys e li cacciare dentro quello che mi serve, lo trovo più comodo e ordinato ed evita di trovarsi in braghe di tela se il client e’ client di più server cosa comunissima per altro quindi nello specifico siamo su “grecale” e creo la dir libecciokey dove copio i certificati e le chiavi.

È ora di preparare il file di configurazione che puo’ chiamarsi client.conf piuttosto che clientperlibeccio.conf  o quello che vi pare in modo da poter avere n file $client .conf  quanti ve ne servono, sarebbe in teoria possibile indicare più remote nello stesso file ma per mia forma mentis preferisco un file univoco per ogni remote host.

vim clientperlibeccio.conf

### connessione con lan di casa
client
definisce il tipo di connessione come client

dev tun

anche qui  definisce il device da usare

proto udp come sul server definisce il protocollo

remote xxx.xxxx.xx.xxx 7207

L’indirizzo IP remoto e la porta a cui connettersi, si può tranquillamente usare una FQDN se lo si ha a disposizione.

resolv-retry infinite

in teoria sarebbe inutile visto che usiamo un IP e non un  FQDN  e per di più non abbiamo diversi remote  ma in sostanza vuol dire non smettere di risolvere il nome mai.

nobind

non bindare il servizio su una specifica porta in locale a un netstat -tulp grecale risponde:

grecale:/etc/openvpn# netstat -tulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp                 0             0                  *:ftp                                    *:*             LISTEN      22505/proftpd: (acc
tcp                 0             0                  *:ssh                                   *:*             LISTEN      1104/sshd
tcp                 0             0                 localhost:smtp               *:*             LISTEN      1164/master
tcp6              0             0                  [::]:ssh                               [::]:*         LISTEN      1104/sshd
udp               0             0                  *:60878                            *:*                                  27059/openvpn

persist-key
persist-tun

stesso discorso del server

ca libecciokeys/ca.crt
cert libecciokeys/libeccio.crt
key libecciokeys/libeccio.key
tls-auth libecciokeys/ta.key 1

come nel server il path di certificati e chiavi

remote-cert-tls server

serve a autenticare la connessione alla fine dell’articolo 2 esempi di log che chirificheranno la questione

cipher BF-CBC

stessa cifratura del server

comp-lzo

stessa compressione del server

ping 10

il tempo in secondi per mandare il ping di keepalive

verb 3

la verbosità dei log

mute 10

soppressione dei messaggi ripetuti.

facendo ripartire openvpn se tutto corretto anche qui si trovera’ il device tun0 con ifconfig.

 

Come accennavo prima, senza la direttiva  remote-cert-tls server nei log si trovano un sacco di avvisi come questo:

ovpn-client1[18325]: WARNING: No server certificate verification method has been enabled.
See http://openvpn.net/howto.html#mitm for more info.

con la direttiva invece:
ovpn-client1[18545]: Validating certificate key usage
ovpn-client1[18545]: ++ Certificate has key usage  00a0, expects 00a0
ovpn-client1[18545]: VERIFY KU OK
ovpn-client1[18545]: Validating certificate extended key usage
ovpn-client1[18545]: ++ Certificate has EKU (str) TLS Web Server
Authentication, expects TLS Web Server Authentication
ovpn-client1[18545]: VERIFY EKU OK.

Categorised as: Linux | Sistemi operativi | Work

Comments are disabled on this post


Comments are closed.


Hide picture