Protocole de tunnelisation de couche 2 (L2TP)
Le protocole L2TP (Layer 2 Tunneling Protocol) est un protocole de tunnelisation du trafic de couche 2 sur un réseau de couche 3. Vous pouvez utiliser L2TP pour activer la tunnelisation PPP (Point-to-Point Protocol) au sein de votre réseau.
Le protocole L2TP nécessite un concentrateur d’accès L2TP (LAC) et un serveur réseau L2TP (LNS). Le LNS est un point de terminaison d’un tunnel L2TP. Le lac, configuré sur un équipement d’accès, reçoit les paquets d’un client distant et les transfère au réseau LNS sur un réseau distant. Le LAC et le LNS sont pairs.
Pour savoir comment configurer L2TP pour l’accès aux abonnés, reportez-vous à la présentation de L2TP pour l’accès aux abonnés.
Configuration L2TP minimale
Pour définir la configuration minimale pour L2TP, incluez au moins les instructions suivantes au niveau de la [edit access]
hiérarchie :
[edit access] address-pool pool-name { address address-or-prefix; address-range low <lower-limit> high <upper-limit>; } profile profile-name { authentication-order [ authentication-methods ]; client client-name { chap-secret chap-secret; l2tp { interface-id interface-id; maximum-sessions-per-tunnel number; ppp-authentication (chap | pap); shared-secret shared-secret; } pap-password pap-password; ppp { framed-ip-address ip-address; framed-pool framed-pool; interface-id interface-id; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } } } radius-server server-address { accounting-port port-number; port port-number; retry attempts; secret password; }
Lorsque le LNS est configuré avec l’authentification RADIUS , le comportement par défaut est d’accepter l’adresse IP RADIUS préférée. Auparavant, le comportement par défaut consistait à accepter et à installer l’adresse IP non-ero reçue dans le paquet de demande de configuration IPCP (Internet Protocol Control Protocol).
Profils L2TP
Configurez les profils pour L2TP.
Lorsque plusieurs types de profils sont configurés, le système d’exploitation n’implémente qu’une seule configuration. Le système d’exploitation les hiérarchise comme suit, où [edit access profile profile-name]
remplace toutes les autres configurations de profil :
[edit access profile profile-name]
[edit access group-profile profile-name]
[edit access profile profile-name user-group-profile profile-name]
Profils d’accès
Pour valider les connexions L2TP et les demandes de session, vous configurez les profils d’accès en configurant l’instruction de profil au niveau de la [edit access]
hiérarchie. Vous pouvez configurer plusieurs profils. Vous pouvez également configurer plusieurs clients pour chaque profil.
- Configurer le client L2TP
- Profil spécifique au client
- Exemple : définir le client tunnel par défaut
- Configurer le profil d’accès
- Exemple : Configuration du profil d’accès
Configurer le client L2TP
Pour configurer le client, incluez l’instruction client
au niveau de la [edit access profile profile-name]
hiérarchie :
[edit access profile profile-name] client client-name;
client-name
est l’identité des pairs.
Pour L2TP, vous pouvez éventuellement utiliser le générique (*
) pour définir un client de tunnel par défaut afin d’authentifier plusieurs LAC avec le même secret et les mêmes attributs L2TP. Si un LAC portant un nom spécifique n’est pas défini dans la configuration, le client de tunnel générique l’authentifie.
La *
configuration du client par défaut s’applique uniquement aux routeurs M Series. Sur les routeurs MX Series, utilisez default
plutôt. Reportez-vous aux interfaces de service en ligne L2TP LNS pour en savoir plus sur les routeurs MX Series.
Profil spécifique au client
Pour définir des propriétés L2TP pour un profil spécifique à un client, incluez une ou plusieurs des instructions suivantes au niveau de la [edit access profile profile-name client client-name l2tp]
hiérarchie :
Lorsque vous configurez le profil, vous pouvez configurer les paramètres L2TP ou PPP , mais pas les deux en même temps.
[edit access profile profile-name client client-name l2tp] interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number; multilink { drop-timeout milliseconds; fragment-threshold bytes; } ppp-authentication (chap | pap); shared-secret shared-secret;
interface-id
(dans l’instruction interface-id
) est l’identificateur de l’interface représentant une session L2TP configurée au niveau de la [edit interfaces interface-name unit local-unit-number dial-options]
hiérarchie.
number
(dans l’instruction maximum-sessions-per-tunnel
) correspond au nombre maximal de sessions pour un tunnel L2TP.
shared-secret
(dans la shared-secret
déclaration) est le secret commun pour l’authentificateur de l’pair.
Vous pouvez spécifier l’authentification PPP (dans l’instruction ppp-authentication
). Par défaut, l’authentification PPP utilise le protocole CHAP. Vous pouvez configurer ce protocole pour utiliser le protocole PAP (Password Authentication Protocol).
Vous pouvez configurer LNS pour qu’il renégocie LCP avec le client PPP (dans l’instruction lcp-negotiation
). Par défaut, le client PPP négocie le LCP avec le LAC. Lorsque vous le faites, le LNS rejette la dernière demande de configuration LCP envoyée et la dernière demande de configuration LCP reçue AVPdu lac; par exemple, le LCP a négocié entre le client PPP et LAC.
Vous pouvez configurer Junos OS de manière à ce que le LNS ignore les APV d’authentification proxy du LAC et ré-authentification du client PPP à l’aide d’un défi CHAP (dans l’instruction local-chap
). Par défaut, le client PPP n’est pas ré-authentifié par le LNS. Lorsque vous faites cela, le LNS authentifie directement le client PPP.
Vous pouvez configurer le PPP MP pour L2TP si les sessions PPP entrantes dans le LNS du LAC ont des PPP multi-liaisons négociés. Lorsque vous le faites, vous rejoignez des offres multilink basées sur le caractère discriminatoire des points de terminaison (dans la multilink
déclaration).
-
milliseconds
(dans l’instructiondrop-timeout
) spécifie le nombre de millisecondes de délai d’expiration associé au premier fragment de la file d’attente de réassemblage. Si le délai d’expiration expire avant que tous les fragments aient été collectés, les fragments au début de la file d’attente de réassemblage sont supprimés. Si le délai d’abandon n’est pas spécifié, Junos OS s’en tient aux fragments (les fragments peuvent toujours être perdus si l’algorithme de réassemblage multilink détermine qu’un autre fragment appartenant au paquet sur une file d’attente de réassemblage a été perdu).Note:Le seuil de perte de temps et de fragmentation d’une liaison multi-liaison groupée peut appartenir à différents tunnels. Les différents tunnels peuvent avoir des seuils de perte de temps d’abandon et de fragmentation différents. Nous vous recommandons de configurer des profils de groupe plutôt que des profils lorsque vous disposez de tunnels L2TP.
-
bytes
spécifie la taille maximale d’un paquet, en octets (dans l’instructionfragment-threshold
). Si un paquet dépasse le seuil de fragmentation, le système d’exploitation Junos le fragmente en deux fragments ou plus de liaisons multiples.
Exemple : définir le client tunnel par défaut
[edit access profile profile-name] client * { l2tp { interface-id interface1; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel 500; ppp-authentication chap; shared-secret "$ABC123"; } }
Pour n’importe quel client de tunnel, vous pouvez éventuellement utiliser le profil de groupe d’utilisateurs pour définir des attributs PPP par défaut pour tous les utilisateurs entrant dans un tunnel. Le profil de groupe d’utilisateurs doit définir des attributs PPP. Si le profil de groupe d’utilisateurs est spécifié, tous les utilisateurs (sessions PPP) utilisent les attributs PPP spécifiés dans le profil de groupe d’utilisateurs. Les attributs PPP spécifiés dans le serveur local ou RADIUS priment sur ceux spécifiés dans le profil de groupe d’utilisateurs.
Vous pouvez éventuellement utiliser un client générique pour définir un profil de groupe d’utilisateurs. Pour ce faire, n’importe quel client entrant dans ce tunnel utilise les attributs PPP (attributs de profil de groupe d’utilisateurs définis) comme attributs PPP par défaut.
Configurer le profil d’accès
Lorsque vous configurez un profil, vous pouvez uniquement configurer les paramètres L2TP ou PPP. Vous ne pouvez pas configurer les deux en même temps.
Voir aussi
Exemple : Configuration du profil d’accès
L’exemple suivant illustre la configuration d’un profil d’accès :
[edit access] profile westcoast_bldg_1 { client white { chap-secret "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 198.51.100.10; framed-ip-address 198.51.100.12/24; } group-profile westcoast_users; } client blue { chap-secret "$ABC123"; # SECRET-DATA group-profile sunnyvale_users; } authentication-order password; } profile westcoast_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; # SECRET-DATA maximum-sessions-per-tunnel 75; ppp-authentication chap; } group-profile westcoast_tunnel; } client production { l2tp { shared-secret "$ABC123”; # SECRET-DATA ppp-authentication chap; } group-profile westcoast_tunnel; } }
Profil de groupe
Vous pouvez éventuellement configurer un profil de groupe. Tout client faisant référence au profil de groupe configuré hérite de tous les attributs du profil de groupe. Il est ainsi plus facile d’appliquer L2TP à plus grande échelle.
Pour configurer le protocole L2TP pour le profil de groupe, incluez les instructions suivantes au niveau de la [edit access group-profile profile-name l2tp]
hiérarchie :
[edit access group-profile profile-name l2p] interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number;
interface-id
est l’identificateur de l’interface représentant une session L2TP configurée au niveau de la [edit interfaces interface-name unit local-unit-number dial-options]
hiérarchie.
Vous pouvez configurer le réseau LNS de manière à ce qu’il renégocie le protocole LCP (Link Control Protocol) avec le client PPP (dans l’instruction renegotiation
). Par défaut, le client PPP négocie le LCP avec le concentrateur d’accès L2TP (LAC). Lorsque vous le faites, le LNS rejette la dernière paire de valeur DVP(Configuration Request Attribute Pairs) LCP envoyée et la dernière fois reçue par le LAC ; par exemple, le LCP a négocié entre le client PPP et le LAC.
Vous pouvez configurer Junos OS de manière à ce que le LNS ignore les APV d’authentification proxy du LAC et ré-authentification du client PPP à l’aide d’un défi CHAP (dans l’instruction local-chap
). Lorsque vous faites cela, le LNS authentifie directement le client PPP. Par défaut, le client PPP n’est pas ré-authentifié par le LNS.
number
correspond au nombre maximum de sessions par tunnel L2TP.
Référencer le profil de groupe à partir du profil L2TP
Vous pouvez faire référence à un profil de groupe configuré à partir du profil de tunnel L2TP .
Pour faire référence au profil de groupe configuré au niveau de la [edit access group-profile profile-name]
hiérarchie, incluez l’instruction group-profile
au niveau de la [edit access profile profile-name client client-name]
hiérarchie :
[edit access profile profile-name client client-name] group-profile profile-name;
profile-name
fait référence à un profil de groupe configuré à partir d’un profil utilisateur PPP.
Exemple : PPP MP pour L2TP
[edit access] profile tunnel-profile { client remote-host { l2tp { multilink { drop-timeout 600; fragmentation-threshold 100; } } } }
Configurer l’authentification L2TP
Le protocole L2TP n’inclut aucune méthode d’authentification. Il est donc flexible et peut être utilisé avec vos fonctionnalités de sécurité préférées. Lorsque vous configurez des propriétés PPP pour un profil L2TP, vous configurez généralement l’instruction ou pap-password
l’instructionchap-secret
.
- Configurer le secret CHAP pour un profil L2TP
- Exemple : Configuration du protocole PPP CHAP L2TP
- Configurer le mot de passe PAP pour un profil L2TP
- Exemple : configurer PAP pour un profil L2TP
Configurer le secret CHAP pour un profil L2TP
Le protocole CHAP permet à chaque fin d’un lien PPP d’authentifier son pair, comme défini dans la directive RFC 1994. L’authentificateur envoie à son pair un défi généré de manière aléatoire que l’pair doit chiffrer à l’aide d’un hachage à sens unique ; l’appairage doit alors répondre à l’aide de ce résultat chiffré. La clé du hachage est un secret connu uniquement de l’authentificateur et authentifié. Lorsque la réponse est reçue, l’authentificateur compare son résultat calculé avec la réponse de l’pair. S’ils correspondent, l’pair est authentifié.
Chaque fin de la liaison s’identifie à son pair en incluant son nom dans le défi CHAP et les paquets de réponse qu’il envoie à l’pair. Ce nom correspond par défaut au nom d’hôte local, ou vous pouvez le définir explicitement à l’aide de l’option local-name
. Lorsqu’un hôte reçoit un défi CHAP ou un paquet de réponse CHAP sur une interface particulière, il utilise l’identité d’appairage pour rechercher la clé secrète CHAP à utiliser.
Lorsque vous configurez les propriétés PPP pour un profil L2TP (Layer 2 Tunneling Protocol), vous configurez généralement l’instruction ou pap-password
l’instructionchap-secret
.
Pour configurer le protocole CHAP, incluez l’instruction profile
et spécifiez un nom de profil au niveau de la [edit access]
hiérarchie :
[edit access] profile profile-name { client client-name chap-secret data; }
Faites ensuite référence au nom du profil CHAP au niveau de la [edit interfaces interface-name ppp-options chap]
hiérarchie.
Vous pouvez configurer plusieurs profils. Vous pouvez également configurer plusieurs clients pour chaque profil.
profile
correspond au mappage entre les identifiants pairs et les clés secrètes CHAP. L’identité de l’pair contenue dans le défi CHAP ou la réponse interroge le profil pour la clé secrète à utiliser.
client
est l’identité des pairs.
chap-secret secret
est la clé secrète associée à cet pair.
Exemple : Configuration du protocole PPP CHAP L2TP
[edit] access { profile westcoast_bldg1 { client cpe-1 chap-secret "$ABC123"; # SECRET-DATA client cpe-2 chap-secret "$ABC123"; # SECRET-DATA } }
Configurer le mot de passe PAP pour un profil L2TP
Pour configurer le mot de passe du protocole PAP (Password Authentication Protocol), incluez l’instruction pap-password
au niveau de la [edit access profile profile-name client client-name]
hiérarchie :
[edit access profile profile-name client client-name] pap-password pap-password;
pap-password
est le mot de passe de PAP.
Exemple : configurer PAP pour un profil L2TP
[edit access] profile sunnyvale_bldg_2 { client green { pap-password "$ABC123"; ppp { interface-id west; } group-profile sunnyvale_users; } client red { chap-secret "$ABC123"; group-profile sunnyvale_users; } authentication-order radius; } profile Sunnyvale_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; ppp-authentication pap; } } }
Exemple : configurer L2TP
[edit] access { address-pool customer_a { address 10.1.1.1/32; } address-pool customer_b { address-range low 10.2.2.2 high 10.2.3.2; } group-profile westcoast_users { ppp { framed-pool customer_a; idle-timeout 15; primary-dns 10.192.65.1; secondary-dns 10.192.65.2; primary-wins 10.192.65.3; secondary-wins 10.192.65.4; interface-id west; } } group-profile eastcoast_users { ppp { framed-pool customer_b; idle-timeout 20; primary-dns 10.192.65.5; secondary-dns 10.192.65.6; primary-wins 10.192.65.7; secondary-wins 10.192.65.8; interface-id east; } } group-profile westcoast_tunnel { l2tp { maximum-sessions-per-tunnel 100; } } group-profile east_tunnel { l2tp { maximum-sessions-per-tunnel 125; } } profile westcoast_bldg_1 { client white { chap-secret "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 10.192.65.10; framed-ip-address 10.12.12.12/32; } group-profile westcoast_users; } client blue { chap-secret "$ABC123"; # SECRET-DATA group-profile sunnyvale_users; } authentication-order password; } profile west-coast_bldg_2 { client red { pap-password "$ABC123"; # SECRET-DATA ppp { idle-timeout 22; primary-dns 10.192.65.11; framed-ip-address 10.12.12.12/32; } group-profile westcoast_users; } } profile westcoast_bldg_1_tunnel { client test { l2tp { shared-secret "$ABC123"; # SECRET-DATA maximum-sessions-per-tunnel 75; ppp-authentication chap;# The default for PPP authentication is CHAP. } group-profile westcoast_tunnel; } client production { l2tp { shared-secret "$ABC123 ABC123"; # SECRET-DATA ppp-authentication chap; } group-profile westcoast_tunnel; } } profile westcoast_bldg_2_tunnel { client black { l2tp { shared-secret "$ABC123 ABC123"; # SECRET-DATA ppp-authentication pap; } group-profile westcoast_tunnel; } } }
Configurer le protocole L2TP pour les routeurs M7i et M10i
Pour les routeurs M7i et M10i, vous pouvez configurer des services de sécurité de tunnelisation L2TP (Layer 2 Tunneling Protocol) sur une carte PIC (Adaptive Services Physical Interface Card) ou un PIC multiservices.
Pour configurer L2TP, incluez les instructions suivantes au niveau de la [edit access]
hiérarchie :
[edit access] address-pool pool-name { address address-or-prefix; address-range low <lower-limit> high <upper-limit>; } group-profile profile-name { l2tp { interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number; ppp { cell-overhead; encapsulation-overhead bytes; framed-pool pool-id; idle-timeout seconds; interface-id interface-id; keepalive seconds; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } } profile profile-name { authentication-order [ authentication-methods ]; accounting-order radius; client client-name { chap-secret chap-secret; group-profile profile-name; l2tp { interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number; ppp-authentication (chap | pap); shared-secret shared-secret; } pap-password pap-password; ppp { cell-overhead; encapsulation-overhead bytes; framed-ip-address ip-address; framed-pool framed-pool; idle-timeout seconds; interface-id interface-id; keepalive seconds; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } user-group-profile profile-name; } } radius-disconnect-port port-number { radius-disconnect { client-address { secret password; } } } radius-server server-address { accounting-port port-number; port port-number; retry attempts; routing-instance routing-instance-name; secret password; source-address source-address; timeout seconds; } }