Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
unix:openvpn_d_un_reseau_a_l_autre [2006/09/10 19:56]
imil
unix:openvpn_d_un_reseau_a_l_autre [2010/01/12 13:29] (current)
Line 1: Line 1:
 +De chez moi, j'​aimerais bien accéder au réseau privé de mon employeur.
 +De chez mon employeur, j'​aimerais bien accéder à mon réseau privé.
 +Mais tout ceci dans la convivialité la plus totale, sans avoir à utiliser le réseau de tunneling.
  
 +Vous connaissez probablement l'​outil du bien [[http://​openvpn.net|OpenVPN]]. Ce dernier, en plus d'​être évangeliquement simple, fournit moult directives pour manipulier votre routage-cuisine. Voici par exemple les fichiers de conf, respectivement,​ de mon serveur OpenVPN :
 +<​code>​
 +# -- conf serveur
 +
 +tls-server
 +
 +port 4343
 +dev tun
 +
 +# on change de repertoire
 +cd /​home/​imil/​etc/​openvpn
 +# certificats et clés (voir http://​openvpn.net/​howto.html pour leur génération)
 +ca certs/​certificatserveur-ca.crt
 +cert certs/​cerificatclient.crt
 +key certs/​cleclient.key
 +dh certs/​dh1024.pem
 +# on permet plusieurs clients avec le meme common name (déconseillé)
 +# duplicate-cn
 +
 +# configurations client particulières
 +client-config-dir ccd
 +
 +# pool privé sur lequel vont s'​établir les tunnels
 +server 10.40.0.0 255.255.255.0
 +# on retient les ips allouées dans le fichier ipp.txt
 +ifconfig-pool-persist ipp.txt
 +
 +# on permet aux clients de s'​atteindre
 +client-to-client
 +# placement, sur le serveur, des differentes routes vers les réseaux à router
 +route 192.168.1.0 255.255.254.0
 +route 192.168.2.0 255.255.255.0
 +route 192.168.3.0 255.255.255.240
 +# routes à pousser sur les clients
 +push "route 192.168.1.0 255.255.254.0"​
 +push "route 192.168.2.0 255.255.255.0"​
 +push "route 192.168.3.0 255.255.255.240"​
 +
 +# on utilise la compression de type lzo
 +comp-lzo
 +
 +# directives de maintient de connexion
 +keepalive 10 60
 +ping-timer-rem
 +persist-tun
 +persist-key
 +
 +# logs
 +status openvpn-status.log
 +
 +# verbosity
 +verb 3
 +</​code>​
 +La conf client :
 +<​code>​
 +# -- conf client
 +tls-client
 +
 +proto udp
 +dev tun
 +
 +remote serveur.openvpn 4343
 +
 +# inutile de binder sur un port
 +nobind
 +
 +cd /​home/​imil/​etc/​openvpn
 +ca certificatserveur-ca.crt
 +cert client.crt
 +key client.key
 +
 +comp-lzo
 +
 +keepalive 10 60
 +ping-timer-rem
 +persist-tun
 +persist-key
 +
 +# on récupère les differentes directives que le serveur a à nous pousser
 +pull
 +
 +verb 3
 +</​code>​
 +Mon client est nativement en charge du routage du reseau 192.168.3.0/​28,​ il ne faut donc PAS lui pousser de routes pour ce réseau. Grace à la directive client-config-dir placée sur le serveur, je renseigne le fichier <​code>​ccd/​common-name</​code>​ (ou "​common name" provient du certificat généré) avec la liste des routes à ne PAS pousser sur le client, les internal routes, par exemple :
 +<​code>​
 +[~/​etc/​openvpn] cat ccd/iMil
 +iroute 192.168.3.0 255.255.255.240
 +</​code>​
 +
 +Il sera par contre notifié par le serveur de la route à suivre pour atteindre les réseaux 1 et 2.
 +
 +Reste à démarrer openvpn sur le serveur :
 +
 +  openvpn --config /​path/​vers/​openvpn-serveur.conf
 +
 +Puis sur le client
 +
 +  openvpn --config /​path/​vers/​openvpn-client.conf
 +
 +Pour comprendre la signification exacte de chaque directive, man openvpn evidemment.
unix/openvpn_d_un_reseau_a_l_autre.txt · Last modified: 2010/01/12 13:29 (external edit)