Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
openvpn [Le 29/02/2012, 15:40]
nicoxinchao [Accéder à internet par votre VPN]
openvpn [Le 28/07/2023, 19:53] (Version actuelle)
169.159.221.120 [Par paquet]
Ligne 1: Ligne 1:
-{{tag>​administration réseau sécurité vpn vétuste}}+{{tag>brouillon ​administration réseau sécurité vpn vétuste}}
  
 ---- ----
 +
 +{{ :​openvpn:​openvpn_00.png?​nolink|}}
  
 ====== OpenVPN ====== ====== OpenVPN ======
  
-**OpenVPN** est un logiciel libre permettant de créer un réseau privé virtuel ​(VPN).  +**OpenVPN** est un logiciel libre permettant de créer un réseau privé virtuel ​[[:vpn|VPN]]\\ 
-Utiliser ​un VPN est entre autre une excellente solution ​pour contourner les restrictions de certains réseaux (universités,​ certains pays, etc...). La navigation web au travers d'un VPN est très rapide, notamment ​par rapport à l'​utilisation d'un proxy.+[[:​vpn#​differentes_utilisations_de_vpn|Différents usages nécessitent l'​utilisation d'un VPN]]\\ 
 +Il peut être utilisé ​pour simplement accéder à un serveur ​VPN existant ou pour mettre en place un serveur… et y accéder. 
 + 
 +Que ce soit en configuration client ou serveur, il est possible de tout configurer en [[:​commande_shell|CLI]] ou par interface graphique.
  
