Configurer OpenVPN, le NAT et le routage sur Windows Server 2025
- Mise à jour le 01 août 2026
Ce tutoriel explique comment installer et configurer un serveur OpenVPN sous Microsoft Windows Server 2025. Il couvre l’ensemble de la mise en place, notamment la configuration du serveur et du client, la génération des certificats, les règles du Pare-feu Windows ainsi que le NAT et le routage LAN avec RRAS. Les clients VPN distants pourront ainsi accéder aux hôtes du réseau privé situé derrière le serveur OpenVPN.
- OpenVPN est une solution VPN performante qui offre plusieurs avantages :
- Gratuite et open source
- Compatible avec la plupart des systèmes d’exploitation
- Fiable et soutenue par une communauté active
- Relativement simple à déployer
- Hautement configurable
Schéma réseau
Nous allons commencer par déployer une configuration OpenVPN simple dans laquelle un client Windows établit une connexion VPN vers un hôte Windows Server 2025.
Serveur OpenVPN
- Caractéristiques du serveur OpenVPN :
- Système d’exploitation : Windows Server 2025
- Rôle : serveur OpenVPN
- Adresse IP LAN :
192.168.0.200 - Adresse IP VPN :
10.50.8.1 - Réseau VPN :
10.50.8.0/24 - Protocole et port : UDP
1194
Prérequis
OpenSSL
OpenSSL est nécessaire pour générer les certificats et les clés privées utilisés afin d’authentifier le serveur OpenVPN et ses clients. Sous Windows Server 2025, ce tutoriel utilise les paquets Win64 OpenSSL fournis par Shining Light Productions.
Télécharger OpenSSL
Téléchargez la dernière version 64 bits de Win64 OpenSSL Light.
Installer OpenSSL
- Lancez le programme d’installation d’OpenSSL. Si le composant requis Microsoft Visual C++ 2026 Redistributable (x64) est absent, cliquez sur Yes pour le télécharger :
- Exécutez le programme d’installation téléchargé, acceptez les termes du contrat de licence, puis cliquez sur Install. Une fois l’installation terminée, cliquez sur Close :
- Sélectionnez I accept the agreement, puis cliquez sur Next :
- Conservez le dossier d’installation par défaut ou sélectionnez une autre destination, puis cliquez sur Next :
- Conservez le dossier du menu Démarrer par défaut ou choisissez-en un autre, puis cliquez sur Next :
- Sélectionnez The OpenSSL binaries (bin) directory, puis cliquez sur Next :
- Vérifiez les paramètres d’installation, puis cliquez sur Install :
- Une fois l’installation terminée, cliquez sur Finish pour fermer l’assistant d’installation (et faites un don si vous le pouvez afin de soutenir le responsable du projet 😊) :
Ajouter OpenSSL à la variable Path du système
Ajoutez le répertoire bin d’OpenSSL à la variable d’environnement système Path de Windows afin de pouvoir exécuter la commande openssl depuis n’importe quelle session d’invite de commandes ou PowerShell.
- Exécutez
SystemPropertiesAdvancedpour ouvrir les paramètres système avancés :
SystemPropertiesAdvanced pour ouvrir la fenêtre des propriétés système avancées.- Dans l’onglet Advanced, cliquez sur Environment Variables… :
- Sous System variables, sélectionnez Path, puis cliquez sur Edit… :
- Cliquez sur New, ajoutez
%ProgramFiles%\OpenSSL-Win64\bin, puis cliquez sur OK pour enregistrer la modification :
%ProgramFiles%\OpenSSL-Win64\bin à la variable système Path, puis cliquez sur OK.- Ouvrez une nouvelle fenêtre PowerShell et exécutez la commande suivante afin de vérifier qu’OpenSSL est accessible depuis la variable système Path :
openssl version dans une nouvelle fenêtre PowerShell afin de vérifier qu’OpenSSL est installé et accessible depuis la variable système Path.Pare-feu Windows
Le Pare-feu Windows doit autoriser les connexions OpenVPN entrantes sur le port UDP 1194. Une règle ICMPv4 supplémentaire peut également être créée afin de permettre aux clients VPN de tester la connectivité avec le serveur à l’aide de la commande ping.
- Depuis une invite de commandes exécutée avec des privilèges d’administrateur, créez la règle OpenVPN entrante :
C:\Windows\system32> netsh advfirewall firewall add rule name="OpenVPN UDP 1194" dir=in action=allow protocol=UDP localport=1194
- Facultatif : autorisez les requêtes d’écho ICMP provenant du réseau OpenVPN :
C:\Windows\system32> netsh advfirewall firewall add rule name="OpenVPN ICMPv4 Echo" dir=in action=allow protocol=ICMPv4:8,any remoteip=10.50.8.0/24
- Vous pouvez également créer les mêmes règles depuis une session PowerShell exécutée avec des privilèges d’administrateur :
PS C:\> New-NetFirewallRule -DisplayName "OpenVPN UDP 1194" -Direction Inbound -Action Allow -Protocol UDP -LocalPort 1194
PS C:\> New-NetFirewallRule -DisplayName "OpenVPN ICMPv4 Echo" -Direction Inbound -Action Allow -Protocol ICMPv4 -IcmpType 8 -RemoteAddress 10.50.8.0/24
Installation d’OpenVPN
Téléchargez la dernière version 64 bits du programme d’installation d’OpenVPN Community Edition pour Windows depuis la page officielle de téléchargement d’OpenVPN.
- Cette installation étant destinée à servir de serveur OpenVPN, sélectionnez Customize afin de choisir les composants requis :
- Vérifiez que OpenVPN Service est sélectionné. Le composant OpenVPN Pre-Logon Access Provider est facultatif et n’est pas nécessaire pour une installation standard d’un serveur OpenVPN :
- Sélectionnez EasyRSA 3 Certificate Management Scripts afin de générer les certificats et les clés privées requis par le serveur et les clients OpenVPN :
- Une fois l’installation terminée, cliquez sur Close :
Certificats et PKI
Configurer l’autorité de certification et générer les certificats
Dans cette section, nous utiliserons Easy-RSA pour créer une infrastructure à clés publiques (PKI) comprenant l’autorité de certification, le certificat du serveur, le certificat du client et leurs clés privées associées.
- Ouvrez Windows Terminal, puis sélectionnez le profil Command Prompt :
- Exécutez les commandes suivantes pour ouvrir le shell Easy-RSA :
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: #
- Initialisez une nouvelle infrastructure à clés publiques (PKI) :
EasyRSA-Shell: # ./easyrsa init-pki
./easyrsa init-pki. Si un répertoire PKI existant est détecté, saisissez yes pour le remplacer et en initialiser un nouveau.- Créez l’autorité de certification (CA). Saisissez une phrase secrète robuste pour protéger la clé privée de la CA, puis indiquez un nom commun (Common Name) :
EasyRSA-Shell: # ./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érez et signez le certificat et la clé privée du serveur OpenVPN :
EasyRSA-Shell: # ./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érez les paramètres Diffie-Hellman utilisés par le serveur OpenVPN :
EasyRSA-Shell: # ./easyrsa gen-dh
- Générez et signez un certificat client et une clé privée nommés
client01:
EasyRSA-Shell: # ./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 et les clés du serveur
Copiez les fichiers suivants du serveur OpenVPN dans C:\Program Files\OpenVPN\config-auto :
ca.crtdepuisC:\Program Files\OpenVPN\easy-rsa\pkidh.pemdepuisC:\Program Files\OpenVPN\easy-rsa\pkiserver.crtdepuisC:\Program Files\OpenVPN\easy-rsa\pki\issuedserver.keydepuisC:\Program Files\OpenVPN\easy-rsa\pki\private
config-auto du serveur OpenVPN.Fichier de configuration du serveur OpenVPN
Créez ou modifiez le fichier C:\Program Files\OpenVPN\config-auto\server.ovpn à l’aide d’un éditeur de texte exécuté avec des privilèges d’administrateur :
# Écouter les connexions des clients OpenVPN sur le port UDP 1194
port 1194
proto udp
dev tun
# Certificat du serveur et fichiers cryptographiques
ca ca.crt
cert server.crt
key server.key
dh dh.pem
# Plage d’adresses VPN attribuée aux clients connectés
server 10.50.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Détecter les clients inactifs ou déconnectés
keepalive 10 120
# Conserver la clé et l’interface du tunnel lors des redémarrages
persist-key
persist-tun
# Écrire les informations sur l’état des connexions dans ce fichier
status openvpn-status.log
# Niveau de verbosité des journaux
verb 3
Redémarrer le service OpenVPN
Redémarrez OpenVPNService afin de charger la nouvelle configuration du serveur.
- Exécutez
services.mscafin d’ouvrir la console de gestion des services Windows :
services.msc afin d’ouvrir la console de gestion des services Windows.- Faites un clic droit sur OpenVPNService, puis sélectionnez Restart :
- Vous pouvez également redémarrer le service depuis une invite de commandes exécutée avec des privilèges d’administrateur :
C:\Windows\system32> net stop OpenVPNService
C:\Windows\system32> net start OpenVPNService
- Ou le redémarrer depuis une session PowerShell exécutée avec des privilèges d’administrateur :
PS C:\> Restart-Service -Name OpenVPNService -PassThru
Configuration du client Windows
Installer OpenVPN sur le client Windows
Téléchargez depuis la page officielle de téléchargement d’OpenVPN le même programme d’installation 64 bits d’OpenVPN Community Edition que celui utilisé sur le serveur, puis installez-le avec les options par défaut.
Copier les certificats et la clé privée du client
Copiez les fichiers suivants depuis le serveur OpenVPN :
ca.crtdepuisC:\Program Files\OpenVPN\easy-rsa\pkiclient01.crtdepuisC:\Program Files\OpenVPN\easy-rsa\pki\issuedclient01.keydepuisC:\Program Files\OpenVPN\easy-rsa\pki\private
Placez les fichiers dans l’un des répertoires de configuration OpenVPN suivants sur le client Windows :
C:\Users\utilisateur\OpenVPN\config\— recommandé pour une configuration propre à chaque utilisateurC:\Program Files\OpenVPN\config\— accessible à l’ensemble du système et nécessite des privilèges d’administrateur
- Le répertoire de configuration du client doit maintenant contenir les fichiers suivants :
client.ovpn dans C:\Program Files\OpenVPN\config.- Créez le fichier de configuration
client.ovpndansC:\Users\utilisateur\OpenVPN\config\ou dansC:\Program Files\OpenVPN\config\:
# Configurer ce fichier comme profil client OpenVPN
client
# Utiliser un tunnel IP routé
dev tun
# Se connecter au serveur via UDP
proto udp
# Remplacer ce nom d’hôte par l’adresse IP publique ou le nom DNS
# de votre serveur OpenVPN
remote WAN.STD.ROCKS 1194
# Réessayer indéfiniment la résolution DNS si le serveur est indisponible
resolv-retry infinite
# Ne pas lier le client à un port local fixe
nobind
# Conserver la clé privée et l’interface du tunnel lors des reconnexions
persist-key
persist-tun
# Certificat et clé privée du client
ca ca.crt
cert client01.crt
key client01.key
# Niveau de verbosité des journaux
verb 3
- Exécutez OpenVPN GUI avec des privilèges d’administrateur, puis connectez-vous au profil VPN :
- Une notification OpenVPN confirme que la connexion a été établie :
10.50.8.6.- Utilisez l’adresse VPN
10.50.8.1afin de tester la connectivité avec le serveur OpenVPN :
10.50.8.1 et en accédant à un partage du serveur via \\10.50.8.1.Activation du routage et du NAT
À ce stade, le client Windows distant peut se connecter au serveur OpenVPN et joindre son adresse VPN. Pour accéder aux autres hôtes du réseau LAN distant 192.168.0.0/24, nous devons activer le routage LAN et la traduction d’adresses réseau (NAT) sous Windows Server 2025.
192.168.0.0/24 via Windows Server 2025.Serveur OpenVPN
Mettre à jour la configuration du serveur
- Modifiez
C:\Program Files\OpenVPN\config-auto\server.ovpnavec des privilèges d’administrateur, puis ajoutez une route distribuée vers le LAN distant :
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
# Annoncer le LAN distant aux clients VPN connectés
push "route 192.168.0.0 255.255.255.0"
# Facultatif : configurer un serveur DNS interne pour les clients VPN
push "dhcp-option DNS 192.168.0.200"
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
verb 3
- Redémarrez OpenVPNService depuis une session PowerShell exécutée avec des privilèges d’administrateur afin d’appliquer la nouvelle configuration :
PS C:\> Restart-Service -Name OpenVPNService -PassThru
Installer le service de rôle Routage
- Ouvrez une session PowerShell avec des privilèges d’administrateur et exécutez la commande suivante afin d’installer le service de rôle Windows Routing ainsi que ses outils de gestion :
PS C:> Install-WindowsFeature -Name Routing -IncludeManagementTools
Configurer le routage et l’accès distant
- Exécutez
rrasmgmt.mscafin d’ouvrir la console de gestion Routing and Remote Access :
rrasmgmt.msc afin d’ouvrir la console de gestion Routing and Remote Access.- Faites un clic droit sur le nom du serveur, puis sélectionnez Configure and Enable Routing and Remote Access :
- Cliquez sur Next afin de démarrer l’assistant Routing and Remote Access Server Setup Wizard :
- Sélectionnez Custom configuration, puis cliquez sur Next :
- Sélectionnez NAT et LAN routing, puis cliquez sur Next :
- Vérifiez les services sélectionnés, puis cliquez sur Finish :
- Cliquez sur Start service afin de démarrer le service Routing and Remote Access. À ce stade, le client VPN devrait pouvoir joindre l’hôte Windows Server 2025 via son adresse LAN
192.168.0.200ou son adresse VPN10.50.8.1, selon la configuration du routage et du pare-feu :
- Afin de permettre aux clients VPN d’accéder aux hôtes du LAN distant, ajoutez l’interface réseau LAN à la configuration NAT de RRAS :
- Sélectionnez l’interface réseau connectée au LAN distant, ici Ethernet1 avec l’adresse
192.168.0.200, puis cliquez sur OK :
192.168.0.0/24, puis cliquez sur OK.- Dans les propriétés de l’interface, sélectionnez Public interface connected to the Internet, activez NAT on this interface, puis cliquez sur OK :
Client OpenVPN
- Ouvrez une invite de commandes et exécutez
route printafin de vérifier qu’OpenVPN a ajouté la route vers le LAN distant192.168.0.0/24:
route print et vérifiez qu’une route vers 192.168.0.0/24 est présente via le tunnel OpenVPN.- Testez la connectivité avec les hôtes du LAN distant :
192.168.0.200 et au routeur à l’adresse 192.168.0.254 via le tunnel VPN.