Outils pour utilisateurs

Outils du site


travaux:technique:configuration_serveur_vpn

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
travaux:technique:configuration_serveur_vpn [2019/11/02 17:32]
jerome
travaux:technique:configuration_serveur_vpn [2019/11/03 13:24]
jerome
Ligne 22: Ligne 22:
  
   * ''​ca.crt''​ - la clé publique du CA racine ou intermédiaire de Mycélium   * ''​ca.crt''​ - la clé publique du CA racine ou intermédiaire de Mycélium
-  * ''​server.key''​ - la clé privée du serveur VPN +  * ''​nomduserveur.key''​ - la clé privée du serveur VPN 
-  * ''​server.crt''​ - la clé publique du serveur VPN, signée par le CA+  * ''​nomduserveur.crt''​ - la clé publique du serveur VPN, signée par le CA
   * ''​dh.pem''​ - la clé pour les paramètres Diffie Hellman   * ''​dh.pem''​ - la clé pour les paramètres Diffie Hellman
   * ''​ta.key''​ - la clé de sécurisation du Handshake SSL/TLS (commun sur tous les serveurs)   * ''​ta.key''​ - la clé de sécurisation du Handshake SSL/TLS (commun sur tous les serveurs)
Ligne 48: Ligne 48:
  
 <wrap important>​ <wrap important>​
-Ce fichier ​''​ta.key'' ​généré devra aussi être présent sur tous les clients.+Ce fichier généré devra aussi être présent sur tous les clients.
 </​wrap>​ </​wrap>​
  
 === Fichier de configuration serveur === === Fichier de configuration serveur ===
- 
-Le fichier est ''/​etc/​openvpn/​server/​server.conf''​ 
  
 <file ini /​etc/​openvpn/​server/​server.conf>​ <file ini /​etc/​openvpn/​server/​server.conf>​
 +# port et mode
 +mode server
 port 1194 port 1194
 proto udp proto udp
-# nom de l'​interface 
 dev tun dev tun
 +explicit-exit-notify 1
 +
 +# certificats et cles
 ca ca.crt ca ca.crt
-# clef privée +cert nomduserveur.crt 
-key schizophylle.key +key nomduserveur.key
-# clef publique +
-cert schizophylle.crt+
 dh dh.pem dh dh.pem
 tls-auth ta.key 0 tls-auth ta.key 0
 +cipher AES-256-CBC
 +
 +# reseau
 +server 10.8.0.0 255.255.255.0
 topology subnet topology subnet
-server 10.8.0.0 255.255.255.0 +#push "​redirect-gateway def1 bypass-dhcp"​ 
-ifconfig-pool-persist ipp.txt +push "​dhcp-option DNS 80.67.169.12" 
-le dossier de config des clients+push "​dhcp-option DNS 80.67.169.40" 
 +keepalive 10 120 
 + 
 +# clients
 client-config-dir ccd client-config-dir ccd
-# client-to-client,​ ici c'est bien expliqué : https://​serverfault.com/​questions/​736274/​openvpn-client-to-client#​738558 
 client-to-client client-to-client
-keepalive 10 120 +ifconfig-pool-persist ipp.txt 
-# le chiffrement symétrique utilisé lorsque la connexion est établie + 
-cipher AES-256-CBC +securite
-comp-lzo +
-On a pas créé d'​utilisateur spécifique,​ donc on utilise nobody+
 user nobody user nobody
-group nobody+group nogroup
 persist-key persist-key
 persist-tun persist-tun
-status openvpn-status.log+comp-lzo 
 + 
 +# journaux
 verb 3 verb 3
 +mute 20
 +status openvpn-status.log
 +log-append /​var/​log/​openvpn.log
 </​file>​ </​file>​
  
Ligne 153: Ligne 162:
  
 TODO configuration de **ferm** TODO configuration de **ferm**
-===== Setup du client ===== 
- 
-==== Pré-requis ==== 
-  
-  * Installation de la version 3 Easy-RSA 
-  * Disposer du CA racine ou intermédiaire 
-  * Créer une clé privée pour le client 
-  * Créer une demande de signature 
-  * Signer la demande 
-  * Disposer de la clé signée 
- 
-Générer les certificats : [[travaux:​technique:​creation_certificat|Voir la procédure]] 
-==== Installation ==== 
- 
-<​code>​ 
-apt-get install openvpn 
-</​code>​ 
- 
-==== Configuration ==== 
- 
-Créer un fichier ''​client.conf''​ dans le répertoire dédié aux profils serveurs dans ''/​etc/​openvpn/​client''​. Dans ce même répertoire il doit y avoir les différentes clés: 
- 
-  * ''​ca.crt''​ - la clé publique du CA racine ou intermédiaire de Mycélium 
-  * ''​client.key''​ - la clé privée du client 
-  * ''​client.crt''​ - la clé publique du client signée par le CA 
-  * ''​ta.key''​ - la clé de sécurisation du Handshake SSL/TLS (commun sur tous les serveurs) 
- 
-<file txt /​etc/​openvpn/​client/​client.conf>​ 
-client 
-dev tun 
-proto udp 
-remote vpn.mycelium-fai.org 1194 
-nobind 
-persist-key 
-persist-tun 
-ca ca.crt 
-key client.key 
-cert client.crt 
-tls-auth ta.key 1 
-remote-cert-tls server 
-cipher AES-256-CBC 
-comp-lzo 
-verb 3 
- 
-resolv-retry infinite 
-user nobody 
-group nobody 
-</​file>​ 
-TODO comparer a la version tapée par hoccau 
- 
-<​file>​ 
-client 
-dev tun 
-proto udp 
-remote cacatoes.ml 
-port 1194 
-nobind 
-persist-key 
-persist-tun 
-ca ca.crt 
-key antoine.key 
-cert antoine.crt 
-tls-auth ta.key 1 
-remote-cert-tls server 
-cipher AES-256-CBC 
-comp-lzo 
-verb 9 
- 
-redirect-gateway def1 
-tls-client 
-route-delay 2 
-</​file>​ 
- 
-Hypothèse : le premier c'est pour tester sans casser sa config réseau/​internet. Le deuxieme c'est pour router tout le trafic, donc en mode production. 
-==== Démarrage du service OpenVPN ==== 
- 
-Une fois configurée,​ démarrage du service. 
- 
-<​code>​ 
-systemctl reload openvpn 
-systemctl start openvpn-client@client 
-</​code>​ 
- 
-Un petit ''​status''​ pour voir si tous va bien 
- 
-<​code>​ 
-systemctl status openvpn-client@client 
-</​code>​ 
- 
-Le fichier de log se trouve dans ''/​var/​log/​openvpn.log''​ 
- 
-==== Voir l'​état du tunnel et le routage ==== 
- 
-<​code>​ 
-ip a 
-ip r 
-</​code>​ 
- 
-Vérifier que ''​tun''​ a bien l'ip qu'on a indiqué durant le push. 
- 
-Tester un ping sur l'IP distante 
- 
-<​code>​ 
-ping 10.8.0.1 
-</​code>​ 
- 
- 
- 
travaux/technique/configuration_serveur_vpn.txt · Dernière modification: 2019/11/03 13:24 par jerome