-<note help>Si vous désirez vous connecter à un serveur openvpn, installez le [[client OpenVPN]] en [[apt://​network-manager-openvpn|cliquant ici]], et configurez votre accès : 
-    * Menu Système -> Préférences -> Connexions réseau ->  
-    * Onglet VPN -> Importez la configuration si vous l'avez reçu, ou cliquez sur ajouter et configurez pour vous connecter. 
-</​note>​ 
 ===== Installation ===== ===== Installation =====
 +
 +Il faut aussi installer le support pour gnome :
 +<​code>​sudo apt-get install network-manager-openvpn network-manager-openvpn-gnome</​code>​
 +
 +Dans le cas contraire, cela affiche une erreur dans la gestion de l'​identité :
 +"​impossible de charger l'​éditeur de connexions VPN"
  
 ==== Par paquet ==== ==== Par paquet ====
-<note tip>Vous devrez au préalable activer le [[:​depots#​universe_et_multiverse|dépôt Universe]] si ce n'est déjà fait.</​note>​ 
  
 [[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] :  [[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] : 
  
   * Pour le serveur openvpn :   * Pour le serveur openvpn :
-     * [[apt://openvpn|openvpn]]+     * **[[apt>openvpn]]**
      * (vivement recommandé) [[fail2ban]] : le seul risque de sécurité subsistant sur votre serveur vpn sera une attaque de type force brute, et ddos, il est donc nécessaire de limiter le nombre d'​essais possibles. ((openvpn est mis à jour rapidement en cas de trou de sécurité, ou de problème lié à certaines clés sensibles))      * (vivement recommandé) [[fail2ban]] : le seul risque de sécurité subsistant sur votre serveur vpn sera une attaque de type force brute, et ddos, il est donc nécessaire de limiter le nombre d'​essais possibles. ((openvpn est mis à jour rapidement en cas de trou de sécurité, ou de problème lié à certaines clés sensibles))
-     * (facultatif selon choix de l'​utilisateur) : [[apt://​gadmin-openvpn-server|gadmin-openvpn-server]] : outil à interface graphique pour administrer un serveur openvpn, permet également de générer et éditer la configuration.+     * (facultatif selon le choix de l'​utilisateur) : **[[apt>gadmin-openvpn-server]]** : outil à interface graphique pour administrer un serveur openvpn, permet également de générer et éditer la configuration.
   * Pour le [[client openvpn]] :   * Pour le [[client openvpn]] :
-     * [[apt://openvpn|openvpn]] +     * **[[apt>openvpn]]** 
-     * [[apt://​network-manager-openvpn|network-manager-openvpn]] : plugin openvpn pour le gestionnaire réseau, vous permettant de configurer facilement un client, et ensuite pouvoir le démarrer. ((pour gnome, ou kde)) +     * **[[apt>network-manager-openvpn]]** : plugin openvpn pour le gestionnaire réseau, vous permettant de configurer facilement un client, et ensuite pouvoir le démarrer. ((pour ​[[gnome]], ou [[kde]])) 
-     * (facultatif selon choix de l'​utilisateur) [[apt://​gadmin-openvpn-client|gadmin-openvpn-client]] : outil à interface graphique pour le client d'un serveur openvpn, permet également de générer et éditer la configuration.+     * (facultatif selon le choix de l'​utilisateur) ​**[[apt>gadmin-openvpn-client]]** : outil à interface graphique pour le client d'un serveur openvpn, permet également de générer et éditer la configuration.
  
 <note help>Les ports par défaut pour OpenVPN sont : <note help>Les ports par défaut pour OpenVPN sont :
Ligne 33: Ligne 39:
 </​note>​ </​note>​
  
 +==== Webmin : Interface d'​administration web ====
  
-====Par compilation====+Un module [[:Webmin]] est disponible pour faciliter le paramétrage d'​[[https://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|OpenVPN]].
  
-FIXME+<note tips> 
 +Bien sur, l'​usage de webmin n'est pas nécessaire.
  
-Pour ceux qui voudraient installer openvpn en le compilant ​c'​est ​[[http://​www.system-linux.eu|ici]]+Certains diraient même que c'​est ​a déconseiller. 
 +</note> 
 +===== Configuration des VPN =====
  
 +==== Cas d'un fournisseur de VPN ====
  
-==== Webmin : Interface d'​administration web ====+Vous avez un accès VPN de type OpenVPN et vous souhaitez configurer cet accès ? Voici la procédure.
  
-[[:Webmin]] fournit ​un module pour faciliter ​le paramétrage d'​OpenVPN.+  - Téléchargez le fichier de configuration de votre fournisseur VPN. 
 +  - Faites ​un clic droit sur l’icône réseau et choisis de modifier les connexions. 
 +  - Ajoutez une nouvelle connexion. 
 +  - Sélectionnez **Importer une configuration VPN enregistrée**. 
 +  - Sélectionnez votre fichier ***.ovpn** 
 +  - Vérifiez ou indiquez l’adresse du serveur VPN, choisissez le type **Mot de passe**, tapez le login du VPN et son mot de passe. 
 +  - Enregistrez,​ quittez et connectez votre VPN.
  
-L'​installation ​d'Apache, MySQL et PHP n'est pas indispensable ​mais facilitera l'​administration des VPN grâce à une interface web. +Retrouvez ces étapes en images ci-dessous (cliquez pour agrandir), issu d'un fournisseur de VPN (ce n'est pas de la pub mais un exemple) ​:
- +
-[[:tutoriel:​comment_installer_un_paquet|Installez les paquets]] **apache2 mysql-server-5.1 libapache2-mod-php5 php5 php5-common php5-mysql**. +
- +
- +
-===== Configuration des VPN =====+
  
 +{{::​openvpn-ubuntu-12.jpg?​200|}}
 +{{::​openvpn-ubuntu-13.jpg?​200|}}
 +{{::​openvpn-ubuntu-14.jpg?​200|}}
 +{{::​openvpn-ubuntu-16.jpg?​200|}}
 +{{::​openvpn-ubuntu-17.jpg?​200|}}
 +{{::​openvpn-ubuntu-18.jpg?​200|}}
 +{{::​openvpn-ubuntu-18-new.jpg?​200|}}
  
 ==== Certificats de sécurité ==== ==== Certificats de sécurité ====
Ligne 67: Ligne 86:
  
   * Le serveur n'a besoin que de ses propres certificats/​clés,​ il n'a pas besoin de connaître chacune des clés des clients qui peuvent s'y connecter.   * Le serveur n'a besoin que de ses propres certificats/​clés,​ il n'a pas besoin de connaître chacune des clés des clients qui peuvent s'y connecter.
-  * Le serveur n'​acceptera les clients que lorsque le certificat sera signé par l'​Autorité de Certification maître (qui l'aura généré avant). Et comme le serveur peut vérifier cette signature sans avoir besoin d'​accéder à la clé privée de l'​Autorité de Certification elle-même, il est possible pour la clé de l'​Autorité de Certification (clé la plus sensible dans toute l'​Infrastructure de Clés Publiques) de résider sur une toute autre machine, même une sans connexion réseau. ​+  * Le serveur n'​acceptera les clients que lorsque le certificat sera signé par l'​Autorité de Certification maître (qui l'aura généré avant). Et comme le serveur peut vérifier cette signature sans avoir besoin d'​accéder à la clé privée de l'​Autorité de Certification elle-même, il est possible pour la clé de l'​Autorité de Certification (clé la plus sensible dans toute l'​Infrastructure de Clés Publiques) de résider sur une toute autre machine, même une sans connexion réseau.
   * Si une clé privée est compromise, il est possible de la désactiver en ajoutant son certificat à une Liste de Révocation de Certificat (LRC ou CRL en anglais). La LRC permet aux certificats compromis d'​être rejetés sélectivement sans nécessiter une entière refonte de l'​Infrastructure de Clé Publiques.   * Si une clé privée est compromise, il est possible de la désactiver en ajoutant son certificat à une Liste de Révocation de Certificat (LRC ou CRL en anglais). La LRC permet aux certificats compromis d'​être rejetés sélectivement sans nécessiter une entière refonte de l'​Infrastructure de Clé Publiques.
  
Ligne 77: Ligne 96:
  
  
-Il faut tout d'​abord ouvrir un terminal et effectuer une copie dans son dossier /home des scripts de génération de clés : +Il faut tout d'​abord ouvrir un terminal et effectuer une copie dans son dossier /home des scripts de génération de clés :
  
 <​code>​cp /​usr/​share/​doc/​openvpn/​examples/​easy-rsa ~/openvpn/ -R</​code>​ <​code>​cp /​usr/​share/​doc/​openvpn/​examples/​easy-rsa ~/openvpn/ -R</​code>​
- +<note important> ​le dossier ​easy-rsa ​peut également se trouver sous /usr/share/doc/​openvpn ​</​note>​ 
-L'​ensemble des commandes se feront dans le répertoire déplacé : +<note important>​Sous ​Trusty ​: 
- +Il se peut que easy-rsa ne soit pas installé d'​office ​<​code>​sudo apt-get install easy-rsa 
-  cd ~/​openvpn/​2.0/​ +make-cadir my_ca 
-   +cd my_ca/</​code>​ 
-<note important>​Sous Natty : <​code>​cd ~/openvpn/easy-rsa/2.0 </code></​note>​ +</​note>​
-<note important>​Sous ​Lucid : <​code>​cd ​~/openvpn/​2.0 ​</​code></​note>​+
  
 Se connecter en root : Se connecter en root :
  
-  sudo -s+  sudo -i
  
 Maintenant [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] **vars** et initialiser les variables **KEY_COUNTRY,​ KEY_PROVINCE,​ KEY_CITY, KEY_ORG, and KEY_EMAIL**. Maintenant [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier]] **vars** et initialiser les variables **KEY_COUNTRY,​ KEY_PROVINCE,​ KEY_CITY, KEY_ORG, and KEY_EMAIL**.
-Ne laisser surtout pas un seul champ vide. +Ne laisser surtout pas un seul champ vide.
  
 Il faut modifier les dernières lignes à sa convenance. Dans notre cas : Il faut modifier les dernières lignes à sa convenance. Dans notre cas :
Ligne 105: Ligne 123:
 </​file>​ </​file>​
  
-On initialise les variables ​(le point/​espace/​point ​n'est pas une erreur de frappe) ​:+<note important>​Depuis Ubuntu 12.04 LTS (« The Precise Pangolin ») : le fichier openssl.cnf ​n'existe plus. Il s’appelle openssl-1.0.0.cnf ; Il faut donc le lier : 
 +<​code>​ln -s openssl-1.0.0.cnf openssl.cnf</​code></​note> ​
  
-<​code>​. ./​vars</​code>​+On initialise les variables : 
 +<note important>​ Sur la 19.10 easyrsa est en version 3 pour générer le PKI il faut utiliser: 
 +<​code>​./easyrsa init-pki 
 + ​./​easyrsa build-ca 
 + ​./​easyrsa gen-req hakase-server nopass 
 + ​./​easyrsa sign-req server hakase-server 
 +  openssl dhparam -out dh2048.pem 2048</​code></​note>​ 
 +   
 +<​code>​source ​./​vars</​code>​
  
  
Ligne 127: Ligne 154:
 ''​...........++++++''​ ''​...........++++++''​
  
-''​writing new private key to '​ca.key'''''​-----''​+''​writing new private key to 'ca.key'''''​-----''​
  
 ''​You are about to be asked to enter information that will be incorporated into your certificate request.''​ ''​You are about to be asked to enter information that will be incorporated into your certificate request.''​
Ligne 139: Ligne 166:
 ''​If you enter '​.',​ the field will be left blank.''​ ''​If you enter '​.',​ the field will be left blank.''​
  
-''​-----''​+''​-----''​
  
 ''​Country Name (2 letter code) [FR]:''​ ''​Country Name (2 letter code) [FR]:''​
Ligne 152: Ligne 179:
  
 ''​Common Name (eg, your name or your server'​s hostname) []:''​ ''​Common Name (eg, your name or your server'​s hostname) []:''​
 +
 +"Name : "
  
 ''​Email Address [xxxxxxxx@xxxx.com]:''​ ''​Email Address [xxxxxxxx@xxxx.com]:''​
 +
 </​file>​ </​file>​
  
Ligne 169: Ligne 199:
  
  
-Quand le **Common Name** est demandé, il faut entrer « server » comme le dernier paramètre entré dans la commande précédente. Puis il faut mettre un mot de passe et un nom d'​entreprise (facultatif). ​+Quand le **Common Name** est demandé, il faut entrer « server » comme le dernier paramètre entré dans la commande précédente. Puis il faut mettre un mot de passe et un nom d'​entreprise (facultatif).
  
 Suivent deux dernières questions qui requièrent des réponses positives : Suivent deux dernières questions qui requièrent des réponses positives :
Ligne 183: Ligne 213:
 === Générer les certificats et les clés pour 3 clients === === Générer les certificats et les clés pour 3 clients ===
  
-Générer des certificats et des clés pour les clients est une étape similaire à l'​étape précédente. ​+Générer des certificats et des clés pour les clients est une étape similaire à l'​étape précédente.
  
 <note important>​ <note important>​
Ligne 191: Ligne 221:
  
 </​note>​ </​note>​
 +<note important>​Depuis la 19.10 easyrsa 3 pour générer et signer vos clées: 
 +<​code>​./​easyrsa gen-req client01 nopass 
 +./easyrsa sign-req client client01 
 +</​code>​ 
 +</​note>​
 Exemple avec un client nommé **client1** : Exemple avec un client nommé **client1** :
  
Ligne 209: Ligne 243:
 <​note>​Cette étape aurait pu se faire sur le client même, ce qui aurait évité de faire circuler des clés sur des canaux moins sûr. Pour cela, il fallait simplement le certificat ''​ca.crt''​ sur la machine cliente qui génère son certificat et sa clé. <​note>​Cette étape aurait pu se faire sur le client même, ce qui aurait évité de faire circuler des clés sur des canaux moins sûr. Pour cela, il fallait simplement le certificat ''​ca.crt''​ sur la machine cliente qui génère son certificat et sa clé.
 </​note>​ </​note>​
- 
  
 ==== Générer des paramètres Diffie-Hellman(¹) ==== ==== Générer des paramètres Diffie-Hellman(¹) ====
  
 Les paramètres Diffie Hellman doivent être générés pour le serveur OpenVPN : Les paramètres Diffie Hellman doivent être générés pour le serveur OpenVPN :
 +
 +<note important>​ Sur la 19.10 easyrsa est en version 3 pour générer le Diffie Hellman il faut utiliser:
 +<​code>​./​easyrsa gen-dh
 +./easyrsa gen-crl</​code></​note>​
  
 <​code>​./​build-dh</​code>​ <​code>​./​build-dh</​code>​
Ligne 251: Ligne 288:
 Au lieu de générer les certificats et les clés clients sur le serveur, le client aurait pu générer sa propre clé privée localement, et ensuite, soumettre un CSR (Certificat Signing Request ou Demande de Signature de Certificat) à la machine qui signe les clés. A son tour, la machine signant les clés peut procéder au CSR et retourner un certificat signé au client. Tout ceci peut se faire sans avoir besoin qu'un fichier secret ''​.key''​ quitte le disque dur de la machine qui l'a généré. Au lieu de générer les certificats et les clés clients sur le serveur, le client aurait pu générer sa propre clé privée localement, et ensuite, soumettre un CSR (Certificat Signing Request ou Demande de Signature de Certificat) à la machine qui signe les clés. A son tour, la machine signant les clés peut procéder au CSR et retourner un certificat signé au client. Tout ceci peut se faire sans avoir besoin qu'un fichier secret ''​.key''​ quitte le disque dur de la machine qui l'a généré.
  
-Copie des fichiers serveur :<​code>​cp keys/​dh*.pem keys/ca.crt keys/​server.crt keys/​server.key /​etc/​openvpn/</​code>​+Copie des fichiers serveur : 
 +<note important>​ Sur la 19.10 easyrsa est en version 3 pour copier les clées il faut utiliser: 
 +<​code>​cp pki/ca.crt /​etc/​openvpn/​server/​ 
 +cp pki/​issued/​hakase-server.crt /​etc/​openvpn/​server/​ 
 +cp pki/​private/​hakase-server.key /​etc/​openvpn/​server/​ 
 +cp pki/dh.pem /​etc/​openvpn/​server/​ 
 +cp pki/crl.pem /​etc/​openvpn/​server/</​code></​note>​ 
 +<​code>​cp keys/​dh*.pem keys/ca.crt keys/​server.crt keys/​server.key /​etc/​openvpn/</​code>​
  
  
Ligne 265: Ligne 309:
 === Configuration du serveur === === Configuration du serveur ===
  
-Attention pour le serveur le fichier d'​exemple ​est compressé : server.conf.gz,​ il faut le gunzipper ​comme suit:+Le fichier d'​exemple ​étant ​compressé : server.conf.gz,​ il faut procéder ​comme suit:
  
-  cd /​usr/​share/​doc/​openvpn/​examples/​sample-config-files +<​code>​sudo zcat /​usr/​share/​doc/​openvpn/​examples/​sample-config-files/server.conf.gz > /etc/​openvpn/​server.conf</​code>​
- +
-  sudo gunzip ​server.conf.gz ​    +
-puis exécuter la commande ci dessous +
- +
-<code>sudo cp /usr/​share/​doc/openvpn/​examples/​sample-config-files/​server.conf ​/​etc/​openvpn/​</​code>​+
  
 Il faut donc [[:​tutoriel:​comment_editer_un_fichier|éditer le fichier]] **/​etc/​openvpn/​server.conf** Il faut donc [[:​tutoriel:​comment_editer_un_fichier|éditer le fichier]] **/​etc/​openvpn/​server.conf**
Ligne 293: Ligne 332:
  
 === Configuration du client === === Configuration du client ===
 +<note important>​Depuis la 19.10 easyrsa 3 pour copier vos clées: 
 +<​code>​cp pki/ca.crt /​etc/​openvpn/​client/​ 
 +cp pki/​issued/​client01.crt /​etc/​openvpn/​client/​ 
 +cp pki/​private/​client01.key /​etc/​openvpn/​client/​ 
 +</​code>​ 
 +</​note>​
 Le fichier d'​exemple de configuration du client **client.conf** reflète les directives mises dans le fichier **server.conf**. Le fichier d'​exemple de configuration du client **client.conf** reflète les directives mises dans le fichier **server.conf**.
  
   * Comme le fichier de configuration du serveur, éditez d'​abord les paramètres **ca**, **cert** et **key** pour pointer vers les fichiers générés précédemment. Chaque client doit avoir sa propre paire ''​cert''/''​key''​. Seul le fichier ca est universel à travers le VPN (le serveur et tous les clients).   * Comme le fichier de configuration du serveur, éditez d'​abord les paramètres **ca**, **cert** et **key** pour pointer vers les fichiers générés précédemment. Chaque client doit avoir sa propre paire ''​cert''/''​key''​. Seul le fichier ca est universel à travers le VPN (le serveur et tous les clients).
-  * Editez ensuite la directive **remote** pour indiquer l'​adresse IP/nom d'​hôte et le port du serveur OpenVPN (s'il est derrière un routeur, il faut indiquer l'​adresse publique et le port sur lequel le routeur ​transfert ​vers le serveur OpenVPN)+  * Editez ensuite la directive **remote** pour indiquer l'​adresse IP/nom d'​hôte et le port du serveur OpenVPN (s'il est derrière un routeur, il faut indiquer l'​adresse publique et le port sur lequel le routeur ​transfère ​vers le serveur OpenVPN)
  
   * Pour terminer, il faut vérifier que la configuration client correspond bien à la configuration serveur. Les directives principales à vérifier sont :   * Pour terminer, il faut vérifier que la configuration client correspond bien à la configuration serveur. Les directives principales à vérifier sont :
Ligne 311: Ligne 355:
 ===== Démarrage automatique d'​OpenVPN au lancement du système ===== ===== Démarrage automatique d'​OpenVPN au lancement du système =====
  
-Pour qu'​OpenVPN se lance au démarrage du serveur ou du client, il faut placer le fichier de configuration au bon endroit. ​+Pour qu'​OpenVPN se lance au démarrage du serveur ou du client, il faut placer le fichier de configuration au bon endroit.
  
   * Pour le serveur, copiez le fichier **server.conf** dans le répertoire **/​etc/​openvpn**   * Pour le serveur, copiez le fichier **server.conf** dans le répertoire **/​etc/​openvpn**
Ligne 318: Ligne 362:
 Il faut également déplacer les clés et certificats dans le dossier **/​etc/​openvpn**. Sont concernés : Il faut également déplacer les clés et certificats dans le dossier **/​etc/​openvpn**. Sont concernés :
  
-  * ca.crt : pour le serveur **et** le client 
   * pour le serveur :   * pour le serveur :
 +    * ca.crt
     * server.crt     * server.crt
     * server.key     * server.key
     * dh1024.pem     * dh1024.pem
  
-  * Pour le client : +  * Pour le client : 
 +    * ca.crt
     * client.crt     * client.crt
     * client.key     * client.key
Ligne 373: Ligne 418:
 </​file>​ </​file>​
  
 +Une fois que vous êtes sûr que votre configuration fonctionne, vous pouvez choisir de démarrer le daemon automatiquement au démarrage du système:
 +<​code>​ sudo systemctl enable openvpn@client.service</​code>​
 +<​note>​
 +Si votre fichier de configuration s'​appelle //server//, cette commande sera changée en <​code>​ sudo systemctl enable openvpn@server.service</​code>​. Plus globalement,​ la partie suivant directement le //@// est le nom de votre fichier de configuration.
 +</​note>​
  
  
 ==== Test ==== ==== Test ====
  
-Maintenant, essayons de pinguer à travers le VPN depuis le client. ​+Maintenant, essayons de pinguer à travers le VPN depuis le client.
  
-Dans une configuration bridgée (c'​est-à-dire qu'il y a ''​dev tap''​ et non ''​dev''​ ''​tun''​ dans ''​server.conf''​),​ on peut essayer de pinguer ​une machine sur le sous-réseau ​du serveur:+Dans une configuration bridgée (c'​est-à-dire qu'il y a ''​dev tap''​ et non ''​dev''​ ''​tun''​ dans ''​server.conf''​),​ on peut essayer de pinguer ​le serveur (adresse par défaut 10.8.0.1 si vous n'avez pas changé ​le sous-réseau ​attribué) ​:
  
 <​code>​ping 10.8.0.1</​code>​ <​code>​ping 10.8.0.1</​code>​
Ligne 385: Ligne 435:
 Si le ping a fonctionné,​ le VPN fonctionne ! Si le ping a fonctionné,​ le VPN fonctionne !
  
-<note important>​A cette étape vous êtes seulement connecté à votre serveur, mais vous n'avez pas encore à internet ​au travers de votre VPN.+<note important>​A cette étape vous êtes seulement connecté à votre serveur, mais vous n'avez pas encore ​accès ​à Internet ​au travers de votre VPN.
 </​note>​ </​note>​
  
-<note important>​Si le poste client exécute openvpn sous Windows Vista, il est probable que le ping vers 10.8.0.1 ne passe pas. il faut d'​abord ajouter ces 2 lignes à la fin du fichier de configuration du client : +<note important>​Si le poste client exécute openvpn sous Windows Vista et 7, il est probable que le ping vers 10.8.0.1 ne passe pas. il faut d'​abord ajouter ces 2 lignes à la fin du fichier de configuration du client :
- +
- +
  
   * route-method exe   * route-method exe
- 
   * route-delay 2   * route-delay 2
  
 +**Attention** : pour que Windows soit d’accord d’ajouter des routes il faut impérativement qu’OpenVPN soit lancé en **mode administrateur** (en tout cas pour Windows 7)
 </​note>​ </​note>​
  
-puis exécuter une fenetre MS-DOS en "​administrateur"​ et exécuter la commande suivante : +puis exécuter une fenetre MS-DOS en "​administrateur"​ et exécuter la commande suivante :
  
 <​code>​netsh firewall set icmpsetting 8 enable</​code>​ <​code>​netsh firewall set icmpsetting 8 enable</​code>​
  
-cette commande ​permet d'​activer le ping des interfaces réseaux. ​+Pour Windows 7, la commande ​à exécuter est la suivante :
  
-pour désactiver le ping ensuite, il faut exécuter cette commande : +<​code>​netsh advfirewall firewall add rule name="​All ICMP V4" protocol=icmpv4:​any,​any dir=in action=allow</​code>​ 
 + 
 +cette commande permet d'​activer le ping des interfaces réseaux. 
 + 
 +pour désactiver le ping ensuite, il faut exécuter cette commande :
  
 <​code>​netsh firewall set icmpsetting 8 disable</​code>​ <​code>​netsh firewall set icmpsetting 8 disable</​code>​
 +
 +Pour Windows 7, la commande à exécuter est la suivante :
 +
 +<​code>​netsh advfirewall firewall add rule name="​All ICMP V4" protocol=icmpv4:​any,​any dir=in action=block </​code>​
 ==== En cas d'​utilisation de Firestarter ==== ==== En cas d'​utilisation de Firestarter ====
  
Ligne 419: Ligne 474:
 Ecrire ou Ajouter les lignes suivantes : Ecrire ou Ajouter les lignes suivantes :
  
-<​file>#​ Allow traffic on the OpenVPN ​inteface+<​file>#​ Allow traffic on the OpenVPN ​interface
 $IPT -A INPUT -i tun+ -j ACCEPT $IPT -A INPUT -i tun+ -j ACCEPT
 $IPT -A OUTPUT -o tun+ -j ACCEPT $IPT -A OUTPUT -o tun+ -j ACCEPT
Ligne 432: Ligne 487:
 Si vous suivez les explications ici présentes cela sera vos dernières manipulations pour que les clients accèdent à internet par le biais du serveur VPN</​note>​ Si vous suivez les explications ici présentes cela sera vos dernières manipulations pour que les clients accèdent à internet par le biais du serveur VPN</​note>​
  
-Pour une utilisation simple de votre VPN, et obtenir facilement l'​accès à internet, il est conseillé d'​utiliser le VPN en mode routé, soit tun (le mode par défaut après installation). Vous pouvez ​vérifiez ​que vous utilisez bien ce mode en cherchant la ligne "dev tun" dans vos fichiers .conf client et serveur.+Pour une utilisation simple de votre VPN, et obtenir facilement l'​accès à internet, il est conseillé d'​utiliser le VPN en mode routé, soit tun (le mode par défaut après installation). Vous pouvez ​vérifier ​que vous utilisez bien ce mode en cherchant la ligne "dev tun" dans vos fichiers .conf client et serveur.
  
 Avant toute chose, on s'​assure que le forwarding est activé sur le serveur (à faire en root) Avant toute chose, on s'​assure que le forwarding est activé sur le serveur (à faire en root)
Ligne 442: Ligne 497:
 Si vous rencontrez l'​erreur ip_forward e667 fsync failed, il est probable qu'il faille éditer /​etc/​sysctl.conf et modifier net.ipv4.ip_forward = 1 Si vous rencontrez l'​erreur ip_forward e667 fsync failed, il est probable qu'il faille éditer /​etc/​sysctl.conf et modifier net.ipv4.ip_forward = 1
  
-Ensuite, indiquer au serveur que l'on souhaite qui redirige le traffic des clients vers internet, en ajoutant à /​etc/​openvpn/​serve.conf :+Ensuite, indiquer au serveur que l'on souhaite qui redirige le traffic des clients vers internet, en ajoutant à /​etc/​openvpn/​server.conf :
  
 <​code>​ <​code>​
Ligne 460: Ligne 515:
 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
 </​code>​ </​code>​
 +Attention, cette commande n'​apporte pas de changements permanents. Pour exécuter cette règle à chaque démarrage, il faut l'​ajouter dans le fichier **/​etc/​rc.local**
 +
  
 Rédemarrez le serveur, et vous devez avoir un accès complet à internet au travers de votre VPN. Rédemarrez le serveur, et vous devez avoir un accès complet à internet au travers de votre VPN.
Ligne 469: Ligne 526:
 Vous pouvez à présent vous connecter à l'aide du [[client OpenVPN]] (network-manager-openvpn). Il gère automatiquement les règles de routage en local pour avoir un accès complet à internet. Sinon, vous devrez le faire à la main. Vous pouvez à présent vous connecter à l'aide du [[client OpenVPN]] (network-manager-openvpn). Il gère automatiquement les règles de routage en local pour avoir un accès complet à internet. Sinon, vous devrez le faire à la main.
  
-Problèmes connus : +Problèmes connus :
   * Par défaut le serveur utilise la compression LZO, il faut donc l'​activer également dans les paramètres avancés du manager gnome.   * Par défaut le serveur utilise la compression LZO, il faut donc l'​activer également dans les paramètres avancés du manager gnome.
   * Selon ce que vous avez fait précédemment,​ vous pouvez avoir plusieurs instances du client en cours. Vérifier que vous n'avez qu'une seule interface tun0 en local avec la commande ifconfig.   * Selon ce que vous avez fait précédemment,​ vous pouvez avoir plusieurs instances du client en cours. Vérifier que vous n'avez qu'une seule interface tun0 en local avec la commande ifconfig.
Ligne 480: Ligne 537:
 [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​openvpn/​server.conf**. [[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​openvpn/​server.conf**.
  
-et ajoutez-y : +et ajoutez-y :
 <​file>​ <​file>​
 management localhost <un numéro de port> management localhost <un numéro de port>
Ligne 596: Ligne 653:
 push "route 192.168.4.0 255.255.255.0"</​file>​ push "route 192.168.4.0 255.255.255.0"</​file>​
  
-Ceci permet au serveur OpenVPN d'​indiquer aux autres clients que le réseau du client2 existe. ​+Ceci permet au serveur OpenVPN d'​indiquer aux autres clients que le réseau du client2 existe.
  
-La dernière étape, celle qui est souvent oubliée, est d'​ajouter une route sur la passerelle du réseau côté serveur qui redirigera le trafic allant vers 192.168.4.0/​24 vers le serveur OpenVPN (inutile si la passerelle est le serveur OpenVPN). ​+La dernière étape, celle qui est souvent oubliée, est d'​ajouter une route sur la passerelle du réseau côté serveur qui redirigera le trafic allant vers 192.168.4.0/​24 vers le serveur OpenVPN (inutile si la passerelle est le serveur OpenVPN).
  
 Pour ceci, il faut voir la documentation de votre passerelle et lui indiquer que tout le trafic allant vers 192.168.4.0/​24 doit être redirigé sur le serveur OpenVPN (''​adresseIP:​port''​). Pour ceci, il faut voir la documentation de votre passerelle et lui indiquer que tout le trafic allant vers 192.168.4.0/​24 doit être redirigé sur le serveur OpenVPN (''​adresseIP:​port''​).
Ligne 624: Ligne 681:
  
 <​file>​ <​file>​
-push "​dhcp-option DNS 192.168.1.4" ​+push "​dhcp-option DNS 192.168.1.4"​
 push "​dhcp-option DNS 192.168.1.5"​ push "​dhcp-option DNS 192.168.1.5"​
 push "​dhcp-option WINS 192.168.1.8"​ push "​dhcp-option WINS 192.168.1.8"​
Ligne 635: Ligne 692:
  
 La première étape est d'​obtenir un DNS dynamique qui peut être configuré pour suivre le serveur chaque fois que l'​adresse IP change. Il y a beaucoup de service de DNS dynamique disponible tel que [[http://​dyndns.org|DynDNS]]. La première étape est d'​obtenir un DNS dynamique qui peut être configuré pour suivre le serveur chaque fois que l'​adresse IP change. Il y a beaucoup de service de DNS dynamique disponible tel que [[http://​dyndns.org|DynDNS]].
 +
 +<note important>​[[http://​dyndns.org|DynDNS]] est maintenant payant, utiliser [[http://​www.noip.com|No-Ip]] par exemple</​note>​
  
 Il faudra toutefois s'​assurer de la mise à jour de l'​adresse IP correspondant au nom d'​hôte choisi afin de pouvoir retrouver facilement le serveur VPN. Il faudra toutefois s'​assurer de la mise à jour de l'​adresse IP correspondant au nom d'​hôte choisi afin de pouvoir retrouver facilement le serveur VPN.
Ligne 644: Ligne 703:
  
   * Le [[http://​openvpn.net|site officiel d'​OpenVPN]]   * Le [[http://​openvpn.net|site officiel d'​OpenVPN]]
-  * Un [[http://​howto.landure.fr/​lone-wolf-scripts/​gnu-linux/​debian-4-0-etch/​installer-et-configurer-openvpn-sur-debian-4-0-etch|HOWTO sur l'​installation/​configuration d'​OpenVPN sous Debian Etch]] (que vous pouvez suivre en lançant en premier lieu un shell super utilisateur avec la commande « sudo -s ») 
-  * Un [[http://​15minutesoffame.be/​nico/​blog2/?​article16/​creer-un-serveur-openvpn|autre tuto testé avec 11.04]] 
   * [[wpfr>​OpenVPN|Article sur Wikipédia]]   * [[wpfr>​OpenVPN|Article sur Wikipédia]]
-  * [[http://​www.system-linux.eu/​index.php?​category/​VPN|Tutoriels et documentations complémentaire sur OpenVPN]] +  * [[https://​www.system-linux.eu/​index.php?​category/​VPN|Tutoriels et documentations complémentaire sur OpenVPN]] 
-  * [[http://​www.opendoc.net/​comment-installer-configurer-serveur-vpn-openvpn|Comment installer/​configurer un serveur VPN avec OpenVPN ?]] +  * [[https://​www.system-linux.eu/​index.php?​post/​2010/​05/​24/​Installation-ipsec-Host-to-Host-et-Network-to-Network|Pour ceux qui prefereraient IPSEC]] 
-  * [[http://​www.system-linux.eu/​index.php?​post/​2010/​05/​24/​Installation-ipsec-Host-to-Host-et-Network-to-Network|Pour ceux qui prefereraient IPSEC]] +  * [[https://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|Modules OpenVPN pour Webmin]] 
-  * [[http://​www.webmin.com/​cgi-bin/​search_third.cgi?​search=openvpn|Modules OpenVPN pour Webmin]]+  * [[https://​fr.linux-console.net/?​p=1562#​gsc.tab=0|Installation complète d'​OpenVPN avec un script]]
  
  
Ligne 662: Ligne 719:
 Pour plus d'​informations,​ n'​hésitez pas à contacter [[utilisateurs:​pezzos]]. Pour plus d'​informations,​ n'​hésitez pas à contacter [[utilisateurs:​pezzos]].
  
-//​Contributeurs : [[:​utilisateurs:​pezzos]],​ [[:​utilisateurs:​krop]] (élagage, nettoyage, corrections),​ [[:​utilisateurs:​zedtux]],​ [[:​utilisateurs:​nicoxinchao]] (ajout de la partie "​Accédez à Internet).//​+//​Contributeurs : [[:​utilisateurs:​pezzos]],​ [[:​utilisateurs:​krop]] (élagage, nettoyage, corrections),​ [[:​utilisateurs:​zedtux]],​ [[:​utilisateurs:​nicoxinchao]] (ajout de la partie "​Accédez à Internet), LukePerp (ajout config cas d'un fournisseur vpn).//
  • openvpn.1330526459.txt.gz
  • Dernière modification: Le 29/02/2012, 15:40
  • par nicoxinchao