Академический Документы
Профессиональный Документы
Культура Документы
Cet article traite de l'installation et de la configuration d'un rseau priv virtuel ou VPN avec le logiciel Open Source OpenVPN.
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Introduction...................................................................................................................................................................3 I - Qu'est-ce qu'un VPN ?............................................................................................................................................4 II - Installation d'OpenVPN.......................................................................................................................................... 5 III - Gnration des certificats et cls d'authentification............................................................................................. 6 III-1 - Initialisation des variables de gnration..................................................................................................... 6 III-2 - Gnration du certificat et de la cl d'autorit de certification..................................................................... 6 III-3 - Gnration du certificat et de cl pour le serveur....................................................................................... 7 III-4 - Gnration des certificats et cls pour les clients....................................................................................... 7 III-5 - Gnration des paramtres de Diffie-Hellman.............................................................................................7 IV - Configuration.........................................................................................................................................................9 IV-1 - Prrequis...................................................................................................................................................... 9 IV-2 - Configuration du serveur............................................................................................................................10 IV-3 - Configuration des clients............................................................................................................................11 IV-3-a - Clients Linux...................................................................................................................................... 11 IV-3-b - Clients windows XP ou Vista............................................................................................................ 12 IV-3-c - Alternative clients windows Vista ou Seven...................................................................................... 14 V - Conclusion........................................................................................................................................................... 15 Remerciements.......................................................................................................................................................... 16
-2Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Introduction
OpenVPN est un logiciel libre permettant de crer facilement une liaison VPN site site. OpenVPN permet des pairs de s'authentifier entre eux l'aide d'une cl prive partage l'avance ou de certificats. Il fonctionne sur un mode client/serveur, ce qui implique son installation sur les 2 sites distants, l'un ct client, l'autre ct serveur.
-3Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
-4Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
II - Installation d'OpenVPN
Remarque : La mthode d'installation propose dans cet article repose sur le fonctionnement de la distribution Debian et ses drivs. Pour les autres distributions, veuillez vous reporter aux commandes de gestions des paquets implantes pour la distribution choisie. Installation d'OpenVPN proprement dit : Installation d'OpenVPN
Installation d'OpenSSL pour la scurisation des donnes : Remarque : Gnralement, OpenSSL est install par dfaut sur les machines et ne ncessite donc pas d'tre rinstall. Installation d'OpenSSL
-5Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
On cre ensuite un dossier keys destin contenir les diffrents certificats et cls gnrs : Cration du rpertoire destin contenir les cls et certificats
> mkdir /etc/openvpn/easy-rsa/keys/
On entre les informations personnelles comme suit : Informations renseigner dans le fichier vars
Export Export Export Export Export Export KEY_DIR=$D/keys KEY_COUNTRY=FR KEY_PROVINCE=FR KEY_CITY=Lyon KEY_ORG=example KEY_EMAIL=example@toto.org
Enfin, on excute enfin le script afin d'initialiser les variables : Excution du script vars
> . ./vars
-6Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Pour gnrer ce master CA et la cl correspondante, il faut excuter les scripts suivants partir du dossier /etc/ openvpn/easy-rsa : Excution du script clean-all
> ./clean-all > ./build-ca
L'excution du script build-ca entrane la cration du certificat ca.crt et de la cl ca.key dans le rpertoire /etc/ openvpn/easy-rsa/keys.
Attention : La commande d'xecution du script build-key-server doit tre suivie d'un nom donn au serveur. Ce nom n'a pas d'importance en soit, il peut tre ce que vous voulez. L'important est de toujours utiliser le mme nom quand celui-ci est demand ! Diffrentes informations sont demandes pendant l'excution de ce script : Commun-name : Entrez le nom du serveur que vous avez pour lancer le script !!! Sign the certificate ? : tapez "yes" 1 out of 1 certificate requests certificated, commit : tapez "yes" Ce script conduit la cration des fichiers nom_choisi_du_serveur.crt et nom_choisi_du_serveur.key dans le dossier /etc/openvpn/easy-rsa/keys.
Attention : Encore une fois, de mme manire que pour le serveur, l'excution du script build-key demande d'entrer le nom du client : Pour le paramtre Commun-name , saisissez le mme nom que nom_du_client1 que vous avez utilis dans la commande ! Rptez cette opration autant de fois que vous voulez pour gnrer plusieurs certficats et cls si vous avez plusieurs clients. N'oubliez pas cependant de changer de nom_du_client chaque fois !!! Ce script entraine la cration des fichiers nom_du_client1.crt et nom_du_client1.key dans le dossier /etc/opnevpn/ easy-rsa/keys.
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Pour plus d'information, je vous invite vous rendre sur la page de Wikipedia traitant de ce sujet. Les paramtres de Diffie-Hellman sont gnrs par l'excution du script build-dh partir du dossier /etc/openvpn/ easy-rsa : Gnration des paramtres de Diffie-Hellman
> ./build-dh
Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time .................+........................................... ...................+.............+.................+......... ......................................
-8Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Architecture rseau utilise comme exemple pour cet article. La cration des cls et certificats d'authentification est termine. Nous allons pass la configuration du serveur et des clients. Afin de configurer au mieux le serveur et les clients, il est ncessaire de prparer le terrain. Des exemples de fichiers de configuration sont prsents dans le dossier /usr/share/doc/openvpn/examples/ sample-config-files/. On place les diffrents fichiers de configuration ncessaires dans /etc/openvpn/ : Copie du fichier de conf server.conf dans le dossier openvpn
> cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
-9Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Copie du fichier de conf client.conf dans le dossier openvpn Ensuite, on dcompresse le fichier server.conf.gz : Extraction du fichier de conf server
voil, les exemples de fichiers de configuration sont prts, il ne reste qu' les paramtrer.
- 10 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Voila, la configuration du ct serveur est termine ! Facile, non ? Pour dmarrer le serveur, la commande est : Dmarrage du serveur OpenVPN
> /etc/init.d/openvpn start
Vous pouvez vrifier que tout s'est bien pass jusqu' prsent en vrifiant la cration et la bonne configuration de l'interface tun0 : Affichage des interfaces rseau
> ifconfig
Vous devriez avoir quelque-chose dans ce style : Exemple d'informations pour une interface tun correctement configure
tun0
Lien encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00 inet adr:192.168.0.1 P-t-P:192.168.0.2 Masque: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:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Pour garder une certaine cohrence entre le serveur et les clients, j'utilise la mme hirarchie de dossiers sur les clients que sur le serveur. Ainsi, on cre un dossier config et un dossier /easy-rsa/keys dans /etc/openvpn :
> mkdir /etc/openvpn/config && mkdir /etc/openvpn/easy-rsa && mkdir /etc/openvpn/easy-rsa/keys
Pour fonctionner, les clients ont besoin de 4 fichiers provenant du serveur : 1. ca.crt 2. nom_du_client1.crt 3. nom_du_client1.key 4. le fichier de configuration client.conf
Voici le contenu du fichier client.conf permettant de se connecter au serveur dfini prcdemment : Explication du contenu du fichier de conf client
#pour signaler que c'est un client ! client
- 11 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
#type d'interface dev tun #protocole de communication proto udp #adresse ip publique du rseau dans lequel le serveur est install + port identique au serveur remote 82.236.27.215 1595 #tentative de connexion infinie resolv-retry infinite nobind #pour rendre la connexion persistante persist-key persist-tun #pour cacher les avertissements mute-replay-warnings #emplacement du master CA ca /etc/openvpn/easy-rsa/keys/ca.crt #emplacement du certificat client cert /etc/openvpn/easy-rsa/keys/nom_du_client1.crt #emplacement de la cl prive du client key /etc/openvpn/easy-rsa/keys/nom_du_client1.key #type d'encryptage des donnes cipher AES-128-CBC #activation de la compression comp-lzo #niveau de verbosit verb 5
L'installation finie, deux petits ordinateurs avec un globe font leur apparition dans la barre des tches. Cela correspond l'interface virtuelle nouvellement cre TAP-Win32 Adapter V8 permettant la connexion au VPN.
- 12 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Icne de l'interface TAP Win32 pour OpenVPN dans la barre des tches de Windows. Copiez les 4 fichiers suivants dans le dossier C:\Program Files\OpenVPN\config : 1. ca.crt 2. nom_du_client1.crt 3. nom_du_client1.key 4. client.conf Attention : Petite subtilit, il faut renommer le fichier client.conf en client.ovpn !!! La configuration du fichier de configuration client.ovpn est la mme que pour un client Linux, except pour les chemins de fichiers. Si les certificats et cls sont bien placs dans le dossier config, le contenu du fichier client.ovpn doit tre : Explication du contenu du fichier de conf client
#pour signaler que c'est un client ! client #type d'interface dev tun #protocole de communication proto udp #adresse ip publique du rseau dans lequel le serveur est install + port #identique au serveur remote 82.236.27.215 1595 #tentative de connexion infinie resolv-retry infinite nobind #pour rendre la connexion persistante persist-key persist-tun #pour cacher les avertissements mute-replay-warnings #emplacement du master CA ca ca.crt #emplacement du certificat client cert nom_du_client1.crt #emplacement de la cl prive du client key nom_du_client1.key #type d'encryptage des donnes cipher AES-128-CBC #activation de la compression comp-lzo #niveau de verbosit verb 5
Pour se connecter au VPN, un clic droit sur l'icne d'interface TAP-Win32 Adaptater V8 et connect ...
- 13 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Connexion au VPN. Si la connexion au VPN est un succs, les crans de l'icne de l'interface TAP-Win32 Adaptater V8 deviennent verts.
- 14 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
V - Conclusion
A prsent, vous devez tre capable de raliser un VPN distant. Cet article propose une configuration fonctionnelle, cependant il ne dcrit pas l'ensemble des possibilits qu'offre OpenVPN. Pour de plus amples informations et pour dcouvrir les autres options de configuration que propose OpenVPN, je vous invite lire la documentation officielle d'OpenVPN. J'espre que cet article vous a t utile.
- 15 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/
VPN : installation et configuration d'un VPN rout avec OpenVPN par Mathieu Androz (Accueil)
Remerciements
Je tiens remercier ovh pour m'avoir guid dans mes premiers pas de rdacteur.
- 16 Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise l'obtention pralable de l'authorisation de l'auteur.
http://mathieu-androz.developpez.com/articles/linux/vpn/