Outils pour utilisateurs

Outils du site


kb:linux:generalites:openvpn

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édentesRévision précédente
Prochaine révision
Révision précédente
kb:linux:generalites:openvpn [2017/08/28 11:51] beukb:linux:generalites:openvpn [2018/07/25 20:44] (Version actuelle) beu
Ligne 13: Ligne 13:
 Toute la manipulation coté serveur est réalisé sur le packet OpenVPN 2.4 (sous debian 9) Toute la manipulation coté serveur est réalisé sur le packet OpenVPN 2.4 (sous debian 9)
  
-<code>+<code bash>
 # apt install openvpn easy-rsa # apt install openvpn easy-rsa
 </code> </code>
Ligne 19: Ligne 19:
 Ensuite on va créer tous les dossiers nécessaire  Ensuite on va créer tous les dossiers nécessaire 
  
-<code> +<code bash 
-# mkdir -p /etc/openvpn/jail/tmp +# mkdir -p /etc/openvpn/jail/tmp && cp -r /usr/share/easy-rsa /etc/openvpn/
-# mkdir /etc/openvpn/clients-conf +
-cp -r /usr/share/easy-rsa /etc/openvpn/+
 </code> </code>
  
-ensuite modifier le fichiers de variables ///etc/openvpn/easy-rsa/vars// afin de faire correspondre à la réalité les valeurs suivantes +Il faut ensuite autoriser le noyaux linux à faire du 'FORWARD', il faut juste lancer les deux commandes suivante :
  
-<code>+<code bash> 
 +# sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf && echo 1 > /proc/sys/net/ipv4/ip_forward 
 +</code> 
 + 
 +On va passer aux différentes configurations possibles. Il faudra obligatoirement faire des modifications dans certains fichiers, certaines seront expliqué, à vous de faire vos recherches pour vous adapter à vos besoins. 
 + 
 +====Configuration Nomade==== 
 + 
 +===Objectif=== 
 + 
 +L'objectif est simple, permettre à un usagé d'accéder a des services interne où alors que chiffrer leurs communications 
 + 
 +===Configuration du serveur=== 
 + 
 +Il va falloir créer les certificats : 
 + 
 +Modifier le fichiers de variables ///etc/openvpn/easy-rsa/vars// afin de faire correspondre à la réalité les valeurs suivantes :  
 + 
 +<code bash>
 export KEY_COUNTRY="FR" export KEY_COUNTRY="FR"
 export KEY_PROVINCE="75" export KEY_PROVINCE="75"
Ligne 36: Ligne 52:
 </code> </code>
  
-On va ensuite générer les clés et les certificats pour le serveur+On va ensuite générer les clés et les certificats pour le serveur en lançant le script suivant
  
-<code> +<code bash setup.sh
-cd /etc/openvpn/easy-rsa/ +#!/bin/bash
-# source vars +
-# ./clean-all +
-# openssl dhparam -out keys/dh4096.pem 4096  +
-# ./pkitool --initca +
-# ./pkitool --server server +
-# openvpn --genkey --secret keys/ta.key +
-</code>+
  
