COMPUTING > Virtual Private Cloud > VMware vCloud Director > Comment établir une connexion VPN avec OpenVPN sur Windows Server 2019

3.4.1.1 Comment établir une connexion VPN avec OpenVPN sur Windows Server 2019

Un VPN (Virtual Private Network) est un réseau privé virtuel qui permet de connecter en toute sécurité deux réseaux informatiques indépendants exposés sur internet. Grâce à un VPN, il est donc possible à partir d'un serveur ou d'un PC (client) connecté à un certain point d'Internet d'accéder aux ressources réseau d'un autre serveur, créant virtuellement une connexion réseau directe entre les deux et garantissant en pratique que la connexion physique entre les deux points du réseau sont émulés.

Les VPN peuvent être mis en œuvre sur des systèmes d'exploitation courants, y compris Windows, et un service comme OpenVPN. Il s'agit d'un logiciel open source qui permet de créer un tunnel virtuel crypté basé sur les protocoles TLS/SSL (Transport Layer Security/Secure Sockets Layer), en utilisant des certificats pour faire transiter en toute sécurité le trafic entre le serveur et un ou plusieurs clients.
 
Ce guide décrit la configuration/mise en place d'un VPN utilisant OpenVPN, sur un Serveur et un Client tous deux de type Windows Server 2019. Cela ne signifie pas que les indications fournies ne peuvent pas être utilisées en partie (celles relatives au Serveur ou au Client) pour des configurations/implémentations hybrides (par exemple Windows Server et Client Linux ou inversement).

Pour se connecter au même réseau, les deux appareils ou plus (client et serveur) connectés au VPN doivent avoir accès au port 1194.

Cela peut être fait en autorisant le trafic UDP sur ce port en ajoutant une règle à votre pare-feu.
La première étape consiste à télécharger le programme d'installation OpenVPN pour Windows Server 2019 directement depuis le site officiel.
 
Le programme d'installation peut être utilisé à la fois côté serveur et côté client sur le système d'exploitation Windows.

Une fois le fichier téléchargé, ouvrez-le et lancez la procédure d'installation. Assurez-vous de cocher "EasyRSA 2 Certificate Management Scripts" puis cliquez sur "Next".



Continuez l'installation en continuant chaque fois que vous y êtes invité.
Après la phase préliminaire d'installation d'OpenVPN, vous devez générer les certificats et les clés d'accès au VPN.

Vous devez d'abord ouvrir le terminal de votre serveur Windows. Pour ce faire, cliquez sur Démarrer, tapez "cmd" et faites un clic droit sur l'icône d'invite de commande, puis sélectionnez "Exécuter en tant qu'administrateur".



Allez dans le dossier où vous avez installé OpenVPN et lancez le script "init-config".
 

cd "C:\Program Files\OpenVPN\easy-rsa"
init-config

Vous devriez obtenir une commande similaire à celle illustrée dans la figure ci-dessous.



À ce stade, des modifications doivent être apportées au fichier "vars.bat" dans le dossier "C:\Program Files\OpenVPN\easy-rsa":
 

notepad vars.bat

Presque à la fin du document, vous trouverez une série d'entrées commençant par "set" et servant à définir certaines informations parmi les variables d'environnement. Modifiez ces champs avec vos informations pour générer le certificat.



Cette étape n'est pas indispensable car vous serez toujours invité à saisir ces informations ultérieurement, mais en définissant les valeurs dans ce fichier, elles seront par la suite utilisées comme paramètres par défaut.

Lorsque vous avez terminé d'entrer ces informations, enregistrez le fichier et fermez l'éditeur de texte. Tapez ensuite les commandes suivantes pour que ces modifications prennent effet:
 

vars
clean-all

Lancez ensuite la création du Certificat. Depuis le terminal (démarré en tant qu'administrateur et toujours dans le dossier "C:\Program Files\OpenVPN\easy-rsa") tapez:
 

build-ca

Si vous avez préalablement modifié le fichier "vars" avec vos informations, celles-ci seront déjà présentes entre crochets de chaque champ obligatoire. Dans ce cas, appuyez simplement sur "Entrée" pour sélectionner ces valeurs comme paramètres par défaut.

Sous "Common name", vous devez plutôt donner un nom facile à retenir : dans ce cas, "OpenVPN-CA" sera utilisé.

Pour confirmer le succès de l'opération de génération de certificat, les deux fichiers "ca.crt" et "ca.key" seront créés dans le dossier "easy-rsa\keys".



À ce stade, vous devez créer les clés pour le serveur, dont la procédure peut être lancée avec la commande:
 

build-key-server server_name

Dans ce cas, sous "Common Name" vous devez spécifier le nom générique à attribuer au serveur. Comme le montre l'image suivante, dans notre cas, le nom "server" a été utilisé.



Vers la fin de la procédure il vous sera demandé de confirmer deux fois la sauvegarde des données ainsi paramétrées. Dans les deux cas tapez y et appuyez sur "Entrée".
Étant donné que dans un VPN, tous les appareils connectés doivent être reconnaissables, les clients ont également besoin d'une paire de clés pour communiquer. Toujours dans votre serveur, depuis le terminal et dans le dossier "C:\Program Files\OpenVPN\easy-rsa") tapez:
 

build-key client_name

Dans ce cas, sous "Common Name", vous devez spécifier le nom générique à attribuer au client (comme indiqué dans l'image dans ce cas, "client-desktop" a été utilisé).

Creazione chiavi client

Il faut maintenant lancer le protocole cryptographique Diffie-Hellman à travers lequel les deux interlocuteurs (Serveur et Client) peuvent se mettre d'accord sur quelle clé "commune" utiliser comme clé d'authentification afin de se reconnaître. Tapez donc:
 

build-dh

Cela peut prendre un certain temps, selon le matériel dont dispose le serveur, et ne nécessite aucune interaction de l'utilisateur.



Enfin, vous devez générer la clé "ta.key", qui est utile pour augmenter encore la sécurité du VPN. Plus précisément, il faut définir une authentification TLS qui vérifie l'intégrité des paquets transitant par le réseau. Tapez donc:
 

"C:\Program Files\OpenVPN\bin\openvpn.exe" --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"

OpenVPN fournit déjà des exemples de fichiers de configuration que vous pouvez utiliser pour générer la configuration nécessaire au bon fonctionnement du VPN.

Ouvrez Start -> All Programs -> OpenVPN -> OpenVPN Sample Configuration Files et copiez le fichier "server.ovpn" dans le dossier ""C:\Program Files\OpenVPN\easy-rsa\keys". Une fois copié, ouvrez le Bloc-notes:
 

notepad "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"

Identifiez les entrées:
  • ca ca.crt
  • cert server.crt
  • key server.key
  • dh dh2048.pem
et remplacez-les par:
  • ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
  • cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
  • key "C:\\Program Files\\OpenVPN\\config\\server.key"
  • dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
Une fois ces modifications apportées, enregistrez et fermez le fichier.
Les modifications à apporter au fichier de configuration Client sont très similaires à celles apportées au Serveur.

Ouvrez Start -> All Programs -> OpenVPN -> OpenVPN Sample Configuration Files et copiez le fichier "client.ovpn" dans le dossier ""C:\Program Files\OpenVPN\easy-rsa\keys". Une fois copié, renommez-le en lui donnant le même nom que "Common Name" utilisé lors de la génération de la clé (dans ce cas "client-desktop") et ouvrez-le avec le Bloc-notes.
 

notepad "C:\Program Files\OpenVPN\easy-rsa\keys\client-desktop.ovpn"

Identifiez les entrées:
  • ca ca.crt
  • cert server.crt
  • key server.key
et remplacez-les par:
  • ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
  • cert "C:\\Program Files\\OpenVPN\\config\\client-desktop.crt"
  • key "C:\\Program Files\\OpenVPN\\config\\client-desktop.key"
Trouvez remote my-server-1 1194 et remplacez "my-server-1" par l'adresse IP de votre serveur. Une fois ces modifications apportées, enregistrez et fermez le fichier.

À ce stade, vous devez copier les fichiers suivants:
  • ca.crt
  • ta.key
  • dh2048.pem
  • server.crt
  • server.key
  • server.ovpn
dans le dossier "C:\Program Files\OpenVPN\config", opération pouvant être effectuée directement avec l'instrument robocopy.
 

robocopy "C:\Program Files\OpenVPN\easy-rsa\keys\ " "C:\Program Files\OpenVPN\config\ " ca.crt ta.key dh2048.pem server.crt server.key server.ovpn

Il ne vous reste plus qu'à copier les fichiers suivants:
  • ca.crt
  • ta.key
  • client-desktop.crt
  • client-desktop.key
  • client-desktop.ovpn
à l'intérieur de votre client dans le dossier "C:\Program Files\OpenVPN\config\".

N.B. Également sur le client, vous devez avoir installé l'interface graphique OpenVPN, comme expliqué au début du guide pour le serveur.

À ce stade, à la fois sur le serveur et sur le client, cliquez sur Start -> All Programs -> OpenVPN -> OpenVPN GUI.

L'interface graphique OpenVPN s'ouvrira dans le tray system, en bas à droite. Faites un clic droit sur l'icône OpenVPN, puis cliquez sur "Connect".

Lorsque l'icône devient verte, cela signifie que la connexion au réseau privé virtuel a été établie correctement et donc les deux appareils, client et serveur, communiqueront via le VPN nouvellement créé.