Comment installer et configurer un serveur OpenVPN sur Windows

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.

Schéma réseau

Schema Réseau OpenVPN Server Windows

Configuration Serveur

  • Serveur OpenVPN :
    • OS : Windows Server 2016
    • Role : OpenVPN Server
    • IP : 192.168.0.200

Installation d'OpenVPN

Aller sur le site officiel https://openvpn.net/ d'OpenVPN et télécharger la dernière version de l'installeur msi.

Page de téléchargement OpenVPN
  • Comme nous voulons installer OpenVPN en mode serveur nous allons choisir Customize :
Installation d'OpenVPN choose setup type
  • On active le Service OpenVPN pour que le service soit actif au démarrage de Windows :
OpenVPN Windows Installer
  • On installe également EasyRsa afin de pouvoir créer les certificats serveur et clients :
OpenVPN Windows Installer
  • Une fois terminé on clique sur Close :
OpenVPN Windows Installer

Création de l'autorité de certification (CA) et génération des certificats et clés pour le serveur et clients

Ici on mettra en place une pki pour la création de nos certificats serveur et clients.

  • Ouvrir l'invite de commande en tant qu'administrateur :
Windows command run as administrator
  • Et taper les commandes suivantes pour entrer dans le shell EasyRSA :
C:\Windows\system32>cd C:\Program Files\OpenVPN\easy-rsa
C:\Program Files\OpenVPN\easy-rsa>EasyRSA-Start.bat
  • Supprimer la configuration existante (normalement inutile) :
# ./easyrsa clean-all
  • Initialiser notre pki, taper yes pour confirmer :
# ./easyrsa init-pki
OpenVPN on Windows Easy RSA Shell init-pki
  • Créer son autorité de certification :
# ./easyrsa build-ca nopass
  • Créer la paire de clé pour le serveur :
# ./easyrsa build-server-full server nopass
  • Générer les paramètres Diffie Hellman :
# ./easyrsa gen-dh
  • Créer les certificats client :
# ./easyrsa build-client-full client01 nopass

Les Certificats

  • Déplacer les fichiers suivants (présents dans les répertoires : 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 C:\Program Files\OpenVPN\config-auto et C:\Program Files\OpenVPN\config.
OpenVPN on Windows config-auto folder

Ajouter une règle dans le pare-feu Windows

On a besoin d'ouvrir le port 1194 en udp pour autoriser les flux OpenVPN. On peut au choix utiliser la Console de Management de pare-feu Windows ou taper cette commande dans un prompt 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

C:\Program Files\OpenVPN\config-auto\server.ovpn

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

Puis, redémarrer le service OpenVPN :

  • Depuis, la console de gestion des services :
Windows Run, services.msc
  • Clic droit sur le service OpenVPNService et Redémarrer :
Windows services management console, restart openvpnservice.
  • Ou, en tant qu'administrateur depuis une console :
C:\Windows\system32>net stop openvpnservice
C:\Windows\system32>net start openvpnservice

Configuration Client

  • Client OpenVPN :
    • OS : Windows 10
    • Role : OpenVPN Client

Installation d'OpenVPN

On téléchargera le même package que pour le serveur, mais ici l'installation par défaut sera suffisante.

Copie des certificats depuis le Serveur

  • Depuis le Serveur récupérer les fichiers suivants (depuis les dossiers 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
  • Et les coller dans C:\Program Files\OpenVPN\config.
Windows 10, OpenVPN certificates.
  • C:\Program Files\OpenVPN\config\client.ovpn

Éditer les fichier client.ovpn avec les droits administrateur :

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

Établir la connexion VPN

  • Ouvrir en tant qu'administrateur (doit normalement marcher en tant qu'utilisateur normal).
Windows 10, OpenVPN certificates.
  • Démarrer la connexion
Windows 10, OpenVPN certificates.
  • Un pop up viendra confirmer la connexion
Windows 10, OpenVPN certificates.

Accès au Serveur

Une fois le VPN établit, nous pouvons joindre le Serveur depuis l'adresse 10.50.8.1.

Windows 10, OpenVPN certificates.

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) pour que cela fonctionne de nouveau.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :