Configurer un VPN L2TP/IPsec de site à site sur Windows Serveur 2022
Introduction
Nous conviendrons tous que le fait que mettre des serveurs Windows en frontal sur internet est une MAUVAISE idée. L'idée de ce tuto est d'abord de se familiariser avec la configuration du VPN L2TP/IPsec de Windows Serveur, qui est quelque peu déroutante au début. Ensuite, une fois la logique de configuration comprise, et bien que les pare-feux modernes (UTM) permettent de créer tous les VPN du monde directement, on pourra néanmoins parfaitement utiliser Windows Serveur pour créer un tunnel VPN, mais en cachant les serveurs VPN derrière de vrais pare-feux. On activera alors alors le NAT-T de chacun des serveurs windows VPN en créant une clef de registre dans regedit puis en redémarrant chaque serveur après.
reg add HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 2 /f
On mettra en place les DNAT appropriés (UDP 500 et UDP 4500) sur le pare-feu cachant le serveur AUQUEL on essaie de se connecter (La connexion est initiée depuis l'un des 2 serveurs), et on reconfigurera les interfaces VPN des 2 serveurs Windows pour qu'ils pointent vers les IP publiques des pare-feux distants. Attention au choix des pare-feux concernant ce type de mécanisme avec L2TP. OPNsense par exemple, n'est pas compatible avec ce type de montage, mais PFsense si (c'est très étrange.. ou alors c'est moi qui suis nul !).
Mais pour l'heure, apprenons à configurer un VPN L2TP/IPsec simplement.
Schéma du laboratoire
Soit le schéma ci-dessus :
- 2 zones géographiquement distantes (Tombouctou et Bayonne).
- 2 serveurs Windows 2022 qui vont faire office de serveurs VPN (VPN1 et VPN2). Tous deux respectivement connectés à internet ainsi qu'à leur propre LAN. Le VPN1 est à Bayonne, le VPN2 est à Tombouctou.
- Nous réalisons le labo sur Hyper-V et créons un commutateur virtuel interne 'COM_NET' pour simuler internet entre les 2 VPN. Les commutateurs COM_LAN-01 et COM_LAN-02 sont également des commutateurs internes.
- Nous considérons les configurations réseau IP déjà faîtes sur chaque appareil, conformément à l'adressage IP présenté sur le schéma. Le CLIENT a pour passerelle VPN2 et l'AD VPN1. Pour joindre le domaine, on oubliera pas d'entrer l'IP de l'AD en DNS du CLIENT.
Le but : permettre au poste client CLIENT, situé à Tombouctou, de rejoindre le domaine 'BARON.NET' contrôlé par le contrôleur de domaine 'AD' à Bayonne.
Prérequis
La configuration se fait en parallèle ici, pour que ce soit plus clair. Aucun des serveurs ne se trouve dans un domaine pour ce tuto. Nous utiliserons ici le secret partagé puisqu'il s'agît de se familiariser avec la configuration du VPN L2TP/IPsec sur Windows, et non le certificat SSL. L'utilisation d'un certificat est néanmoins indispensable en production.
1) Installer le rôle Accès Distant sur les 2 serveurs
(VPN2 est à gauche, VPN1 est à droite)
Cliquez sur '2 Ajouter des rôles et des fonctionnalités'. L'installation est identique sur les 2 serveurs.
Cochez 'Accès à distance' :
Laissez par défaut :
Cochez 'DirectAccess et VPN...'
Laissez par défaut :
Laissez par défaut :
Fermez une fois l'installation terminée :
Cliquez sur le drapeau des notifications (un avertissement jaune est apparu) :
Cliquez sur 'Ouvrir l'Assistant Mise en route' :
(Il faut parfois attendre une minute avant que l'assistant ne se lance)
2) Configurer le VPN de site à site
Une fois l'Assistant lancé, cliquez sur 'Déployer VPN uniquement' :
Cliquez-droit sur la ligne 'VPNx (local)' et choisissez' Configurer et activer le routage et l'accès à distance' :
Cliquez sur 'Configuration personnalisée' :
Cochez 'Accès VPN' et 'Connexion à la demande' :
Pas de panique, c'est normal, cliquez OK
Cliquez sur 'Démarrer le service' et attendez patiemment.
Cliquez-droit à nouveau sur 'VPNx (local)' et choisissez 'Propriétés' :
Configuration de la sécurité IPsec
Allez dans l'onglet Sécurité, cochez 'Autoriser la stratégie IPsec personnalisée...' et Entrer la même clef partagée sur les 2 VPN :
Cliquez sur 'Appliquer', puis sur OK :
Configuration du pool d'adresses IPv4
Cliquez à présent sur l'onglet IPv4, nous devons spécifier un pool d'IP statiques pour nos interfaces virtuelles de VPN :
Nous avons besoin de 2 IP dans chacun des réseaux LAN distants.
Si vous disposez d'un DHCP sur chaque LAN, alors il n'est pas indispensable d'utiliser un pool statique.. Même si c'est toujours préférable.
VPN2 doit emprunter 2 IP sur le LAN qui lui est associé (192.168.20.0/24) et VPN1 doit faire de même sur son LAN à lui :
Cliquez OK 2 fois.
Cliquez-droit sur 'VPNx (local)', Toutes les tâches, Redémarrer, puis patientez :
Création de l'interface de connexion à la demande
Cliquez-droit sur 'Interfaces réseau', Nouvelle interface de connexion à la demande... :
Donnez le nom du VPN distant à l'interface (c'est une pratique usuelle).
Donc du côté du VPN2 (à gauche) on appelle l'interface VPN1, et du côté du VPN1 (à droite) on appelle l'interface VPN2 :
Laissez par défaut :
Choisissez L2TP :
Entrez l'IP publique du VPN distant.
Sur VPN2 (à gauche), entrez l'IP de VPN1. Sur VPN1 (à droite), entre l'IP de VPN2
Cochez la création d'un utilisateur :
Cliquez sur 'Ajouter' :
Configuration des réseaux de destination
Nous devons à présent indiquer à chaque VPN le ou les réseau(x) privés de la zone distante pour lesquels nous voulons que le VPN soit en mesure de router les paquets. Ici, ce n'est pas difficile puisque chaque VPN n'est connecté qu'à un seul réseau LAN. VPN2 est connecté à COM_LAN-02 et VPN1 à COM_LAN-01. Autrement dit, on indique au VPN de Tombouctou le réseau local de Bayonne, et au VPN de Bayonne le réseau local de Tombouctou. Attention, il s'agît d'adresses IP RESEAU !
Si besoin d'ajouter plusieurs réseaux, cliquer de nouveau sur 'Ajouter'.
Création des utilisateurs locaux
Cette étape consiste à créer un utilisateur local qui permettra d'établir la connexion. Sur VPN2, un utilisateur local VPN2 sera créé. Lorsque VPN1 voudra initier la connexion, il devra indiquer les identifiants de cet utilisateur VPN2. Sur VPN1, un utilisateur local VPN1 sera créé. Lorsque VPN2 voudra initier la connexion il devra réciproquement indiquer les identifiants de cet utilisateur VPN1.
Configuration des identifiants distants
Nous devons à présent indiquer à chaque VPN les identifiants de l'utilisateur créé localement sur le VPN distant. Nous indiquons à VPN1 les identifiants de l 'utilisateur VPN2 et réciproquement :
Cliquez-droit sur l'interface nouvellement créée, Propriétés :
Dans l'onglet 'Sécurité', Cliquez sur 'Paramètres avancés' et remplissez la clef partagée créée plus haut :
Cliquez OK 2 fois.
3) Démarrer la connexion
On va initier la connexion VPN depuis Bayonne (VPN1).
Clic-droit sur l'interface VPN2 fraîchement créée, 'Se connecter'.
La connexion s'établit. Côté gauche, cliquez-droit dans le vide, Actualisez, pour voir le statut s'actualiser.
Ne reste plus qu'à intégrer le client au domaine en précisant comme DNS l'IP du serveur. Le Routage va se faire tout seul.
↑ Haut de page