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 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. En tant qu'administrateur, éditer le fichier C:\Program Files\OpenVPN\config-auto\server.ovpn : Puis, redémarrer le service OpenVPN : On téléchargera le même package que pour le serveur, mais ici l'installation par défaut sera suffisante. Éditer les fichier client.ovpn avec les droits administrateur : Une fois le VPN établit, nous pouvons joindre le Serveur depuis l'adresse 10.50.8.1. ⚠️ 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
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:\Windows\system32>cd C:\Program Files\OpenVPN\easy-rsa
C:\Program Files\OpenVPN\easy-rsa>EasyRSA-Start.bat
# ./easyrsa clean-all
# ./easyrsa init-pki
# ./easyrsa build-ca nopass
[…]
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ovpn
# ./easyrsa build-server-full server nopass
# ./easyrsa gen-dh
# ./easyrsa build-client-full client01 nopass
Les Certificats
Ajouter une règle dans le pare-feu Windows
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
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
C:\Windows\system32>net stop openvpnservice
C:\Windows\system32>net start openvpnservice
Configuration Client
Installation d'OpenVPN
Copie des certificats depuis le 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
verb 3
Établir la connexion VPN
Accès au Serveur
Contact :