Layer 2 Tunneling Protocol (L2TP)
Layer 2 Tunneling Protocol (L2TP) ist ein Protokoll für das Tunneling von Layer-2-Datenverkehr über ein Layer-3-Netzwerk. Sie können L2TP verwenden, um PPP-Tunneling (Point-to-Point Protocol) in Ihrem Netzwerk zu aktivieren.
L2TP erfordert einen L2TP Access Concentrator (LAC) und einen L2TP Network Server (LNS). Das LNS ist ein Endpunkt eines L2TP-Tunnels. Der auf einem Zugriffsgerät konfigurierte LAC empfängt Pakete von einem Remote-Client und leitet sie an das LNS in einem Remote-Netzwerk weiter. Lac und LNS sind Peers.
Informationen zur Konfiguration von L2TP für den Abonnentenzugriff finden Sie unter L2TP for Subscriber Access Overview.
Minimale L2TP-Konfiguration
Um die Mindestkonfiguration für L2TP zu definieren, fügen Sie mindestens die folgenden Anweisungen auf Hierarchieebene [edit access]
ein:
[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; }
Wenn LNS mit RADIUS-Authentifizierung konfiguriert ist, wird standardmäßig die bevorzugte, von RADIUS zugewiesene IP-Adresse akzeptiert. Bisher bestand das Standardverhalten darin, die nichtzero-Peer-IP-Adresse zu akzeptieren und zu installieren, die im Konfigurationsanforderungspaket des Internet Protocol Control Protocol (IPCP) empfangen wurde.
L2TP-Profile
Konfigurieren Sie Profile für L2TP.
Wenn mehrere Arten von Profilen konfiguriert sind, implementiert das Betriebssystem nur eine Konfiguration. Das Betriebssystem priorisiert sie wie folgt, wobei [edit access profile profile-name]
alle anderen Profilkonfigurationen außer Kraft gesetzt werden:
[edit access profile profile-name]
[edit access group-profile profile-name]
[edit access profile profile-name user-group-profile profile-name]
Zugriffsprofile
Um L2TP-Verbindungen und Sitzungsanforderungen zu validieren, richten Sie Zugriffsprofile ein, indem Sie die Profilaussage auf [edit access]
Hierarchieebene konfigurieren. Sie können mehrere Profile konfigurieren. Sie können auch mehrere Clients für jedes Profil konfigurieren.
- Konfigurieren des L2TP-Clients
- Kundenspezifisches Profil
- Beispiel: Definieren des Standard-Tunnel-Clients
- Konfigurieren des Zugriffsprofils
- Beispiel: Konfiguration des Zugriffsprofils
Konfigurieren des L2TP-Clients
Um den Client zu konfigurieren, fügen Sie die client
Anweisung auf [edit access profile profile-name]
Hierarchieebene ein:
[edit access profile profile-name] client client-name;
client-name
ist die Peer-Identität.
Für L2TP können Sie optional den Wildcard (*
) verwenden, um einen Standard-Tunnel-Client zu definieren, um mehrere LACs mit denselben geheimen und L2TP-Attributen zu authentifizieren. Wenn in der Konfiguration kein LAC mit einem bestimmten Namen definiert ist, authentifiziert der Platzhaltertunnel-Client dies.
Die *
für die Standard-Client-Konfiguration gilt nur für Router der M-Serie. Verwenden Sie default
stattdessen auf Routern der MX-Serie. Weitere Informationen zu Routern der MX-Serie finden Sie unter L2TP LNS-Inline-Serviceschnittstellen .
Kundenspezifisches Profil
Um L2TP-Eigenschaften für ein clientspezifisches Profil zu definieren, fügen Sie eine oder mehrere der folgenden Anweisungen auf Hierarchieebene [edit access profile profile-name client client-name l2tp]
ein:
Wenn Sie das Profil konfigurieren, können Sie entweder L2TP- oder PPP-Parameter konfigurieren, aber nicht beide gleichzeitig.
[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
(in der interface-id
Anweisung) ist der Bezeichner für die Schnittstelle, die eine auf Hierarchieebene konfigurierte [edit interfaces interface-name unit local-unit-number dial-options]
L2TP-Sitzung darstellt.
number
(in der maximum-sessions-per-tunnel
Anweisung) die maximale Anzahl von Sitzungen für einen L2TP-Tunnel.
shared-secret
(in der shared-secret
Erklärung) ist das gemeinsam genutzte Geheimnis für die Authentifizierung des Peers.
Sie können (in der Anweisung) die ppp-authentication
PPP-Authentifizierung angeben. Standardmäßig verwendet die PPP-Authentifizierung CHAP. Sie können dies für die Verwendung des Password Authentication Protocol (PAP) konfigurieren.
Sie können LNS so konfigurieren, dass LCP mit dem PPP-Client neu verhandelt wird (in der lcp-negotiation
Anweisung). Standardmäßig verhandelt der PPP-Client den LCP mit dem LAC. Wenn Sie dies tun, verwirft das LNS die zuletzt gesendete LCP-Konfigurationsanfrage und zuletzt erhaltenE LCP-Konfigurationsanforderung AVPs vom LAC; zum Beispiel die zwischen PPP-Client und LAC ausgehandelte LCP.
Sie können junos OS so konfigurieren, dass der LNS Proxy-Authentifizierungs-AVPs aus dem LAC ignoriert und den PPP-Client mithilfe einer CHAP-Herausforderung erneut authentifiziert (in der local-chap
Anweisung). Standardmäßig wird der PPP-Client vom LNS nicht erneut authentifiziert. Wenn Sie dies tun, authentifiziert das LNS den PPP-Client direkt.
Sie können das PPP-MP für L2TP konfigurieren, wenn die PPP-Sitzungen, die aus dem LAC in das LNS kommen, Multilink-PPP ausgehandelt haben. Wenn Sie dies tun, schließen Sie Multilink-Pakete basierend auf dem Endpunkt-Diskriminator (in der multilink
Anweisung) an.
-
milliseconds
(in derdrop-timeout
Anweisung) gibt die Anzahl der Millisekunden für das Timeout an, das dem ersten Fragment in der Reassembly-Warteschlange zugeordnet ist. Wenn die Zeitüberschreitung abläuft, bevor alle Fragmente gesammelt wurden, werden die Fragmente am Anfang der Reassemmierungswarteschlange gelöscht. Wenn das Drop Timeout nicht angegeben wird, hält Junos OS an den Fragmenten fest (Fragmente können immer noch gelöscht werden, wenn der Multilink-Reassemmly-Algorithmus feststellt, dass ein anderes Fragment, das zu dem Paket in einer reassemierten Warteschlange gehört, verloren gegangen ist).Hinweis:Der Drop Timeout- und Fragmentierungsschwellenwert für einen gebündelten Multilink kann zu verschiedenen Tunneln gehören. Die verschiedenen Tunnel können unterschiedliche Drop-Timeout- und Fragmentierungsschwellen haben. Wir empfehlen, Gruppenprofile anstelle von Profilen zu konfigurieren, wenn Sie L2TP-Tunnel haben.
-
bytes
gibt die maximale Größe eines Pakets in Bytes an (in derfragment-threshold
Anweisung). Wenn ein Paket den Schwellenwert für die Fragmentierung überschreitet, zersplittert Junos OS es in zwei oder mehr Multilink-Fragmente .
Beispiel: Definieren des Standard-Tunnel-Clients
[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"; } }
Für jeden Tunnel-Client können Sie optional das Benutzergruppenprofil verwenden, um Standard-PPP-Attribute für alle Benutzer zu definieren, die über einen Tunnel kommen. Das Benutzergruppenprofil muss PPP-Attribute definieren. Wenn das Benutzergruppenprofil angegeben wird, verwenden alle Benutzer (PPP-Sitzungen) die im Benutzergruppenprofil angegebenen PPP-Attribute. Die auf dem lokalen oder RADIUS-Server angegebenen PPP-Attribute haben Vorrang vor den im Benutzergruppenprofil angegebenen Attributen.
Optional können Sie einen Wildcard-Client verwenden, um ein Benutzergruppenprofil zu definieren. Wenn Sie dies tun, verwendet jeder Client, der diesen Tunnel betritt, die PPP-Attribute (definierte Benutzergruppenprofilattribute) als Standard-PPP-Attribute.
Konfigurieren des Zugriffsprofils
Wenn Sie ein Profil konfigurieren, können Sie nur L2TP- oder PPP-Parameter konfigurieren. Sie können nicht beides gleichzeitig konfigurieren.
Siehe auch
Beispiel: Konfiguration des Zugriffsprofils
Das folgende Beispiel zeigt eine Konfiguration eines Zugriffsprofils:
[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; } }
Gruppenprofil
Sie können optional ein Gruppenprofil konfigurieren. Jeder Client, der auf das konfigurierte Gruppenprofil verweist, erbt alle Gruppenprofilattribute. Dies erleichtert die Anwendung von L2TP in größerem Umfang.
Um L2TP für das Gruppenprofil zu konfigurieren, fügen Sie die folgenden Anweisungen auf Hierarchieebene [edit access group-profile profile-name l2tp]
ein:
[edit access group-profile profile-name l2p] interface-id interface-id; lcp-renegotiation; local-chap; maximum-sessions-per-tunnel number;
interface-id
ist der Bezeichner für die Schnittstelle, die eine auf Hierarchieebene konfigurierte [edit interfaces interface-name unit local-unit-number dial-options]
L2TP-Sitzung darstellt.
Sie können das LNS so konfigurieren, dass es das Link Control Protocol (LCP) mit dem PPP-Client neu aushandelt (in der renegotiation
Anweisung). Standardmäßig verhandelt der PPP-Client den LCP mit dem L2TP Access Concentrator (LAC). Wenn Sie dies tun, verwirft das LNS die zuletzt gesendeten und die zuletzt empfangenen Attributwertpaare (AVPs) der LCP-Konfiguration aus dem LAC; zum Beispiel die zwischen dem PPP-Client und dem LAC ausgehandelte LCP.
Sie können Junos OS so konfigurieren, dass der LNS Proxy-Authentifizierungs-AVPs aus dem LAC ignoriert und den PPP-Client mithilfe einer CHAP-Herausforderung erneut authentifiziert (in der local-chap
Anweisung). Wenn Sie dies tun, authentifiziert das LNS den PPP-Client direkt. Standardmäßig wird der PPP-Client vom LNS nicht erneut authentifiziert.
number
ist die maximale Anzahl von Sitzungen pro L2TP-Tunnel.
Referenz des Gruppenprofils aus dem L2TP-Profil
Sie können über das L2TP-Tunnelprofil auf ein konfiguriertes Gruppenprofil verweisen.
Um auf das auf Hierarchieebene [edit access group-profile profile-name]
konfigurierte Gruppenprofil zu verweisen, fügen Sie die group-profile
Anweisung auf [edit access profile profile-name client client-name]
Hierarchieebene ein:
[edit access profile profile-name client client-name] group-profile profile-name;
profile-name
verweist auf ein konfiguriertes Gruppenprofil aus einem PPP-Benutzerprofil.
Beispiel: PPP MP für L2TP
[edit access] profile tunnel-profile { client remote-host { l2tp { multilink { drop-timeout 600; fragmentation-threshold 100; } } } }
Konfigurieren der L2TP-Authentifizierung
L2TP enthält keine Authentifizierungsmethoden, daher ist es flexibel und kann mit Ihren bevorzugten Sicherheitsfunktionen verwendet werden. Wenn Sie PPP-Eigenschaften für ein L2TP-Profil konfigurieren, konfigurieren Sie in der Regel die chap-secret
Anweisung oder pap-password
Anweisung.
- Konfigurieren des CHAP-Geheimen für ein L2TP-Profil
- Beispiel: Konfigurieren von L2TP-PPP-CHAP
- Konfigurieren des PAP-Kennworts für ein L2TP-Profil
- Beispiel: Konfigurieren von PAP für ein L2TP-Profil
Konfigurieren des CHAP-Geheimen für ein L2TP-Profil
Chap ermöglicht jedem Ende eines PPP-Links , seinen Peer zu authentifizieren, wie in RFC 1994 definiert. Der Authentifikator sendet seinem Peer eine zufällig generierte Herausforderung, die der Peer mit einem One-Way-Hash verschlüsseln muss. muss der Peer dann mit diesem verschlüsselten Ergebnis reagieren. Der Schlüssel zum Hash ist ein Geheimnis, das nur dem Authentifikator bekannt und authentifiziert ist. Wenn die Antwort empfangen wird, vergleicht der Authentifikator sein berechnetes Ergebnis mit der Antwort des Peers. Wenn sie übereinstimmen, wird der Peer authentifiziert.
Jedes Ende der Verbindung identifiziert sich mit seinem Peer, indem es seinen Namen in die CHAP-Herausforderung und die Antwortpakete einträgt, die er an den Peer sendet. Dieser Name ist standardmäßig der lokale Hostname, oder Sie können ihn mithilfe der local-name
Option explizit festlegen. Wenn ein Host eine CHAP-Herausforderung oder ein CHAP-Antwortpaket auf einer bestimmten Schnittstelle empfängt, verwendet er die Peer-Identität, um den zu verwendenden CHAP-geheimen Schlüssel zu suchen.
Wenn Sie PPP-Eigenschaften für ein Layer 2 Tunneling Protocol (L2TP)-Profil konfigurieren, konfigurieren Sie in der Regel die chap-secret
Anweisung oder pap-password
Anweisung.
Um CHAP zu konfigurieren, fügen Sie die profile
Anweisung ein und geben Sie einen Profilnamen auf Hierarchieebene [edit access]
an:
[edit access] profile profile-name { client client-name chap-secret data; }
Verweisen Sie dann auf den CHAP-Profilnamen auf [edit interfaces interface-name ppp-options chap]
Hierarchieebene.
Sie können mehrere Profile konfigurieren. Sie können auch mehrere Clients für jedes Profil konfigurieren.
profile
ist die Zuordnung zwischen Peer-Bezeichnern und CHAP-geheimen Schlüsseln. Die Identität des Peers, der in der CHAP-Herausforderung oder -Antwort enthalten ist, fragt das Profil nach dem zu verwendende geheime Schlüssel ab.
client
ist die Peer-Identität.
chap-secret secret
ist der geheime Schlüssel, der mit diesem Peer verbunden ist.
Beispiel: Konfigurieren von L2TP-PPP-CHAP
[edit] access { profile westcoast_bldg1 { client cpe-1 chap-secret "$ABC123"; # SECRET-DATA client cpe-2 chap-secret "$ABC123"; # SECRET-DATA } }
Konfigurieren des PAP-Kennworts für ein L2TP-Profil
Um das Kennwort für das Password Authentication Protocol (PAP) zu konfigurieren, fügen Sie die pap-password
Anweisung auf Hierarchieebene [edit access profile profile-name client client-name]
ein:
[edit access profile profile-name client client-name] pap-password pap-password;
pap-password
ist das Passwort für PAP.
Beispiel: Konfigurieren von PAP für ein L2TP-Profil
[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; } } }
Beispiel: Konfigurieren von 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; } } }
Konfigurieren Sie L2TP für M7i- und M10i-Router
Für M7i- und M10i-Router können Sie Layer 2 Tunneling Protocol (L2TP)-Sicherheitsservices auf einer Adaptive Services Physical Interface Card (PIC) oder einem Multiservices-PIC konfigurieren.
Um L2TP zu konfigurieren, fügen Sie die folgenden Anweisungen auf [edit access]
Hierarchieebene ein:
[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; } }