rss logo

Installer et Configurer OpenVPN sur Windows Server 2025

Logo OpenVPN

Dans ce tutoriel, je détaillerais comment configurer un serveur OpenVPN sur Microsoft Windows Server 2025.

Schéma Réseau

Schéma de configuration OpenVPN montrant un serveur Microsoft Windows 2025 avec l'adresse IP 192.168.0.200 connecté à un client à travers un routeur.

Serveur OpenVPN

Logo Microsoft
  • Propriétés du serveur OpenVPN :
    • Système d'exploitation : Windows Server 2025
    • Rôle : Serveur OpenVPN
    • IP : 192.168.0.254

Prérequis

OpenSSL

Logo OpenSSL

Pour créer les certificats qui seront nécessaires à l'authentification, nous aurons besoin d'installer la bibliothèque logicielle OpenSSL. Dans les environnements Microsoft, j'utilise les packages fournis par ce site web : https://slproweb.com.

Télécharger OpenSSL

Télécharger la dernière version de OpenSSL Light.

Capture d'écran de la page de téléchargement d'OpenSSL montrant différentes versions de Win32/Win64 OpenSSL, avec une flèche pointant vers l'option de l'installateur Win64 OpenSSL v3.3.2 Light.
Installer OpenSSL
  • Accepter le contrat :
Fenêtre de l'installateur OpenSSL 64 bits affichant l'accord de licence avec l'option 'J'accepte le contrat' sélectionnée pendant l'installation.
  • Sélectionner le dossier de destination :
Fenêtre de l'installateur OpenSSL 64 bits affichant la sélection du dossier de destination avec le chemin par défaut défini sur Program Files.
  • Sélectionner le dossier du menu Démarrer :
Fenêtre de l'installateur OpenSSL 64 bits affichant la sélection du dossier du menu Démarrer avec 'OpenSSL' comme option par défaut.
  • Sélectionner le répertoire des binaires OpenSSL :
Fenêtre de l'installateur OpenSSL 64 bits affichant les tâches supplémentaires avec l'option 'Le répertoire des binaires (bin) OpenSSL' sélectionnée.
  • Cliquer sur Installer :
Fenêtre de l'installateur OpenSSL 64 bits prête à installer, affichant le lieu de destination, le dossier du menu Démarrer et le résumé des tâches supplémentaires.
  • Cliquer sur Terminer pour quitter (et faites un don si vous le pouvez pour soutenir le responsable du projet 😊) :
Fenêtre de fin de l'assistant d'installation OpenSSL 64 bits avec les options de donation et le bouton Terminer.
Ajouter OpenSSL dans les variables d'environnement

Afin qu'il puisse être utilisé par les scripts OpenVPN nous allons devoir ajouter le chemin d'OpenSSL aux variables d'environnement. Ainsi la commande openssl pourra être exécuter depuis n'importe quel dossier.

  • Exécuter SystemPropertiesAdvanced pour ouvrir les Propriétés Système :
Boîte de dialogue Exécuter de Windows avec 'SystemPropertiesAdvanced' entré pour ouvrir les propriétés système avancées avec les privilèges administratifs
  • Cliquer sur Variables d'environnement… :
Fenêtre des Propriétés Système de Windows avec le bouton Variables d'environnement mis en évidence pour accéder aux paramètres des variables système.
  • Modifier la variable système Path :
Fenêtre des Variables d'Environnement de Windows avec la variable Path mise en évidence et le bouton Modifier sélectionné sous Variables système.
  • Cliquer sur Nouveau et ajoutez %ProgramFiles%\OpenSSL-Win64\bin :
Fenêtre de modification de la variable d'environnement avec un nouveau chemin pour OpenSSL ajouté sous Program Files, et le bouton Nouveau mis en évidence.
  • Ouvrir une nouvelle commande Windows et vérifier que l'on peut exécuter cette commande openssl :
Fenêtre PowerShell affichant la commande 'openssl version' exécutée avec la sortie OpenSSL version 3.3.2.

Pare-feu Windows

Logo du Pare-feu Windows

Nous allons devoir ouvrir le port 1194 en UDP dans le Pare-feu Windows afin d'autoriser les connexions entrantes des clients OpenVPN.

  • Pour ce faire, on pourra utiliser la méthode graphique via la Console de gestion du Pare-feu Windows ou alors en ligne de commande, depuis une console en ligne de commande avec les droits Administrateur.
C:\Windows\system32>netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
  • Ou avec PowerShell :
PS C:\ > New-NetFirewallRule -DisplayName "OpenVPN" -Direction Inbound -Protocol UDP -LocalPort 1194 -Action Allow

Installation d'OpenVPN

Aller sur le site officiel de OpenVPN ici : https://openvpn.net et télécharger le dernier installateur.

Page de publication d'OpenVPN 2.6.12 avec une flèche pointant vers le lien de téléchargement de l'installateur MSI 64 bits pour Windows.
  • Comme nous voulons installer OpenVPN en tant que serveur, nous allons choisir Personnaliser :
Fenêtre d'installation d'OpenVPN avec une flèche pointant vers l'option 'Personnaliser' sous 'Choisir le type d'installation'.
  • Nous activons le Service OpenVPN pour qu'il s'exécute au démarrage :
Fenêtre d'installation personnalisée d'OpenVPN avec l'option 'Activer le fournisseur d'accès OpenVPN avant la connexion' sélectionnée sous Service OpenVPN.
  • Et nous installons EasyRsa pour créer des certificats pour le serveur et les clients :
