Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| netadmin:vpn:config-test-openvpn [2017/12/28 08:35] – yoann | netadmin:vpn:config-test-openvpn [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== Mise en place d'une config test openvpn ====== | ====== Mise en place d'une config test openvpn ====== | ||
| - | On cherche à connecter un poste client au travers d'un réseau non sécurisé au serveur. | + | On cherche à connecter un poste client au travers d'un réseau non sécurisé au serveur. |
| ===== Serveur ===== | ===== Serveur ===== | ||
| Ligne 21: | Ligne 21: | ||
| ==== Génération des clés ==== | ==== Génération des clés ==== | ||
| - | easy-rsa contient un ensemble de scripts assistant la génération des certificats serveur et clients. | + | easy-rsa contient un ensemble de scripts assistant la génération des certificats |
| + | |||
| + | On commence par mettre a jour le fichier contenant les variables: '' | ||
| <code bash> | <code bash> | ||
| Ligne 35: | Ligne 37: | ||
| <code bash> | <code bash> | ||
| - | # sourcer le fichier | + | # sourcer le fichier |
| source ./vars | source ./vars | ||
| + | |||
| # par précaution supprimer les fichiers temporaires | # par précaution supprimer les fichiers temporaires | ||
| ./clean-all | ./clean-all | ||
| - | # construire clés et certificat pour l' | + | |
| + | # construire clés et certificat pour le CA ou Autorité | ||
| ./build-ca | ./build-ca | ||
| </ | </ | ||
| - | Après validation | + | Après validation, les fichiers suivants ont été créés dans le répertoire |
| * **ca.key**: la clé privée de l' | * **ca.key**: la clé privée de l' | ||
| * **ca.crt**: le certificat de l' | * **ca.crt**: le certificat de l' | ||
| Ligne 49: | Ligne 53: | ||
| * **serial** identifiant du dernier certificat émis | * **serial** identifiant du dernier certificat émis | ||
| - | Le certificat de l' | + | Le certificat de l' |
| Pour le serveur: | Pour le serveur: | ||
| Ligne 179: | Ligne 183: | ||
| ==== Ajouter les routes ==== | ==== Ajouter les routes ==== | ||
| - | Le tunnel est fonctionnel mais coté client les routes n'ont pas été mises a jour. Pour que le réseau soit accessible au client, il faut déclarer au serveur | + | Avec la configuration minimale, le tunnel est fonctionnel mais coté client les routes n'ont pas été mises a jour. Pour que le réseau soit accessible au client, il faut déclarer au serveur |
| + | Il est possible de changer le protocole et le port d’écoute du serveur avec les directives **proto** et **port**: | ||
| - | ===== Fichier | + | < |
| + | proto tcp | ||
| + | port 26356 | ||
| + | </ | ||
| + | |||
| + | Le fichier périphérique | ||
| < | < | ||
| + | dev vpn | ||
| + | dev-type tun | ||
| + | </ | ||
| + | |||
| + | ===== Fichiers de configuration finalisés ===== | ||
| + | |||
| + | ==== Serveur ==== | ||
| + | |||
| + | Sur le serveur le fichier de configuration du service openvpn a maintenant la forme suivante: | ||
| + | |||
| + | <file txt serveur.conf> | ||
| # Configuration du serveur openvpn | # Configuration du serveur openvpn | ||
| mode server | mode server | ||
| - | proto udp | + | proto tcp |
| - | dev tun | + | port 31100 |
| + | |||
| + | dev vpn | ||
| + | dev-type tun | ||
| topology subnet | topology subnet | ||
| Ligne 196: | Ligne 220: | ||
| dh keys/ | dh keys/ | ||
| - | # pool d' | + | # Adresse de réseau à exploiter. |
| + | # Définit le pool d' | ||
| server 10.50.0.0 255.255.255.0 | server 10.50.0.0 255.255.255.0 | ||
| keepalive 10 120 | keepalive 10 120 | ||
| + | |||
| + | # Chemin des fichiers de configuration clients | ||
| + | # permet de redefinir la config générale par client | ||
| + | client-config-dir ./ | ||
| + | |||
| + | # Décommenter la directive pour autoriser les communications | ||
| + | # entre clients | ||
| + | # | ||
| + | |||
| + | # Limiter le nombre de conexions au serveur | ||
| + | # | ||
| # Renforcement de la securité par defaut | # Renforcement de la securité par defaut | ||
| Ligne 227: | Ligne 263: | ||
| persist-tun | persist-tun | ||
| - | # Log | + | # Paramétrages des logs |
| - | #log / | + | log / |
| verb 3 | verb 3 | ||
| + | # Condense la répétition de memes entrées dans les logs | ||
| + | mute 20 | ||
| # Fichier listant les connexions actives | # Fichier listant les connexions actives | ||
| Ligne 235: | Ligne 273: | ||
| </ | </ | ||
| - | ===== Fichier | + | Il utilise les certificats présents dans le sous dossier **./keys/** et des fichier |
| - | < | + | < |
| + | # Fichier de redefinition de la configuration | ||
| - | </ | + | # Ne tient pas compte de la configuration générale |
| + | push-reset | ||
| - | ===== Options | + | # Redéfinition |
| + | ifconfig-push 10.50.0.33 255.255.255.0 | ||
| - | Il est possible de changer | + | # Pousse les routes sur le client |
| + | # NB: ces routes doivent exister sur le serveur | ||
| + | push "route 10.50.0.0 255.255.255.0" | ||
| + | push "route 172.16.3.0 255.255.255.0" | ||
| + | </ | ||
| + | ==== Client ==== | ||
| + | |||
| + | Le fichier de configuration finalisé coté client a la forme suivante: | ||
| < | < | ||
| + | # Configuration du client | ||
| + | client | ||
| proto tcp | proto tcp | ||
| - | port 26356 | ||
| - | </ | ||
| - | Le fichier périphérique de l' | + | remote serveur.lan 31100 |
| + | remote-cert-tls server | ||
| - | < | ||
| dev vpn | dev vpn | ||
| dev-type tun | dev-type tun | ||
| + | |||
| + | |||
| + | |||
| + | nobind | ||
| + | tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA | ||
| + | #tls-cipher TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-AES-256-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-CAMELLIA-256-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-3DES-EDE-CBC-SHA | ||
| + | #tls-cipher TLS-DHE-RSA-WITH-AES-128-CBC-SHA | ||
| + | #tls-cipher TLS-DHE-RSA-WITH-SEED-CBC-SHA | ||
| + | #tls-cipher TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-AES-128-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-SEED-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-CAMELLIA-128-CBC-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-RC4-128-SHA | ||
| + | #tls-cipher TLS-RSA-WITH-RC4-128-MD5 | ||
| + | #tls-cipher TLS-RSA-WITH-DES-CBC-SHA | ||
| + | |||
| + | cipher AES-256-CBC | ||
| + | auth SHA256 | ||
| + | |||
| + | persist-key | ||
| + | persist-tun | ||
| + | |||
| + | ca / | ||
| + | cert / | ||
| + | key / | ||
| + | |||
| + | comp-lzo | ||
| + | verb 3 | ||
| </ | </ | ||