Réseau privé virtuel sous Windows - OpenVPN - Tutoriels. - Tutoriels - Réseaux grand public / SoHo
Marsh Posté le 20-03-2006 à 21:02:11
OpenVPN :
Mais là solution que je vous propose est basée sur OpenVPN ( http://openvpn.net/ ) et parce qu'on ne peut pas mieux se présenter que soit même :
Citation : OpenVPN is a full-featured SSL VPN solution which can accomodate a wide range of configurations, including remote access, site-to-site VPNs, WiFi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-controls. |
OpenVPN est donc une solution de réseau privé virtuel qui utilise SSL (couche de cryptage). Cette solution est ouverte, multi-plateforme, libre et gratuite (ce qui ne vous empêche pas de faire une donation aux êtres humains qui travaillent sur ce projet). Elle est très configurable et parfaitement utilisable dans un environnement d'entreprise. Elle propose pour ces dernières des fonctions avancées comme la répartition de charge et la redondance.
Mon but est donc d'expliquer le plus simplement possible comme mettre en place ce type réseau et accessoirement vous expliquer comment ça marche car c'est quand même intéressant. Vous vous dites que ça commence mal pour la rapidité de déploiement vu tout ce qui précède mais ne vous inquiétez pas, nous y venons%u2026
Pour rendre les choses un poil plus convivial, nous allons utiliser OpenVPN GUI ( http://openvpn.se/ ).
Téléchargeons le package d'installation.
Pour le moment, en version stable, il s'agit de la version 1.0.3 basée sur OpenVPN 2.0.5.
Il n'y a pas de pré-requis particulier à avoir. Lancez l'installation en gardant les options par défaut. Lorsque l'on va vous demander d'installation un nouveau composant sur le système, faites « continuer ». Il s'agit d'une nouvelle interface réseau virtuelle. C'est une particularité de Windows. VMWare utilise le même mécanisme.
Une fois l'installation terminée, on ne commence pas par s'exciter sur la nouvelle icône dans la barre des tâches en pestant que rien ne marche. Il va falloir mettre les mains dans le cambouis.
Commençons par configurer un serveur OpenVPN.
Rendez-vous dans :
C:\Program Files\OpenVPN |
Les présentations sont faites. La procédure que je vais vous décrire suit en grande partie le « how-to » proposé sur le site officiel.
Lancez une console (Démarrer / Exécuter / cmd.exe).
Vous commencez à paniquer ? Retournez au début et passez par la case Hamachi sans toucher aux joies du libre. Il est obligatoire d'utiliser une console pour garder les variables, ne doublez cliquez donc jamais sur les icônes des fichiers batch.
Déplacez-vous à coup(s) de commande « cd » dans C:\Program Files\OpenVPN\easy-rsa
Pour plus de clarté, les commandes à taper seront simplement précédées de « > » dans la suite de ce tutoriel.
Allons-y :
> init-config
Pour préparer le terrain et remettre les pendules à l'heure si vous vous êtes précédemment mélangé les pinceaux.
Il vous faut maintenant éditer le fichier vars.bat qui se trouve dans /easy-rsa.
Il est possible que vous ayez quelques problèmes pour modifier ces fichiers à cause des retours à ligne qui ne sont pas faits de la même façon sur Linux et Windows (tout va apparaître en ligne, les éléments étant séparés par des rectangles). Il vous faut donc un éditeur de texte un peu plus costaud que le bloc-notes. Personnellement j'utilise gVim mais c'est un peu extrémiste et vous risquez de le haïr rapidement si vous ne le connaissez pas. Je vous invite à trouver votre préférence en cherchant et testant quelques éditeurs sur Internet.
Voilà les champs qui nous intéressent :
set KEY_SIZE=1024
La documentation officielle propose aux paranoïaques d'augmenter le chiffrement de la clé à 2048. En contrepartie, les performances seront moins bonnes. J'ai laissé cette option à 1024.
Les champs qui suivent vous permettront simplement de gagner du temps par la suite dans la création de vos certificats, ne laissez aucun champs vide. Pour les non anglophones, je traduis rapidement :
COUNTRY : sigle du pays
PROVINCE : état pour les Etats-Unis, vous pouvez mettre les deux premières lettres de votre région
CITY : la ville
ORG : Le nom de l'organisation ou entreprise
set KEY_COUNTRY=FR
set KEY_PROVINCE=LO
set KEY_CITY=Nancy
set KEY_ORG=MasterJul.net
set KEY_EMAIL=example@masterjul.net
N'oubliez pas d'enregistrer%u2026
Continuons dans les commandes :
> vars
Pour initialiser les variables que l'on vient de définir.
> clean-all
Nettoie toutes les anciennes clés générées dans /keys et prépare une nouvelle base de certificats.
Génération du certificat root et de sa clé pour le réseau :
> build-ca
Pour générer votre certificat d'autorité. Réfléchissez à un « common name » qui sera le nom de votre réseau virtuel. Cela peut être le nom de l'entreprise par exemple précédée de « OpenVPN » par exemple.
Voyons en détail ce qu'il se passe :
C:\Program Files\OpenVPN\easy-rsa>build-ca.bat |
Résultat de tout cela, la création de deux importants fichier dans /easy-rsa/keys :
ca.crt : Le certificat d'authentification root. Il peut être diffusé sans sécurité particulière.
Vous devrez d'ailleurs communiquer ce certificat à vos clients.
ca.key : La clé de ce certificat, sans doute le fichier le plus important. Il permet de signer les certificats des clients. À garder dans un coffre-fort, il n'est pas nécessaire au fonctionnement du serveur. Il ne doit donc évidemment pas circuler sur une liaison non sécurisée.
Génération du certificat et de la clé pour le serveur :
C'est simple, en une commande :
> build-key-server server
N'oubliez pas de préciser l'argument sinon vous risquez d'avoir quelques surprises dans les noms de fichiers générés.
À la différence du certificat root, le « common name » doit ici être « server ».
Je vous propose à nouveau un compte-rendu complet pour éviter les erreurs :
C:\Program Files\OpenVPN\easy-rsa>build-key-server server |
Il faut donc répondre « y » aux deux questions posées pour signer le certificat et l'ajouter à la base.
Nous avons trois nouveaux fichiers :
server.crt : Le certificat du serveur.
server.key : Sa clé, confidentielle.
server.csr : Une demande de signature de certificat, inutile puis que l'on vient de le signer.
Génération du certificat et de la clé pour les clients :
Il y a deux méthodes :
Génération locale des clés : on génère les clés sur le serveur et on lui envoie par un moyen sécurisé. Et j'insiste bien sur ce point. On ne doit jamais faire transiter les clés sur un réseau non sécurisé
Génération de la clé et d'une demande de certificat signé :
C'est le client qui génère lui-même sa clé avec le certificat root (« ca.crt » qu'on lui aura envoyé au préalable sans sécurité particulière). Il a également un fichier « .csr » qu'il peut envoyer sans crainte au serveur. Ce dernier va pouvoir générer un certificat signé en utilisant son certificat et sa clé root. Dès lors, le serveur donne au client son certificat « client1.crt ». C'est la méthodologie logique de ce type d'authentification qui apporte la sécurité nécessaire.
Je développe chaque méthode. Vous comprendrez mieux pourquoi certaines personnes se contentent de la première au dépend d'une faille de sécurité dans la procédure (envoi de la clé par un simple e-mail par exemple).
Préambule :
Notez bien que le « common name » doit être unique pour chaque client. Vous entrerez donc pour chaque couple clé / certificat généré ici successivement « client1 », « client2 », « client3 ».
Il existe une directive permettant à plusieurs clients de partager un même certificat mais c'est une pratique vivement déconseillée. Actuellement si un client tente de se connecter avec un certificat déjà en cours d'utilisation, la première connexion est perdue.
Génération locale des clés :
Nous sommes toujours dans C:\Program Files\OpenVPN\easy-rsa
> build-key client1
> build-key client2
> build-key client3
C'est tout ce qu'il y a faire. Je reviendrai après la seconde méthode sur ce que l'on doit faire des fichiers générés.
Génération de la clé et d'une demande de certificat signé :
Pré-requis :
Vous avez installé un OpenVPN GUI sur votre machine client. Pour le moment rien ne distingue encore vraiment le client du serveur.
Ouvrez une console et tapez :
> init-config
Editez le fichier vars.bat comme pour le serveur, puis continuez :
> vars
> clean-all
Ok, on passe aux choses sérieuses, copiez le certificat root généré par le serveur « ca.crt » (et surtout pas le confidentiel « ca.key ») dans /easy-rsa/keys. Dans un souci de paranoïa élevé et pour éviter une attaque de type « homme dans le milieu », vous devriez vérifier que le client a bien reçu (si vous l'avez envoyé par une connexion non sécurisée) le bon certificat root en le contactant par téléphone et en vérifiant ensemble un md5sum du fichier.
Pour une raison que j'ignore, il n'y pas autant de scripts batch pour Windows que de scripts Unix et il nous manque donc deux scripts que je vous propose de « refaire » en batch.
/build-req.bat : Il permet de générer le fichier « .csr » nécessaire à la demande du certificat.
@echo off |
Vous copiez tout cela dans votre éditeur préféré (évitez Word tout de même, ça marchera moins bien%u2026) et vous enregistrez le tout sous build-req.bat
C'est en fait une version coupée de « build-key ». Vous pouvez éventuellement utiliser « build-key client1 » pour générer la demande, elle sera créée correctement mais vous aurez une erreur car le client ne pourra pas signer directement son certificat (ce que tente de faire « build-key »).
N'oubliez pas de donner un argument au programme et de spécifier son « common name » unique. En pratique, cela peut être le nom de l'ordinateur.
Vous voilà donc muni d'un nouveau fichier, « client1.csr ». Transmettez-le de la façon que vous souhaitez au serveur afin qu'il puisse générer votre certificat.
Sur le serveur, il nous manque le script pour générer le certificat signé, « sign-req.bat ». C'est en fait la seconde partie du script « build-key.bat » :
@echo off |
Vous l'enregistrez sous « sign-req.bat » dans /easy-rsa. Le fichier « client1.csr » doit être copié dans /easy-rsa/keys.
Vous devez, pour signer un certificat, avoir le certificat root (« ca.crt ») et sa clé (« ca.key ») dans le même répertoire que la demande de signature.
Appelez depuis une console avec les variables initialisées correctement (« vars.bat ») :
> sign-req client1
Vous retrouvez un fichier « client1.crt » que vous pouvez communiquer sans crainte au client.
C'est fini !
Note concernant la protection des certificats des clients :
Il est possible d'assigner un mot de passe aux certificats des clients. Il suffit pour cela d'enlever le paramètres « -nodes » dans le fichier « build-key.bat » et le mot de passe vous sera demandé à la création.
Même si cela renforce toujours plus la sécurité, cette mesure risque de devenir rapidement contraignante vous obligeant à rentrer le mot de passe à chaque utilisation du certificat.
Il serait bon de faire un petit résumé avec tous ces fichiers%u2026
|
Vérifiez donc que tout est déjà au bon endroit.
On continue et termine de s'amuser avec les scripts pour le serveur.
Nous devons maintenant générer les paramètres Diffie Hellman ( http://www.rsasecurity.com/rsalabs/node.asp?id=2248 ) pour le serveur :
> build-dh
Cette opération consiste dans la génération dans grand nombre premier. Pour ajouter de l'entropie au processus vous pouvez agiter le pointeur de la souris. Cette opération dure plusieurs dizaines de secondes à plusieurs minutes selon votre configuration.
Le fichier généré s'appelle « dh1024.pem » et doit uniquement être copié dans le /config du serveur. Ce fichier n'est pas confidentiel.
On pourrait s'en arrêter là, mais on va ajouter une dernière clé :
> openvpn --genkey --secret ta.key
Cette clé va permettre d'ajouter une couche de sécurité supplémentaire avec une authentification TLS. Cela va créer un pare-feu HMAC et aidera à contrer les attaques de type DoS et le flood de port UDP.
Cette clé est à copier dans le répertoire /config de chaque machine et sa prise en compte nécessitera une modification dans le fichier de configuration. Ce fichier est partagé entre les machines et secret. Vous devriez donc utiliser une connexion sécurisée préexistante pour le transmettre aux clients.
On résume à nouveau :
Dans le répertoire /config du serveur, vous avez copié : « ca.crt », « server.crt », « server.key », « dh1024.pem » et « ta.key ».
Dans le répertoire /config d'un client, on trouve : « ca.crt », « client1.crt » , « client1.key », « ta.key » .
Fichiers de configuration
Le serveur :
Copiez le fichier « server.ovpn » qui se trouve dans /sample-config dans /config.
Editez-le, voici quelques paramètres essentiels :
port 1194
Le port utilisé par OpenVPN. Vous devez rediriger le port si vous êtes derrière un routeur. Vous pouvez créer plusieurs VPN en utilisant des ports différents.
client-to-client
Il faut « dé-commenter » ce paramètre (enlever le point-virgule) afin que les clients puissent communiquer entre eux, sinon ils ne pourront communiquer qu'avec le serveur.
J'ai vu un tutoriel proposant de faire un VPN par client avec un port différent et de créer des ponts réseaux entre chaque connexion. C'est assez saugrenu à moins d'avoir un intérêt vraiment très spécial à le faire, je n'ai pas encore trouvé.
tls-auth ta.key 0 # This file is secret
Dé-commentez cette ligne si vous utilisez un fichier d'authentification TLS « ta.key » sur les machines.
Le client :
Copiez le fichier « client.ovpn » qui se trouve dans /sample-config dans /config.
Editez-le, voici quelques paramètres essentiels :
remote xx.xx.xx.xx 1194
Spécifiez ici l'adresse (ou le nom NetBIOS) et le port sur lequel joindre le serveur OpenVPN. Vous pouvez spécifier plusieurs adresses de serveur pour répartir la charge automatiquement et proposer une redondance.
cert client1.crt
key client1.key
Pensez à changer ces paramètres en fonctions des fichiers qui sont présents dans le répertoire /config de la machine.
ns-cert-type server
Dé-commentez cette ligne pour ajouter une vérification du certificat du serveur. Le serveur est préconfiguré correctement avec les fichiers par défaut proposés dans /easy-rsa. Cette protection permet d'éviter une attaque du type « homme dans le milieu ».
tls-auth ta.key 1
Dé-commentez cette ligne si vous utilisez un fichier d'authentification TLS « ta.key » sur les machines.
Félicitations ! C'est fini !
Double-cliquez sur l'icône avec les deux ordinateurs et le globe sur le serveur, puis les clients.
On croise les doigts...
Mon Mar 20 20:49:53 2006 OpenVPN 2.0.5 Win32-MinGW [SSL] [LZO] built on Nov 2 2005 |
Ca s'allume en vert, ça marche !
Repérez les lignes « Learn : » qui indiquent les adresses IP que l'on vient d'attribuer à un client et tentez de pinger les machines entre elles.
Mon Mar 20 20:51:15 2006 MULTI: multi_create_instance called |
Tentative de ping du serveur vers un client :
C:\Program Files\OpenVPN\easy-rsa>ping 10.8.0.18 |
Explication de l'utilisation du mode bridge
I - Quel est le problème ?
C'est un problème qui revient souvent sur le topic, voilà une explication de la situation.
Vous avez chez vous un modem-routeur qui cache un réseau local de plage d'adresse 192.168.1.x.
Vous avez mis en place un serveur VPN, c'est une de vos machines de votre réseau, son adresse IP dans votre réseau local est 192.168.1.12.
Ce serveur possède sa propre plage d'adresse pour le VPN, qui est par défaut de la forme 10.8.0.x.
Lorsque vous souhaitez vous connecter sur votre VPN depuis l'extérieur, vous entrez l'adresse IP publique sur vous avez sur Internet, la redirection de port sur votre routeur vous amène sur la machine dédiée à OpenVPN.
Celui-ci va vous donner une adresse disponible dans la plage 10.8.0.x., mettons 10.8.0.2 (10.8.0.1 est l'adresse du serveur).
Vous arrivez à pinger 10.8.0.1, le serveur VPN. Vous arrivez également à pinger 192.168.1.12 c'est l'interface est sur la même machine.
Mais, il est impossible d'atteindre les autres machines de votre réseau local, derrière le serveur VPN.
Il y a deux façons d'obtenir ce que vous souhaitez faire, le mode bridge (pont) ou le routage.
II - La connexion de pont (ou bridge)
1 - Comment cela se passe-t-il en théorie ?
Avec le mode bridge, votre réseau VPN va utiliser la même plage d'adresses que votre réseau local. Autrement dit, votre machine sur laquelle est installé OpenVPN n'aura plus qu'une adresse IP, de la forme 192.168.1.x, nous choisirons 192.168.1.120 pour l'exemple. C'est une adresse IP fixe.
Dans le fichier de configuration, nous préciserons alors la plage que votre serveur VPN attribuera aux clients. Mettons de 192.168.1.128 à 192.168.1.254. Du coup, quand votre client se connectera au VPN, celui-ci va lui donner la première adresse disponible, 192.168.1.128 et ce client fera littéralement "parti" de votre réseau local.
2 - Passons aux choses pratiques :
2.1 - Dans les fichiers de configuration :
- Côté serveur comme client :
Remplacer "dev tun" par "dev tap"
;dev tun |
- Sur le serveur, commentez la ligne "server" de cette façon :
;server 10.8.0.0 255.255.255.0 |
- Sur le serveur, vous allez donner l'adresse IP fixe du VPN sur le réseau local et la plage mise à disposition :
server-bridge adresse-serveur masque debut-plage fin-plage
server-bridge 192.168.1.120 255.255.255.0 192.168.1.128 192.168.1.254 |
2.2 - Dans les connexions réseau de Windows (Panneau de configuration) :
1 - Assurez-vous de ne pas avoir de connexion partageant un accès à Internet (cela empêche le bridging).
2 - Sélectionnez votre adaptateur réseau utilisé sur votre LAN et le virtuel de OpenVPN (TAP-Win32 Adapter). Pour cela, vous pouvez utiliser la touche CTRL + le clic de souris sur chacun des adaptateurs.
3 - Faites un clic droit sur l'une des connexions puis "Créer un pont".
A partir de ce moment, les deux connexions vont être liées et elles auront une interface commune, configurable sur le pont.
Sur cette image, la connexion TAP est "connectée" car le VPN est lancé.
4 - Faites un clic droit sur le pont, "Propriétés".
5 - Sélectionnez dans le second cadre "Protocole Internet (TCP/IP)" et faites "Propriétés".
6 - Choisissez "utilisez l'adresse IP suivante" et rentrez les informations comme indiqué (pour rester en phase avec les paramètres cités précédemment). Dans cette configuration, vous avez un modem-routeur sur l'adresse 192.168.1.1.
7 - Il ne reste plus qu'à lancer le VPN (double clic sur l'icône prêt de l'horloge).
8 - Le client initie la connexion de son côté, ça marche ? Merveilleux, bienvenue chez vous.
Je@nb a écrit : Pour le routage tu as 2 possibilités :
Ainsi dans le premier cas le routage est direct (chaque client sait où aller) |
III - Questions et remarques
Pourquoi ne pas utiliser le DHCP du routeur ?
Parce que votre DHCP ne saurait pas différencier un client VPN d'un client de votre réseau local et lui donnerait des informations erronnées (mauvaise passerelle...). Il existe une façon de le faire pour Linux mais pas sous Windows à ma connaissance. Il faut voir du côté de votre routeur.
Toutefois, je ne pense pas que cette solution soit judicieuse car vous risquez de vous mélanger les pinceaux. Avec un serveur en IP fixe et une plage d'adresse dédiée, vous savez où vous allez.
Ca ne m'arrange pas cette histoire de pont. / J'aimerais bien garder deux plages distinctes.
Dans ce cas, il faut passer par le routage. En gros, il faut "pousser" des routes sur les clients pour qu'ils sachent quoi faire des requêtes allant vers votre réseau local. En contrepartie, il faut que les postes derrière votre routeur VPN connaissent la route de retour vers le serveur VPN. J'écrirai une explication plus détaillée sur cette façon de procéder.
Remerciements aux différents tutoriels et documentations trouvés sur Internet et en particulier : http://www.sbeattyconsulting.com/blog/index.php?p=3 et le « how-to » de OpenVPN.
MasterJul
Marsh Posté le 20-03-2006 à 21:02:19
Version rapide du Tutoriel OpenVPN.
Téléchargez ce fichier :
http://openvpn.se/files/install_pa [...] nstall.exe
Lancez l’installation en gardant les options par défaut et acceptez l’installation du périphérique.
Lancez une console (Démarrer / Exécuter / cmd.exe).
> cd C:\Program Files\OpenVPN\easy-rsa
> init-config
Téléchargez, modifiez ce fichier (avec le bloc-notes par exemple) :
vars.bat
http://hotfile.com/dl/92886911/3ec [...] N.zip.html
Ce qu’il y a à modifier (aucun champ ne doit être laissé vide) :
set KEY_COUNTRY=FR
set KEY_PROVINCE=RP
set KEY_CITY=Paris
set KEY_ORG=MonEntreprise
set KEY_EMAIL=example@monentreprise.net
Copiez le dans
C:\Program Files\OpenVPN\easy-rsa (en écrasant celui existant).
> vars
> clean-all
Pour la commande suivante, mettez « OpenVPN-MonEntreprise » (par exemple) pour le « common name ».
> build-ca
Pour la commande suivante, mettez « server » pour le « common name », contentez-vous de valider en tapant entrée à chaque fois et répondez deux fois « y » aux questions à la fin.
> build-key-server server
> build-dh
> openvpn --genkey --secret ta.key
Génération des certificats et clés pour les clients. Chaque nom doit être unique et mettez le « common name » correspondant à chaque nouveau certificat « client1 », « client2 », etc. Contentez-vous de valider en tapant entrée à chaque fois et répondez deux fois « y » aux questions à la fin.
> build-key client1
> build-key client2
> build-key client3
Ouvrez une fenêtre explorateur et allez dans
C:\Program Files\OpenVPN\easy-rsa\keys
Sur le serveur, copiez « ca.crt », « server.crt », « server.key », « dh1024.pem » et « ta.key » dans
C:\Program Files\OpenVPN\config
Sur chaque client, vous devez copier : « ca.crt », « clientx.crt », « clientx.key », « ta.key » dans
C:\Program Files\OpenVPN\config
Le fichier « ca.key » devrait être gardé hors ligne.
Le répertoire
C:\Program Files\OpenVPN\easy-rsa
peut être effacé.
Téléchargez ce fichier
server.ovpn
http://hotfile.com/dl/92886911/3ec [...] N.zip.html
et copiez le dans
C:\Program Files\OpenVPN\config
sur le serveur.
Changez le port si nécessaire.
Téléchargez ce fichier
client.ovpn
http://hotfile.com/dl/92886911/3ec [...] N.zip.html
et copiez le dans
C:\Program Files\OpenVPN\config
sur les clients.
Pour chaque client, vous devez changer la ligne :
remote xx.xx.xx.xx 1194
en mettant l’adresse du serveur et le port.
Ainsi que
cert client1.crt
key client1.key
avec le nom correct correspondant au client.
C'est fini.
Marsh Posté le 22-03-2006 à 13:36:27
J'ai ajouté quelques dessins faits maison mais ça déchaine pas les foules pour le moment.
Marsh Posté le 23-03-2006 à 15:09:23
Up parce que tuto tres bien fait
J'utilise aussi OpenVPN encapsuller TS et des utilisateurs un peu partout dans le monde et ca marche impec
Marsh Posté le 26-03-2006 à 18:53:09
Excellent tuto; ca a de fortes chances de m'etre utile bravo :clap
Marsh Posté le 27-03-2006 à 10:09:32
Master_Jul a écrit : Version rapide du Tutoriel OpenVPN. |
Bonjour, c'est con mai je suis bloqué dans cette ligne;
"Lancez une console (Démarrer / Exécuter / cmd.exe).
Vous commencez à paniquer ? Retournez au début et passez par la case Hamachi sans toucher aux joies du libre. Il est obligatoire dutiliser une console pour garder les variables, ne doublez cliquez donc jamais sur les icônes des fichiers batch.
Déplacez-vous à coup(s) de commande « cd » dans C:Program FilesOpenVPNeasy-rsa ".
Cmd.exe lancé, je vais jusqu'à C:> et là je n'arrive pas aller plus loin donc impossible d'ouvrir "C:Program FilesOpenVPNeasy-rsa".
Peux-tu m'expliquer comment avancer dans cmd stpl ?
Marsh Posté le 27-03-2006 à 10:21:16
Hello,
Tu peux tout simplement taper :
> cd C:\Program Files\OpenVPN\easy-rsa
Ajoute des guillemets autour du chemin si nécessaire.
Je ne suis pas sûr que citer tout le post soit utile.
Marsh Posté le 27-03-2006 à 11:04:10
Merci bien pour ce tuto
Marsh Posté le 27-03-2006 à 11:05:43
Merci ça marche mais je suis bloqué ici;
"C:Program FilesOpenVPNeasy-rsa>clean-all
Le fichier spécifié est introuvable.
1 fichier(s) copié(s).
1 fichier(s) copié(s).
C:Program FilesOpenVPNeasy-rsa>build-ca
error on line 117 of openssl.cnf
3644:error:0E065068:configuration file routines:STR_COPY:variable has no value:.
cryptoconfconf_def.c:629:line 117"
je reçois donc une erreur.
Marsh Posté le 27-03-2006 à 11:42:33
PanTHe0N : Tu as du oublier de renseigner le champs "province" dans vars.bat, c'est obligatoire.
Merci à tous.
Marsh Posté le 27-03-2006 à 13:16:54
J'ai tout mis correctement mais le problème est toujours là. J'ai par contre édité tout ça avec notepad, est-ce ça vient de là mon problème ?
Marsh Posté le 27-03-2006 à 16:48:38
Essaie avec ce fichier peut-être :
http://www.masterjul.net/OpenVPN-Tuto/vars.bat
Je ne comprend pas trop quel chemin tu suis car ton post quote un peu de la version rapide, un peu de la version complète.
Question bête, mais tu fais bien toutes les commandes à la suite, dans la même fenêtre ? Je n'arrive pas à reproduire ton erreur.
Marsh Posté le 27-03-2006 à 17:07:36
Tout marche à merveille :-) . Merci beaucoup Master.
Amicalement.
Marsh Posté le 02-04-2006 à 14:50:53
Bon merci pour ce super tuto
J'ai utilise a verion 5 minutes et ca marche nickel
Juste eu faire un changement :
A la ligne suivant j'ai du enlever le ;
;tls-auth ta.key 1
Maintenant j'suis connecté ( serveur et client en vert ) par contre ben j'ai rien de plus
Ip serveur : 10.8.0.1
Client : 10.8.0.6
Ils se ping bien eu même ( c'est a dire le serveur ping bien 10.8.0.1 ) et le client se png bien lui même 10.8.0.6 par contre ils ne se ping pas entre eux
Comment ca ce fait ?
merci
Marsh Posté le 02-04-2006 à 16:41:05
Merci pour l'info gathor, j'ai corrigé les fichiers.
Tu as un firewall sur les postes ?
Est-ce que le firewall Windows est activé sur les connexions ?
Essaie de les désactiver au fur et à mesure.
Ah oui sinon, je pense pas que ça vienne de là, mais il y avait une autre ligne à décommenter sur le client :
ns-cert-type server
Marsh Posté le 02-04-2006 à 20:11:52
auvun firewall sur les postes le seul firewall c'est le routeur
Je vais egalement decocher la ligne supplementaire et essayer
Marsh Posté le 02-04-2006 à 20:18:24
Normalement y'a juste besoin d'ouvrir le port pour le serveur. Tu n'as pas de message d'erreur particulier dans les logs ?
Marsh Posté le 03-04-2006 à 20:57:33
J'ai decocher la ligne.
Aucun message d'erreur dans les logs
Connexion corectement etabli mais impossible de se pinger entre eux
Faut-il changer quelquechose dans les connexions reseau car du coup j'ai 2 connexion active, y'en-a-t-il pas une a definir par defaut
Marsh Posté le 03-04-2006 à 21:10:53
Non c'est parfaitement normal. C'est assez bizarre. Tu vois de l'activité sur les interfaces virtuelles quand tu fais un ping ?
Peux-tu tenter de faire démarrer / executer \\10.x.x.x de la machine opposée pour voir si tu as accès aux ressources "quand même".
Marsh Posté le 03-04-2006 à 23:17:53
Citation : Mon Apr 03 23:07:34 2006 OpenVPN 2.0.5 Win32-MinGW [SSL] [LZO] built on Nov 2 2005 |
Voila le log j'espere qu'il n'y a pas trop de donne sensible
Marsh Posté le 04-04-2006 à 08:24:28
Tout semble parfaitement normal. Tu as essayé ce que je t'ai dit, pour les ressources partagées ?
Marsh Posté le 04-04-2006 à 23:46:14
Bon en faisant ta technique ca marche
Et du coup le ping marche aussi
Pour le moment j'ai fait que du local, je test en externe apres
Merci en tout cas du tuto et de ton aide
Marsh Posté le 05-04-2006 à 07:13:42
Comment ça "ma technique" ? Tu peux m'expliquer ce que tu as fait pour que le ping marche ?
Marsh Posté le 05-04-2006 à 07:20:24
\\10.8.0.x j'ai pu voir les lecteurs partage de l'ordi distant
et du coup le ping c'est mis a marcher
Par conre je viens de tester avec un ordi externe a mon reseau local : tout passe au vert, pas d'erreur signalé mais a nouveau le même probleme, repond pas au ping par contre en faisant 10.8.0.10 : rien de rien
Marsh Posté le 05-04-2006 à 07:25:10
C'est le routage sur le serveur qui doit foirer, ça te l'a jamais fait avec une connexion réseau local normale ce problème ?
Marsh Posté le 05-04-2006 à 07:58:10
Master_Jul a écrit : C'est le routage sur le serveur qui doit foirer, ça te l'a jamais fait avec une connexion réseau local normale ce problème ? |
Ben non
Le serveur openvpn tourne sur un 2003 serveur mais je pense que ca n'as pas d'incidence ?
Marsh Posté le 05-04-2006 à 09:14:26
Non pas de prob avec 2003... le mien tourne aussi sur un 2003 et pas de prob...
Marsh Posté le 05-04-2006 à 11:58:24
2003 a peut-être des règles de sécurité renforcées qu'il faut ajuster.
Marsh Posté le 05-04-2006 à 23:18:01
Alros en fait le post distant a une erreur a la fin du script :
Wed Apr 05 23:11:21 2006 route ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.9
Wed Apr 05 23:11:21 2006 Warning: route gateway is not reachable on any active network adapters: 10.8.0.9
Wed Apr 05 23:11:21 2006 Route addition via IPAPI failed
Wed Apr 05 23:11:21 2006 Initialization Sequence Completed With Errors ( see http://openvpn.net/faq.html#dhcpclientserv )
Ca veux dire quoi ce charabia ?
Ca vient du routeur je suppose
Mais lequel celui sur le serveur ou celui sur le client ?
Marsh Posté le 06-04-2006 à 08:12:34
T'as lu le lien qu'on te donne ?
http://openvpn.net/faq.html#dhcpclientserv
Ils te proposent d'essayer des trucs.
Marsh Posté le 06-04-2006 à 14:28:27
Salut et bravo pour ton tuto.
j'ai utilisé ta procedure rapide, mais j'ai un problème sur le client.
au lancement j'ai le message suivant
"Thu Apr 06 14:18:46 2006 OpenVPN 2.0.5 Win32-MinGW [SSL] [LZO] built on Nov 2 2005
Thu Apr 06 14:18:46 2006 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Thu Apr 06 14:18:46 2006 Cannot load certificate file vienne.crt: error:0906D06C:PEM routines:PEM_read_bio:no start line: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib
Thu Apr 06 14:18:46 2006 Exiting"
dans le repertoire config j'ai les fichiers suivant: ca.crt,client.ovpn,ta.key,vienne.crt,vienne.csr,vienne.key
quelqu'un a-t-il une idée ...
Marsh Posté le 06-04-2006 à 16:59:27
Bonjour, j'ai aussi la même erreur, j'ai suivi le tuto pas à pas...
Marsh Posté le 06-04-2006 à 19:28:32
Quelle taille fait votre .crt sur le client ? Chez d'autres personnes qui ont ce problème, le fichier fait 0 octet. Cela indique que la procédure de génération du certificat ne s'est pas correctement déroulée. Il faut le refaire.
Assurez-vous également de bien mettre un nom équivalent pour le nom du certificat et le nom de son common name. Le common name de vienne.crt doit être "vienne" et non "server". J'ai trouvé une personne qui avait fait cette erreur et avait un fichier vide.
Le nom "common name" peut prêter à confusion.
Marsh Posté le 20-03-2006 à 21:01:54
Mise en place d’un réseau privé virtuel (VPN) sous Windows avec OpenVPN
Note importante : Suite à mes activités, je ne peux plus répondre à des demandes d'assistance par messages privés. Je suis désolé.
Dernière mise à jour : 27 mars 2006, 11h45.
-> Le tuto 5 mns chrono est disponible sur le 3e post de cette page.
-> Je vais faire une version 5 mns chrono du tuto. Un tuto "j'ai besoin que ça marche et pas de savoir comment ça marche", avec une faille "acceptable" dans la procédure, des fichiers format Windows pré-remplis à télécharger. Pour une utilisation personnelle entre amis, particulièrement si vous souhaitez jouer en réseau, ça sera parfait.
Introduction :
Je propose ce tutoriel car je pense qu’il pourra intéresser de nombreuses personnes, aussi bien pour des besoins privés que professionnels. Il se base sur la documentation officielle, différents tutoriels et informations sur Internet (voir Remerciements).
L’intérêt de ce tutoriel est qu’il est entièrement dédié à un environnement Windows et qu’il recoupe de manière la plus pertinente possible l’information de différentes documentations. La sécurité a été volontairement mise en avant et vous aurez toutes les clés en main (sans trop de jeu de mots) pour faire un VPN digne de ce nom.
Ce tutoriel sera amené à évoluer avec d’éventuelles corrections, ajouts d’informations, aides à l’analyse et la réparation des erreurs. J’envisage également un appendice pour l’environnement Linux.
Problématique :
Mon problème premier était de faire jouer en réseau avec des amis sans dépendre d’un serveur Internet (BattleNet par exemple), en réseau « local » mais à distance donc. D’où l’idée de réaliser un réseau virtuel privé (VPN) entre nous. En sus de pouvoir jouer facilement, nous pourrions partager nos ressources sur un réseau entièrement sécurisé.
Hamachi :
J’ai donc fait quelques recherches sur Internet. Le premier outil que j’ai trouvé se nomme « Hamachi » ( www.hamachi.cc ). C’est un programme gratuit mais fermé. L’installation est simple et rapide, ne nécessite pas que l’un des participant au réseau (aussi appelé « groupe ») soit le serveur, c’est un serveur Hamachi qui s’en charge.
Pour l’avoir testé, je peux affirmer que cela marche très bien et d’ailleurs je vous invite vivement à vous tourner vers cette solution si vous recherchez une solution rapide et simple. En contrepartie, vous êtes dépendant d’un serveur d’une entreprise extérieure qui vous impose biensûr ses limitations. Par exemple, un membre peut participer à 64 groupes (sa participation en tant que créateur compte) et chaque groupe est limité à 16 comptes. Je préfère utiliser le terme de compte car il est fréquent qu’une personne ait un compte par ordinateur. Dès lors, on atteint vite cette limite.
A l’heure où j’écris ces lignes, cette limitation est censée évoluer hors de la phase beta du programme mais ce ne sont que des rumeurs. En outre, vous êtes invités à souscrire à un compte « premium » ( http://premium.hamachi.cc/compare.php ) pour faire évoluer, de manière trop restreinte à mon goût (impossible de proposer un groupe de taille plus importante, il faut que tous les comptes évoluent en « premium »), son compte. Cette évolution n’est pas obligatoire, mais notez bien qu’il faut payer par compte et non par utilisateur.
Voilà, c’est tout pour Hamachi !
D’autres pistes :
Il y a d’autres solutions payantes comme Wingate VPN : http://www.quaternet.fr/wingate_vpn/wingate_vpn.asp
Je ne l’ai pas testé personnellement.
Enfin, il y a la solution intégrée à Windows XP avec un tutoriel ici : http://www.commentcamarche.net/pratique/vpn-xp.php3
Elle est indiquée comme suffisante pour des réseaux de petite taille. Peu configurable, l’identification se fait avec des comptes utilisateur. Peu d’informations sur la sécurité.
Message édité par Master_Jul le 17-11-2008 à 23:09:21