Fenêtre d'installation personnalisée d'OpenVPN avec 'Scripts de gestion des certificats EasyRSA 3' sélectionné sous Utilitaires OpenSSL et le bouton 'Installer maintenant' mis en évidence.
  • Enfin, cliquer sur Fermer :
Fenêtre d'installation terminée d'OpenVPN avec le bouton 'Fermer' mis en évidence.

Certificats

Mise en place de l'Autorité de Certification (CA) et génération des certificats et clés pour le serveur et les clients

Ici, nous allons mettre en place une PKI afin de créer nos certificats de serveur et de client.

  • Ouvrir une Invite de Commandes :
Résultat de recherche Windows pour 'Terminal' avec l'option Invite de Commandes mise en évidence.
  • Ensuite, entrer les commandes suivantes afin de rentrer dans le shell EasyRSA :
C:\Windows\system32> cd "C:\Program Files\OpenVPN\easy-rsa" C:\Program Files\OpenVPN\easy-rsa> .\EasyRSA-Start.bat Welcome to the EasyRSA 3 Shell for Windows. Easy-RSA 3 is available under a GNU GPLv2 license. Invoke 'easyrsa' to call the program. Without commands, help is displayed. Using directory: C:/Program Files/OpenVPN/easy-rsa EasyRSA Shell #
  • Supprimer la configuration existante, juste par précaution :
# ./easyrsa clean-all
  • Initialiser la PKI, et entrer yes pour confirmer :
# ./easyrsa init-pki OpenVPN sur Windows Easy RSA Shell init-pki
  • Construction de l'autorité de certification :
# ./easyrsa build-ca […] Enter PEM pass phrase:MyPassW0rd Verifying - Enter PEM pass phrase:MyPassW0rd […] Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ovpn
  • Génération du certificat et de la clé du serveur :
# ./easyrsa build-server-full server nopass […] Confirm request details: yes […] Enter pass phrase for c:\Program Files\OpenVPN\easy-rsa\pki\private\ca.key:MyPassW0rd
  • Générer les paramètres de Diffie-Hellman :
# ./easyrsa gen-dh
  • Générer les certificats clients :
# ./easyrsa build-client-full client01 nopass […] Confirm request details: yes […] Enter pass phrase for c:\Program Files\OpenVPN\easy-rsa\pki\private\ca.key:MyPassW0rd

Copier les certificats dans les bons dossiers

  • Copier les fichiers suivants (présents dans « C:\Program Files\OpenVPN\easy-rsa\pki », « C:\Program Files\OpenVPN\easy-rsa\pki\issued » et « C:\Program Files\OpenVPN\easy-rsa\pki\private ») :
    • ca.crt
    • dh.pem
    • server.crt
    • server.key
  • Dans les dossiers « C:\Program Files\OpenVPN\config-auto » et « C:\Program Files\OpenVPN\config ».
Dossier config-auto d'OpenVPN sur Windows

Fichier de Configuration

  • En tant qu'administrateur, éditer le fichier « C:\Program Files\OpenVPN\config-auto\server.ovpn » :
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.50.8.0 255.255.255.0 ifconfig-pool-persist ipp.txt keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 3

Redémarrer le service OpenVPN

Le service OpenVPN doit être redémarré pour que le fichier de configuration prenne effet.

  • Ouvrir la console de gestion des services :
Boîte de dialogue Exécuter de Windows avec 'services.msc' entré pour ouvrir la console de gestion des services.
  • Cliquer avec le bouton droit sur OpenVPNService puis sur Redémarrer :
Console de gestion des services Windows montrant OpenVPNService avec l'option Redémarrer sélectionnée.
  • Ou depuis une invite de commandes administrateur :
C:\Windows\system32>net stop openvpnservice C:\Windows\system32>net start openvpnservice
  • Ou avec PowerShell :
PS C:> Restart-Service OpenVPNService -PassThru

Windows client configuration

Logo Microsoft

Installation d'OpenVPN

Nous devons télécharger le même package que pour le serveur, mais cette fois-ci l'installer avec les paramètres par défaut.

Copier les certificats depuis le serveur

  • Depuis le serveur, nous devons copier les fichiers suivants :
    • ca.crt : C:\Program Files\OpenVPN\easy-rsa\pki
    • client01.crt : C:\Program Files\OpenVPN\easy-rsa\pki\issued
    • client01.key : C:\Program Files\OpenVPN\easy-rsa\pki\private

Et les coller dans le répertoire C:\Program Files\OpenVPN\config de notre client Windows.

  • On devrait à la suite de cette étape, voir les fichiers clients suivants :
Explorateur Windows montrant le dossier de configuration OpenVPN avec les fichiers ca.crt, client.ovpn, client01.crt, et client01.key en surbrillance.
  • Modifier le fichier C:\Program Files\OpenVPN\config\client.ovpn :
client dev tun proto udp remote OPENVPN_IP 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client01.crt key client01.key comp-lzo verb 3
  • Ouvrir OpenVPN avec les droits d'administrateur (sinon les règles de routage, si elles ont été configurées, ne fonctionneront pas) et lancer la connexion :
Barre d'état système montrant l'icône OpenVPN avec l'option Connecter sélectionnée dans le menu contextuel.
  • Une fenêtre pop-up confirmera que l'on est bien connecté :
Notification GUI OpenVPN montrant que le client est maintenant connecté avec l'IP attribuée 10.50.8.6, et l'icône OpenVPN dans la barre d'état système.
  • Pour atteindre le serveur, on utilisera l'adresse IP 10.50.8.1 :
Fenêtre Windows PowerShell montrant les résultats de ping pour l'IP 10.50.8.1, à côté d'une fenêtre de l'explorateur de fichiers accédant à la même adresse IP.
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address