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.
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.
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.
(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)
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' :
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 :
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 :
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' :
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'.
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.
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.
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.