Etablir un tunnel VPN IPSEC/L2TP à travers un routeur Nat

Objectif :

* Etablir une connexion VPN L2TP/IPSEC (serveur vpn Isa 2004 situé sur le réseau interne) à travers un routeur NAT (une freebox par exemple). Dans ce cas, le routeur NAT n’est pas le point de terminaison du tunnel.

A savoir :

* IPSEC est incompatible avec NAT. Il est donc nécessaire d’utiliser un nouveau protocole appelé NAT-T :
http://www.microsoft.com/…/cg1004.mspx
.
* Seul le composant RRAS de Windows 2003 Server supporte le mode routeur NAT-T.
* Le composant RRAS de Windows 2000 Server n’incluse pas le support du NAT-T.
* L’article suivant explique que ceux que nous voulons faire n’est pas recommandé: http://support.microsoft.com/kb/885348/en-us

Mise en place :

Configuration du routeur NAT :
Il faut rediriger les ports UDP 500 (IKE) et UDP 4500 (Nat-T) vers l’adresse externe du serveur Isa 2004 (serveur interne). Dans cette configuration en toute logique, cette adresse IP fait partie de plan d’adressage IP privé (adresse IP non routable sur Internet).

Configuration des postes clients distants :
http://support.microsoft.com/kb/818043

Si le poste client passe par un proxy pour sortir sur Internet, les ports UDP 500 (IKE) et UDP 4500 (NAT-T) doivent être ouvert sur le serveur Proxy.
Après cela, il faut ensuite modifier le comportement par défaut de Windows XP sp2. En effet ce dernier ne supporte pas les serveurs VPN L2TP/IPSEC-Nat-T derrière un routeur Nat comme expliqué dans cet article :
http://support.microsoft.com/kb/885407/en-us
Extrait de l’article :
« By default, computers that run Windows XP with Service Pack 2 and that initiate IPsec-secured communications (hereafter referred to as initiators) no longer support using IPsec NAT-T to remote computers that respond to requests for IPsec-secured communication (hereafter referred to as responders) that are located behind a network address translator ».
Il faut en fait rajouter la clé « the AssumeUDPEncapsulationContextOnSendRule » dans le registre du poste Windows XP sp2.
Pour cela :
* Aller dans « Démarrer », « Exécuter », taper « regedit », puis cliquer sur OK.
* Aller dans « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPsec »
* Faite un clic droit sur IPSEC puis cliquer sur Nouveau, Valeur DWORD.
* Taper « AssumeUDPEncapsulationContextOnSendRule ». Attention à bien respecter majuscule et minuscule.
* Double cliquer sur cette clé et taper 2 (hexadécimale).
En effet si cette clé à comme valeur :
0 : Windows XP sp2 ne peut pas initier de connexion à un serveur VPN L2TP/IPSEC derrière un routeur NAT.
1 : Windows XP sp2 peut initier une connexion si le serveur VPN L2TP/IPSEC est derrière un routeur NAT mais que le client a une adresse IP publique.
2 : Windows XP sp2 peut initier une connexion sur le client et le serveur VPN L2TP/IPSEC sont chacun derrière un routeur NAT.
Quitter l’éditeur de registre et redémarrer le poste Windows XP sp2.

Laisser un commentaire