PDA

Voir la version complète : [Demande d'aide] Configurer un serveur VPN sur Linux



MegABiloU
08/08/2016, 16h31
Bonjour à tous.

Je dispose d'un VPS sur lequel j'héberge ma page internet ainsi que quelques serveurs divers et variés.

J'ai commencé à suivre ce tuto (https://openclassrooms.com/courses/creer-son-propre-serveur-vpn-avec-open-vpn) pour y héberger un VPN.

Sauf que une fois arrivé sous Windows ben ça ne fonctionne pas.

J'ai de très légères bases en Linux alors ne m'en voulez pas si je ne comprends pas tout de suite.

Donc j'ai scrupuleusement suivi les étapes puis ai installé le client openvpn

copié le dossier utilisateur "bilou" avec ses fichiers dans le dossier "config" dans le répertoire ou est installé openvpn.

Je teste en me connectant
rien ne se passe puis j'ai un message qui me dit qu'il a pas réussi a se connecter.

en consultant les log j'obtiens ceci :

Options error: --ca fails with 'ca.crt': No such file or directory
Options error: --tls-auth fails with 'ta.key': No such file or directory
Options error: Please correct these errors.
Use --help for more information.

Streght
08/08/2016, 16h40
Salut,

J'utilise également OpenVPN mais avec une solution payante (FreedomIP) et en effet dans mon dossier de config j'ai un fichier ca.crt et un fichier ta.key.

Le fichier ca.crt est un certificat qui est délivré par ton fournisseur de VPN. Si c'est toi qui créé ton VPn, je suppose que tu dois l'éditer d'une manière ou d'une autre.

Le fichier ta.key est la clef statique OpenVPN qui doit servir de chiffrement pour le tunnel mais idem aucune idée de comment elle est générée.

Je vais regarder plus en profondeur le tuto, je te tiens au jus.

EDIT : Pour la récupération de ces fichiers, regarde la partie "Création d'un accès VPN" :

Maintenant que nous avons fini la (fastidieuse) configuration d'Open VPN, nous allons créer un accès utilisateur pour ce dernier.

Il faudra répéter cette opération à chaque fois que vous souhaitez créer un accès à un utilisateur.

Retournons dans le dossier où se trouvent les clés et certificats :


cd /etc/openvpn/easy-rsa

Maintenant, nous allons générer les clés et certificats pour l'utilisateur :


./build-key toto

Bien évidemment vous aurez remplacé toto par ce que vous voulez.

Remplissez les informations que l'on vous demande et ne remplissez pas le champ a challenge password.

Tapez Y pour YES quand on vous demande Sign the certificate ? Enfin, validez la création des fichiers en tapant à nouveau Y.

En vous rendant dans le dossier /keys et en tapant ls (pour lister les fichiers), vous vous apercevrez que 3 fichiers ont été créés : toto.crt, toto.key et toto.csr . Ce sont les clés et certificats particuliers à l'utilisateur et qui serviront à l'identification de ce dernier.

Nous allons placer ces fichiers dans un répertoire dédié à l'utilisateur :


mkdir /etc/openvpn/clientconf/toto/
cp /etc/openvpn/ca.crt /etc/openvpn/ta.key keys/toto.crt keys/toto.key /etc/openvpn/clientconf/toto/

Maintenant, on se place dans le bon dossier et on créer le fichier de configuration de l'utilisateur.


cd /etc/openvpn/clientconf/toto/
touch client.conf

Là aussi je vous fournis un squelette, libre à vous de le modifier comme vous le voudrez, vous trouverez les exemples sur la même page que pourla configuration open vpn.


# Config Client

client
dev tun
proto tcp-client
remote 1.2.3.4 443
resolv-retry infinite
cipher AES-256-CBC

# Certificats + Cles
ca ca.crt
cert toto.crt
key toto.key
tls-auth ta.key 1

# Config Securite
nobind
persist-key
persist-tun
comp-lzo
verb 3

Comme vous vous en doutez, il faudra remplacer 1.2.3.4 par l'ip de votre serveur, sinon vous allez avoir des surprises .

N'oubliez pas aussi de changer toto par ce que vous aurez défini au tout début de cette étape.

Enregistrez et fermez le fichier.

Maintenant, nous allons faire une copie du fichier créé avec l'extension .ovpn. Certains logiciels utilisent ce format de fichier pour leur configuration.


cp client.conf client.ovpn

Nous avons à présent terminé la création de l'accès. Il ne vous reste plus qu'à récupérer tous les fichiers du dossier /etc/openvpn/clientconf/toto/ sur votre machine.

Vous pouvez le faire avec filezilla par exemple.Après quoi nous allons pouvoir procéder à la configuration de votre accès sur votre machine.

MegABiloU
08/08/2016, 16h49
J'ai copié via filezilla pour gagner du temps mais les fichiers sont bien présents dans mon dossier config
ca.crt
dh2048.pem
ta.key

et j'ai créé le sous dossier au nom de mon utilisateur "bilou" dans lequel sont présents les fichiers
bilou.crt
bilou.csr
bilou.key
client.conf
client.ovpn

edit : j'ai du nouveau :

j'ai copié également dans mon serveur les fichiers ca.crt et ta.key dans le dossier bilou et j'ai un peu mieux

Mon Aug 08 16:51:15 2016 OpenVPN 2.3.11 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on May 10 2016
Mon Aug 08 16:51:15 2016 Windows version 6.2 (Windows 8 or greater) 64bit
Mon Aug 08 16:51:15 2016 library versions: OpenSSL 1.0.1t 3 May 2016, LZO 2.09
Mon Aug 08 16:51:15 2016 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
Mon Aug 08 16:51:15 2016 Need hold release from management interface, waiting...
Mon Aug 08 16:51:15 2016 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
Mon Aug 08 16:51:15 2016 MANAGEMENT: CMD 'state on'
Mon Aug 08 16:51:15 2016 MANAGEMENT: CMD 'log all on'
Mon Aug 08 16:51:15 2016 MANAGEMENT: CMD 'hold off'
Mon Aug 08 16:51:15 2016 MANAGEMENT: CMD 'hold release'
Mon Aug 08 16:51:15 2016 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Mon Aug 08 16:51:15 2016 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Mon Aug 08 16:51:15 2016 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon Aug 08 16:51:15 2016 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon Aug 08 16:51:15 2016 Socket Buffers: R=[65536->65536] S=[65536->65536]
Mon Aug 08 16:51:15 2016 Attempting to establish TCP connection with [AF_INET]ipduserveur:443 [nonblock]
Mon Aug 08 16:51:15 2016 MANAGEMENT: >STATE:1470667875,TCP_CONNECT,,,
Mon Aug 08 16:51:25 2016 TCP: connect to [AF_INET]ipduserveur:443 failed, will try again in 5 seconds: Connection timed out (WSAETIMEDOUT)
Mon Aug 08 16:51:30 2016 MANAGEMENT: >STATE:1470667890,TCP_CONNECT,,,

et il retry en boucle

je sais pas trop ce qui bloque du coup (probablement coté serveur)

Streght
08/08/2016, 17h00
Ah non, faut que tout soit dans le dossier config (ou au moins dans le même dossier en fait). tu as besoin de :

client.openvpn
ca.crt
ta.key


Ces 2 derniers sont ceux générés pour l'utilisateur, pas ceux du serveur.

- - - Mise à jour - - -

Donc tu as : un ca.crt et un ta.key sur le serveur et ensuite chaque client a son ca.crt et un ta.key. Il faut bien que tu gardes ces nom ou alors les changer aux endroit approprié dans le fichier .ovpn (ouvrable au bloc-note).

EDIT : Non en fait j'ai dit un peu de la merde au début désolé. Comme dit avant, tu as un ca.crt et un ta.key sur le serveur et ensuite chaque client a son ca.crt et un ta.key que tu as généré.

MegABiloU
08/08/2016, 17h06
je viens de remettre ca.crt et ta.key (ceux générés pour l'utilisateur) dans mon dossier config

je vais voir si le port bloque pas.

golwin
11/08/2016, 22h10
Si tu veux faire simple, y'a ça : https://korben.info/installer-openvpn.html
C'est limité à 2 utilisateurs simultanés pour la version gratuite par contre.

MegABiloU
11/08/2016, 22h29
je vais essayer