Installer et Configurer OpenVPN sur Windows Server 2025
- Mise à jour le 24 sept. 2024
Dans ce tutoriel, je détaillerais comment configurer un serveur OpenVPN sur Microsoft Windows Server 2025.
- OpenVPN est une solution VPN qui offre plusieurs avantages :
- Il est gratuit et Open Source
- Compatible avec la plupart des systèmes d'exploitation
- Fiable, avec une communauté réactive
- Facile à mettre en œuvre (surtout avec ce merveilleux guide! 😝)
- Hautement configurable.
Schéma Réseau

Serveur OpenVPN
- 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
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.

Installer OpenSSL
- Accepter le contrat :

- Sélectionner le dossier de destination :

- Sélectionner le dossier du menu Démarrer :

- Sélectionner le répertoire des binaires OpenSSL :

- Cliquer sur Installer :

- Cliquer sur Terminer pour quitter (et faites un don si vous le pouvez pour soutenir le responsable du projet 😊) :

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 :

- Cliquer sur Variables d'environnement… :

- Modifier la variable système Path :

- Cliquer sur Nouveau et ajoutez
%ProgramFiles%\OpenSSL-Win64\bin
:

- Ouvrir une nouvelle commande Windows et vérifier que l'on peut exécuter cette commande
openssl
:

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.

- Comme nous voulons installer OpenVPN en tant que serveur, nous allons choisir Personnaliser :

- Nous activons le Service OpenVPN pour qu'il s'exécute au démarrage :

- Et nous installons EasyRsa pour créer des certificats pour le serveur et les clients :

- Enfin, cliquer sur Fermer :

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 :

- 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

- 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
».

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 :

- Cliquer avec le bouton droit sur OpenVPNService puis sur Redémarrer :

- 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
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\pkiclient01.crt
: C:\Program Files\OpenVPN\easy-rsa\pki\issuedclient01.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 :

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

- Une fenêtre pop-up confirmera que l'on est bien connecté :

- Pour atteindre le serveur, on utilisera l'adresse IP
10.50.8.1
:
