Configurer un VPN L2TP/IPsec de site à site sur Windows Serveur 2022

Capture d'écran

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 :

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)

Capture d'écran

Cliquez sur '2 Ajouter des rôles et des fonctionnalités'. L'installation est identique sur les 2 serveurs.

Capture d'écran

Capture d'écran

Capture d'écran

Cochez 'Accès à distance' :

Capture d'écran

Laissez par défaut :

Capture d'écran

Capture d'écran

Cochez 'DirectAccess et VPN...'

Capture d'écran

Laissez par défaut :

Capture d'écran

Capture d'écran

Capture d'écran

Laissez par défaut :

Capture d'écran

Capture d'écran

Capture d'écran

Fermez une fois l'installation terminée :

Capture d'écran

Cliquez sur le drapeau des notifications (un avertissement jaune est apparu) :

Capture d'écran

Cliquez sur 'Ouvrir l'Assistant Mise en route' :
(Il faut parfois attendre une minute avant que l'assistant ne se lance)

Capture d'écran


2) Configurer le VPN de site à site

Une fois l'Assistant lancé, cliquez sur 'Déployer VPN uniquement' :

Capture d'écran

Cliquez-droit sur la ligne 'VPNx (local)' et choisissez' Configurer et activer le routage et l'accès à distance' :

Capture d'écran

Capture d'écran

Cliquez sur 'Configuration personnalisée' :

Capture d'écran

Cochez 'Accès VPN' et 'Connexion à la demande' :

Capture d'écran

Capture d'écran

Pas de panique, c'est normal, cliquez OK

Capture d'écran

Cliquez sur 'Démarrer le service' et attendez patiemment.

Capture d'écran

Cliquez-droit à nouveau sur 'VPNx (local)' et choisissez 'Propriétés' :

Capture d'écran

Capture d'écran

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 :

Capture d'écran

Cliquez sur 'Appliquer', puis sur OK :

Capture d'écran

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 :

Capture d'écran

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 :

Capture d'écran

Cliquez OK 2 fois.

Cliquez-droit sur 'VPNx (local)', Toutes les tâches, Redémarrer, puis patientez :

Capture d'écran

Création de l'interface de connexion à la demande

Cliquez-droit sur 'Interfaces réseau', Nouvelle interface de connexion à la demande... :

Capture d'écran

Capture d'écran

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 :

Capture d'écran

Laissez par défaut :

Capture d'écran

Choisissez L2TP :

Capture d'écran

Entrez l'IP publique du VPN distant.
Sur VPN2 (à gauche), entrez l'IP de VPN1. Sur VPN1 (à droite), entre l'IP de VPN2

Capture d'écran

Cochez la création d'un utilisateur :

Capture d'écran

Cliquez sur 'Ajouter' :

Capture d'écran

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'.

Capture d'écran

Capture d'écran

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.

Capture d'écran

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 :

Capture d'écran

Capture d'écran

Cliquez-droit sur l'interface nouvellement créée, Propriétés :

Capture d'écran

Dans l'onglet 'Sécurité', Cliquez sur 'Paramètres avancés' et remplissez la clef partagée créée plus haut :

Capture d'écran

Capture d'écran

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'.

Capture d'écran

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.


⬆️ Retour en haut de la page