Windows/Mikrotik : Configurer un client L2TP/Ipsec (derrière 1 ou 2 NAT)

Ce petit article est principalement dédié à un problème que j’ai rencontré lors de la configuration de client VPN L2TP/Ipsec sur Windows : la connexion n’aboutissait jamais.

Après avoir configuré un serveur VPN L2TP/Ipsec sur Mikrotik, la tâche la plus facile (normalement), c’est de configurer le client VPN sous Windows :

Configurer le client VPN Windows :

Ici je prends exemple sur mon PC sous Windows 7 SP1.
On ouvre le « Centre réseau et partage » :

Dans le centre réseau et partage, on clique sur « Configurer une nouvelle connexion ou un nouveau réseau » :

On sélectionne « Connexion à votre espace de travail » et « suivant » :

On clique sur « Non, créer une nouvelle connexion » puis « suivant » :

On enchaine par « Utiliser ma connexion Internet (VPN) » :

Dans « Adresse Internet », on indique l’adresse du serveur VPN (son IP ou son nom DNS). Si vous avez suivi mon précédent mémo sur comment créer le serveur VPN Mikrotik, vous avez vu que j’utilise le nom DNS fourni par le Cloud de Mikrotik)
Dans « Nom de la destination », vous mettez ce que vous voulez (c’est seulement important si vous paramétrez plusieurs clients VPN sur le même PC).
On coche « Ne pas me connecter maintenant… » pour pouvoir entrer dans la configuration avancée avant de se connecter.
Et on fait « Suivant » :

On saisit le « Nom d’utilisateur » (l’identifiant!) et le mot de passe, on mémorise (ou pas) et on clique sur « Créer » :

Puis on clique sur « Fermer » :

On retourne dans le « Centre réseau et partage » et on clique sur « Modifier les paramètres de la carte » :

On fait un clic droit sur le VPN que l’on vient de créer puis « Propriétés » :

On clique sur le troisième onglet « Sécurité » et on sélectionne « Protocole L2TP … » dans le type de réseau VPN.

On clique ensuite sur « Paramètres avancés » juste en dessous, on coche « Utiliser une clé prépartagée pour l’authentification » et on saisit la clé (c’est la clé commune « IPsec secret ») :

C’est fait, nous sommes connectés en VPN !

Trucs et astuces :

MAIS (car il y a toujours un « mais »), j’ai constaté que sur PC Windows, la connexion ne se faisait pas tout le temps, notamment en fonction de l’endroit où je me connectais. Je me suis arraché les cheveux en regardant la configuration du Mikrotik sans rien trouver d’anormal. Dans le même temps, tout cela fonctionnait bien avec mon smartphone Android ainsi que ma tablette Android sur les mêmes connexions Internet.
Je test avec plusieurs VM (win7, win2k8, …), une machine physique : sans succès.

En creusant un peu (beaucoup, énormément, à la folie…), je tombes sur cet article sur le site de Microsoft :

https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/configure-l2tp-ipsec-server-behind-nat-t-device

Et là…. tout fonctionne, youpi !

Il suffit donc de créer une clé de registre sur les OS Windows pour lesquelles la connexion VPN L2TP/Ipsec n’aboutit pas.

Il faut donc aller dans [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent] et créer un DWORD 32bit :
Nom : AssumeUDPEncapsulationContextOnSendRule
Valeur : 2

Il faut ensuite redémarrer l’ordinateur et le tour est joué !

Vu le temps que j’ai passé à chercher la cause/solution, cela vaut bien un petit article.

Si vous souhaitez partager cet article...Share on Facebook
Facebook
Tweet about this on Twitter
Twitter