-la commande 'openssl' peut prendre beaucoup de temps (environ 30 min sur un VPS d'OVH). +source /etc/openvpn/easy-rsa/vars  
- +/etc/openvpn/easy-rsa/clean-all 
-Il faut ensuite autoriser le noyaux linux à faire du 'FORWARD', il faut juste lancer les deux commandes suivante : +openssl dhparam -out keys/dh4096.pem 4096  
- +/etc/openvpn/easy-rsa//pkitool --initca 
-<code> +/etc/openvpn/easy-rsa//pkitool --server server 
-# sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf +openvpn --genkey --secret keys/ta.key
-# echo 1 > /proc/sys/net/ipv4/ip_forward+
 </code> </code>
  
-On va passer aux différentes configurations possibles. Il faudra obligatoirement faire des modifications dans certains fichiers, certaines seront expliqué, à vous de faire vos recherches pour vous adapter à vos besoins.+Le script va vous poser plein de question et va être un peu long sur certaines étape.
  
-====Configuration Nomade==== 
- 
-===Configuration du serveur=== 
 Téléchargé le ficher {{configurations:openvpn:nomade.conf|suivant}}.\\ Téléchargé le ficher {{configurations:openvpn:nomade.conf|suivant}}.\\
 Il est fait pour fonctionner, cependant vous pouvez modifier certains paramètres mais il faudra les reporter dans la configuration du client. Il est fait pour fonctionner, cependant vous pouvez modifier certains paramètres mais il faudra les reporter dans la configuration du client.
  
-il faudra ensuite taper la commande suivante (en modifiant le réseau et l'interface): +Attention au règles de NAT qui peuvent être nécessaire.((Voir [[https://wiki.virtit.fr/doku.php/kb:cheatsheet:iptables|ceci]]))
-<code> +
-# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE +
-</code>+
  
-et d'ajouter la ligne suivante dans le ficher ///etc/network/interfaces// sous une interface (en modifiant le réseau et l'interface) +Il ne restera plus qu'a lancer le service : 
-<code> + 
-post-up iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE+<code bash
 +# systemctl start openvpn@nomade
 </code> </code>
  
Ligne 95: Ligne 98:
 Pour créer un client il faut lancer les commandes suivantes : Pour créer un client il faut lancer les commandes suivantes :
  
-<code> +<code bash
-cd /etc/openvpn/easy-rsa/ +# /etc/openvpn/easy-rsa/vars && /etc/openvpn/easy-rsa/build-key-pass $NOMDUCLIENT
-# source vars +
-# ./build-key-pass <nom>+
 </code> </code>
  
Ligne 109: Ligne 110:
   * /etc/openvpn/easy-rsa/keys/ta.key   * /etc/openvpn/easy-rsa/keys/ta.key
   * /etc/openvpn/easy-rsa/keys/ca.crt   * /etc/openvpn/easy-rsa/keys/ca.crt
-  * /etc/openvpn/easy-rsa/keys/<nom>.crt +  * /etc/openvpn/easy-rsa/keys/$NOMDUCLIENT.crt 
-  * /etc/openvpn/easy-rsa/keys/<nom>.key+  * /etc/openvpn/easy-rsa/keys/$NOMDUCLIENT.key
  
 qu'il devra mettre dans un même dossier. qu'il devra mettre dans un même dossier.
  
 ====Configuration Site-à-Site==== ====Configuration Site-à-Site====
-====Configuration d'Accès Public==== 
-======ANCIENNE VERSION====== 
-====Mise en place d'une solution d'OpenVPN==== 
  
-==1 - Préparation du serveur==+FIXME
  
-L'installation du serveur ce fait sur Debian 8.5\\ +====Configuration d'Accès Public====
-Cette page peux se retrouver obsolète d'ici quelques mois, mais la procédure se retrouvera sensiblement identique. +
- +
-==2 - Installation de l'OpenVPN== +
- +
-OpenVPN étant certifié par la communauté Debian, le paquet est donc disponible librement sur leur dépôts officiel. Il suffi de rentrer : +
- +
-  apt-get update +
-  apt-get install openvpn +
- +
-Le paquet emporte avec lui de base des fichiers pour configurer le chiffrement par clé. la configuration de base y etant aussi importé, nous allons la copier au sein du répertoire OpenVPN. +
- +
-  mkdir /etc/openvpn/easy-rsa/ +
-  cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ +
- +
-Nous allons simplifier la création des clé chiffré avec l'ajout de paramètres de base, cela sera les information de l'entreprise par exemple: +
- +
-  pico /etc/openvpn/easy-rsa/vars +
- +
-Il faut modifier les valeurs suivantes: +
-  export KEY_COUNTRY="FR" +
-  export KEY_PROVINCE="06" +
-  export KEY_CITY="Nissa" +
-  export KEY_ORG="nicolargo.com" +
-  export KEY_EMAIL="dtc@hadopi.fr" +
- +
-On va créer la clé privé et publique du serveur: +
- +
-  cd /etc/openvpn/easy-rsa/ +
-  source vars +
-  ./clean-all +
-  ./build-dh +
-  ./pkitool --initca +
-  ./pkitool --server server +
-  openvpn --genkey --secret keys/ta.key +
- +
-On va déplacer la clé du serveurs ainsi que celle de chaques clients dans un dossier spécifiques +
- +
-  mkdir /etc/openvpn/clés +
-  cp keys/ca.crt keys/ta.key keys/server.crt keys/server.key keys/dh2048.pem /etc/openvpn/clés +
- +
-VOIR FICHIER {{configurations:openvpn:server.conf}} +
- +
-Pour activer le FORWARD temporairement (effacer au redémarrage) +
- +
-  sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward' +
-   +
-Pour activer définitivement le FORWARD (s'applique au redémarrage)\\ +
-Dans ///etc/sysctl.conf// dé-commenter la ligne : +
- +
-  net.ipv4.ip_forward=1 +
- +
-Puis les règles de NAT pour iptables +
- +
-  iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE +
- +
-Pour activer la règle au reboot : +
-  sh -c "iptables-save > /etc/iptables.rules" +
- +
-Il faut rajouter cette ligne dans /etc/network/interfaces sous "iface eth0 inet ..." +
-  pre-up iptables-restore < /etc/iptables.rules +
- +
-Création clé utilisateur: +
-Modifier l'ip dans clés/{{configurations:openvpn:exemple.ovpn}} (ligne remote) +
-le 1194 correspond au port +
- +
-Il suffira de lancer le script {{configurations:openvpn:NewClient.sh}} pour obtenir une clé client +
-(ca.crt et ta.key sont publique et commune a tous les utilisateurs)+
  
-le fichier "nom du clients".ovpn peut etre lancer par le clients.\\ 
-ATTENTION le client doit l'ouvrir avec C:\ProgramFiles\OpenVPN\bin\openvpn.exe (En administrateur) 
  
-Sources :  +FIXME
-[[http://blog.nicolargo.com/2010/10/installation-dun-serveur-openvpn-sous-debianubuntu.html | Blog de Nicolargo]] (Obselete)+
  
 ==Note : == ==Note : ==
 Règle iptables pour rediriger les requêtes vers une autre une ip (NAT 1.1) sans modification de l'adresse qui émet  Règle iptables pour rediriger les requêtes vers une autre une ip (NAT 1.1) sans modification de l'adresse qui émet 
-  iptables -t nat -A PREROUTING -p tcp -d 188.165.42.128 -j DNAT --to-destination 10.8.0.6+ 
 +<code bash> 
 +iptables -t nat -A PREROUTING -p tcp -d 188.165.42.128 -j DNAT --to-destination 10.8.0.6 
 +</code>
  
 ==Note 2 : == ==Note 2 : ==
 Le packet Resolvconf installer nativement sur Debian bloque les modifications DNS invoqué par Openvpn. Pour outrepasser cela, il suffit de rajouter les lignes suivante dans le fichier de configuration du client :  Le packet Resolvconf installer nativement sur Debian bloque les modifications DNS invoqué par Openvpn. Pour outrepasser cela, il suffit de rajouter les lignes suivante dans le fichier de configuration du client : 
  
 +<code>
   script-security 2   script-security 2
   up /etc/openvpn/update-resolv-conf   up /etc/openvpn/update-resolv-conf
   down /etc/openvpn/update-resolv-conf   down /etc/openvpn/update-resolv-conf
-  +</code>
  
kb/linux/generalites/openvpn.1503921117.txt.gz · Dernière modification : 2017/12/09 00:19 (modification externe)