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 | ||
</ | </ | ||