Comment installer et configurer un serveur OpenVPN sur Windows
- Mise à jour le 01 oct. 2022
Nous allons voir comment mettre en place un serveur OpenVPN sous Microsoft Windows Serveur.
OpenVPN est un VPN performant, qui a plusieurs avantages : il est gratuit, compatible avec la plupart des systèmes d'exploitation, facile à mettre en œuvre et hautement paramétrable.
Pour créer les certificats de connexion, nous devrons installer OpenSSL. J'utilise personnelement les packages proposés sur slproweb.com. Télécharger la dernière version d'OpenSSL Light. Nous allons ajouter OpenSSL dans les variables d'environnement. Aller sur le site officiel https://openvpn.net/ d'OpenVPN et télécharger la dernière version de l'installeur msi. Ici on mettra en place une PKI pour la création de nos certificats serveur et clients. On peut au choix utiliser la Console de Management de pare-feu Windows ou taper ces commandes depuis une console PowerShell et en Administrateur. En tant qu'administrateur, créer le fichier Puis, redémarrer le service OpenVPN au choix : On téléchargera le même package que pour le serveur, mais ici l'installation par défaut sera suffisante. Une fois le VPN établit, nous pouvons joindre le Serveur depuis l'adresse ⚠️ Troubleshooting : Suite à une mise à jour Windows, je ne pouvais plus avoir accès aux ressources du serveur (partage de fichiers et ping et alors même que le VPN était établi), j'ai du réparer l'installation d'OpenVPN (sur le serveur en relançant le programme d'installation) pour que cela fonctionne de nouveau.Schéma réseau
Configuration Serveur
Prérequis
Télécharger OpenSSL
Installer OpenSSL
Ajout OpenSSL dans les variables d'environement
%ProgramFiles%\OpenSSL-Win64\bin
:
openssl
:
Installation d'OpenVPN
Création de l'autorité de certification (CA) et génération des certificats et clés pour le serveur et clients
C:\Users\Administrator>cd C:\Program Files\OpenVPN\easy-rsa
C:\Program Files\OpenVPN\easy-rsa>EasyRSA-Start.bat
# ./easyrsa clean-all
yes
pour confirmer :# ./easyrsa init-pki
# ./easyrsa build-ca nopass
[…]
Enter PEM pass phrase:PEMpa$$td
Verifying - Enter PEM pass phrase:PEMpa$$td
[…]
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ovpn
# ./easyrsa build-server-full server nopass
[…]
Enter pass phrase for C:/Program Files/OpenVPN/easy-rsa/pki/private/ca.key:PEMpa$$td
# ./easyrsa gen-dh
Créer des certificats clients
C:\Users\Administrator>cd C:\Program Files\OpenVPN\easy-rsa
C:\Program Files\OpenVPN\easy-rsa>EasyRSA-Start.bat
# ./easyrsa build-client-full client01 nopass
[…]
Enter pass phrase for C:/Program Files/OpenVPN/easy-rsa/pki/private/ca.key:PEMpa$$td
Les Certificats
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
C:\Program Files\OpenVPN\config-auto
et C:\Program Files\OpenVPN\config
.
Paramétrer le pare-feu Windows
Note : ici la règle autorise tous les services pour le réseau
10.50.8.0/24
afin que les clients puissent dialoguer avec les services présents sur le serveur (ping, partage de fichiers etc…).10.50.8.0/24
. On pourra utiliser des règles plus restrictive en autorisant que les services nécessaire.
PS C:\ > New-NetFirewallRule -DisplayName "OpenVPN" -Direction Inbound -Protocol UDP -LocalPort 1194 -Action Allow
10.50.8.0/24
:PS C:\ > New-NetFirewallRule -DisplayName "OpenVPN_Network" -Direction Inbound -RemoteAddress 10.50.8.0/24 -Action Allow
Le fichier de configuration server.ovpn
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 #Deactivated because it is now considered a vulnerability.
persist-key
persist-tun
status openvpn-status.log
verb 3
Redémarrage du service OpenVPN
C:\Windows\system32>net stop openvpnservice
C:\Windows\system32>net start openvpnservice
C:\ PS> Restart-Service OpenVPNService
Configuration Client
Installation d'OpenVPN
Copie des certificats depuis le Serveur
C:\Program Files\OpenVPN\easy-rsa\pki
, C:\Program Files\OpenVPN\easy-rsa\pki\issued
and C:\Program Files\OpenVPN\easy-rsa\pki\private
) :
ca.crt
client01.crt
client01.key
C:\Program Files\OpenVPN\config
.
C:\Program Files\OpenVPN\config\client.ovpn
avec les droits administrateur et préciser l'adresse IP du serveur :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 #Deactivated because it is now considered a vulnerability.
verb 3
Établir la connexion VPN
Accès au Serveur
10.50.8.1
.