Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

PPP 数据包的第 2 层隧道

第 2 层隧道协议概述

L2TP 在 RFC 2661 第二 层隧道协议 (L2TP) 中定义。

L2TP 以对最终用户和应用尽可能透明的方式促进中间网络的 PPP 数据包隧道传输。它采用访问配置文件进行组和个人用户访问,并使用身份验证在每条隧道的两端之间建立安全连接。还支持多链路 PPP 功能。

L2TP 服务仅在以下路由器上受支持:

  • 带有 AS PIC 的 M7i 路由器

  • 具有 AS 和多服务 100 PIC 的 M10i 路由器

  • 具有 AS、多服务 100 和多服务 400 PIC 的 M120 路由器

  • 在 MX 系列路由器上,仅 MPC 支持 L2TP 接入集中器 (LAC) 和 L2TP 网络服务器 (LNS) 功能;任何服务 PIC 或 MS-DPC 均不支持它们。有关 L2TP 的 MPC 支持的详细信息,请参阅 MX 系列接口模块参考

有关更多信息,请参阅 L2TP 服务配置概述

L2TP 服务配置概述

用于配置 L2TP 服务的语句位于以下层次结构级别:

  • [编辑服务 L2TP 隧道组 group-name]

    L2TP 隧道组 语句标识 L2TP 实例或 L2TP 服务器。关联语句指定接受传入隧道和会话的本地网关地址、处理此隧道组中会话数据的自适应服务 (AS) 物理接口卡 (PIC)、对 L2TP 和 PPP 访问配置文件的引用,以及用于配置窗口大小和计时器值的其他属性。

  • [编辑接口 sp-fpc/pic/port 单元 logical-unit-number 拨号选项]

    dial-options 语句包括 l2tp-interface-id 语句和共享/专用标志的配置。接口标识符将用户会话与逻辑接口相关联。会话可以使用共享或专用逻辑接口。要运行路由协议,会话必须使用专用逻辑接口。

  • [编辑访问配置文件 profile-name 客户端 name L2TP]

    隧道配置文件在 [edit access] 层次结构级别定义。隧道客户端在这些配置文件中使用身份验证、多链路协商和分段以及其他 L2TP 属性进行定义。

  • [编辑访问配置文件 profile-name 客户端 name PPP]

    用户配置文件在 [edit access] 层次结构级别定义。用户客户端在这些配置文件中使用身份验证和其他 PPP 属性进行定义。指定本地身份验证时使用这些客户端配置文件。

  • [编辑访问 RADIUS-server address]

    [edit access profile profile-name] 层级配置身份验证顺序 RADIUS 时,必须在 [edit access radius-server] 层级配置 RADIUS 服务。

注意:

有关在 [edit access] 层级配置属性的更多信息,请参阅适用于路由设备的 Junos OS 管理库。有关 MX 系列路由器上用于订阅者访问的 L2TP LAC 和 LNS 配置的信息,请参阅《Junos 订阅者访问配置指南》中的用于订阅者访问的 L2TP 概述

L2TP 最低配置

要配置 L2TP 服务,您必须至少执行以下任务:

  • 在层次结构级别上 [edit services l2tp] 定义具有以下属性的隧道组:

    • l2tp-access-profile— L2TP 隧道的配置文件名称。

    • ppp-access-profile- L2TP 用户的配置文件名称。

    • local-gateway- L2TP 隧道的地址。

    • service-interface— 用于 L2TP 服务的 AS PIC 接口。

    • 或者,您也可以进行配置以进行调试 traceoptions

    以下示例显示了带有追踪选项的隧道组的最低配置:

  • 在层次结构级别:[edit interfaces]

    • 标识 L2TP 隧道数据包进入路由器的物理接口,例如 ge-0/3/0

    • 使用为 IP 服务定义的 unit 0 family inet 配置 AS PIC 接口,并使用 family inet 和 语 dial-options 句配置另一个逻辑接口。

    以下示例显示了 L2TP 的最低接口配置:

  • 在层次结构级别:[edit access]

    • 配置隧道配置文件。每个客户端指定一个唯一的 L2TP 存取集中器 (LAC) 名称,其 interface-id 值与 AS PIC 接口单元上配置的值匹配; shared-secret 即 LAC 与 L2TP 网络服务器 (LNS) 之间的身份验证。

    • 配置用户配置文件。如果将 RADIUS 用作身份验证方法,则需要对其进行定义。

    • 定义 RADIUS 服务器,其中包含在路由器和 RADIUS 服务器之间共享的 IP 地址、端口和身份验证数据。

      注意:

      当 L2TP 网络服务器 (LNS) 配置了 RADIUS 身份验证时,默认行为是接受首选 RADIUS 分配的 IP 地址。以前,默认行为是接受并安装进入 IPCP 配置请求数据包的 IP 地址选项的非零对等 IP 地址。

    • 或者,您可以为公共属性定义组配置文件,例如 keepalive 0 关闭激活消息。

    以下示例显示了 L2TP 的最低配置文件配置:

配置 L2TP 隧道组

要在路由器上建立 L2TP 服务,您需要确定一个 L2TP 隧道组,并指定多个值,用于定义创建隧道时要使用的访问配置文件、接口地址和其他属性。要标识隧道组,请在层次结构级别包含[edit services l2tp]tunnel-group语句。

注意:

如果删除某个隧道组或将其标记为非活动状态,则该隧道组中的所有 L2TP 会话都将终止。如果更改 or local-gateway addressservice-interface 句的值,则使用这些设置的所有 L2TP 会话都将终止。如果在层次结构级别更改 [edit services l2tp tunnel-group group-name] 或删除其他语句,则您建立的新隧道将使用更新后的值,但现有隧道和会话不受影响。

以下部分介绍如何配置 L2TP 隧道组:

为 L2TP 隧道组配置访问配置文件

要验证 L2TP 连接和会话请求,您可以通过在层次结构级别配置[edit access]该语句来profile设置访问配置文件。您需要配置两种类型的配置文件:

  • L2TP 隧道访问配置文件,用于验证对指定本地网关地址的所有 L2TP 连接请求

  • PPP 访问配置文件,通过建立到本地网关地址的 L2TP 隧道验证所有 PPP 会话请求

有关配置配置文件的更多信息,请参阅适用于 路由设备的 Junos OS 管理库示例:配置 L2TP 服务中包含配置文件示例。

要将配置文件与隧道组相关联,请在[edit services l2tp tunnel-group group-name]层次结构级别包括 and l2tp-access-profile ppp-access-profile 语句:

配置本地网关地址和 PIC

配置 L2TP 组时,还必须为 L2TP 隧道连接和处理请求的 AS PIC 定义一个本地地址:

  • 要配置本地网关 IP 地址,请在层次结构级别包含[edit services l2tp tunnel-group group-name local-gateway]address语句:

  • 要配置 AS PIC,请在层次结构级别包含[edit services l2tp tunnel-group group-name]service-interface语句:

您可以随意指定逻辑单元号以及服务接口。如果指定,则设备将用作逻辑接口,表示使用此配置文件协商的 PPP 会话。

注意:

如果更改本地网关地址或服务接口配置,则使用这些设置的所有 L2TP 会话都将终止。

只要将 L2TP 会话配置为在出口接口上使用 IQ2 PIC,L2TP LNS 会话或具有 ATM VC 的 L2TP 会话就支持动态服务等级 (CoS) 功能。有关更多信息,请参阅服务等级用户指南(路由器和 EX9200 交换机)。

为 L2TP 隧道配置窗口大小

您可以配置 L2TP 隧道两端的数据包处理的最大窗口大小:

  • 接收窗口大小限制服务器处理的并发数据包数。默认情况下,最大值为 16 个数据包。要更改窗口大小,请在层次结构级别包含以下 receive-window 语句 [edit services l2tp tunnel-group group-name]

  • 最大发送窗口大小限制另一端的接收窗口大小。信息在接收窗口大小属性值对中传输。默认情况下,最大值为 32 个数据包。要更改窗口大小,请在层次结构级别包含以下 maximum-send-window 语句 [edit services l2tp tunnel-group group-name]

为 L2TP 隧道配置计时器

您可以配置以下计时器值来调节 L2TP 隧道处理:

  • hello 间隔 — 如果服务器在指定的时间间隔内未收到任何消息,则路由器软件会向隧道的远程对等方发送 hello 消息。默认情况下,间隔长度为 60 秒。如果配置值为 0,则不会发送 hello 消息。要配置其他值,请在层次结构级别包含[edit services l2tp tunnel-group group-name]hello-interval语句:

  • 重传间隔 — 默认情况下,重传间隔长度为 30 秒。要配置其他值,请在层次结构级别包含[edit services l2tp tunnel-group group-name]retransmit-interval语句:

  • 隧道超时 — 如果服务器无法在指定的时间间隔内通过隧道发送任何数据,则会假定与远程对等方的连接已丢失并删除隧道。默认情况下,间隔长度为 120 秒。要配置其他值,请在层次结构级别包含[edit services l2tp tunnel-group group-name]tunnel-timeout语句:

隐藏 L2TP 隧道的属性-值对

建立 L2TP 隧道并对连接进行身份验证后,将通过属性-值对对对信息进行编码。默认情况下,此信息不会隐藏。要在已知共享密钥后隐藏属性-值对,请在[edit services l2tp tunnel-group group-name]层次结构级别包含以下hide-avps语句:

配置 L2TP 隧道活动的系统日志记录

您可以指定属性来控制如何为 L2TP 服务生成系统日志消息。

要配置接口范围的默认系统日志记录值,请在层次结构级别包含[edit services l2tp tunnel-group group-name]syslog语句:

使用指定系统日志目标服务器的主机名或 IP 地址配置 host 该语句。主机名 local 将系统日志消息定向到路由引擎。对于外部系统日志服务器,主机名必须能够从初始数据包(触发会话建立)传送到的同一路由实例中访问。您只能指定一个系统日志记录主机名。

表 1 列出了可在层次结构级别的[edit services l2tp tunnel-group group-name syslog host hostname]配置语句中指定的严重性级别。从最后info开始emergency的级别按从最高严重性(对功能影响最大)到最低的顺序排列。

表 1:系统日志消息严重性级别

严重性级别

描述

any

包括所有严重级别

emergency

系统崩溃或其他导致路由器停止运行的情况

alert

需要立即更正的情况,例如损坏的系统数据库

critical

危急情况,例如硬盘驱动器错误

error

错误情况通常后果不如紧急、警报和严重级别中的错误严重

warning

需要监控的条件

notice

非错误但可能需要特殊处理的情况

info

关注的事件或非错误条件

建议在正常作期间将系统日志记录严重性级别设置为。 error 要监控 PIC 资源使用情况,请将级别 warning设置为 。要在检测到入侵检测系统错误时收集有关入侵攻击的信息,请将特定服务集的级别设置为。 notice 要调试配置或记录网络地址转换 (NAT) 事件,请将级别 info设置为 。

有关系统日志消息的更多信息,请参阅 系统日志资源管理器

要将一个特定设施代码用于对指定系统日志主机的所有日志记录,请在[edit services l2tp tunnel-group group-name syslog host hostname]层次结构级别包含该facility-override语句:

支持的工具包括: authorizationdaemonftpkerneluserlocal0 local7through 。

要为此系统日志主机的所有日志记录指定文本前缀,请在层次结构级别包含该 log-prefix 语句 [edit services l2tp tunnel-group group-name syslog host hostname]

为提供 L2TP 服务的逻辑接口配置标识符

只能在 M7i、M10i、M120 和 MX 系列路由器上的自适应服务接口上配置 L2TP 服务。您必须将逻辑接口配置为专用接口或共享接口。如果逻辑接口是专用的,则一次只能表示一个会话。一个共享逻辑接口可以有多个会话。

要配置逻辑接口,请在层次结构级别包含[edit interfaces interface-name unit logical-unit-number dial-options]l2tp-interface-id语句:

l2tp-interface-id必须在层次结构级别复制[edit access profile name]在逻辑接口上配置的名称:

  • 对于特定于用户的标识符,请在层次结构级别包含[edit access profile name ppp]l2tp-interface-id语句。

  • 对于组标识符,请在层次结构级别包含[edit access profile name l2tp]l2tp-interface-id语句。

您可以使用相同的接口标识符配置多个逻辑接口,以便用作多个用户的池。有关配置访问配置文件的更多信息,请参阅适用于路由 设备的 Junos OS 管理库

注意:

如果删除在逻辑接口上配置的 dial-options 语句设置,则在该接口上运行的所有 L2TP 会话都将终止。

示例:在共享逻辑接口上配置多链路 PPP

共享或专用逻辑接口支持多链路 PPP。以下示例可用于在单个共享接口上配置多个多链路捆绑包:

用于 L2TP 服务的 AS PIC 冗余

L2TP 服务支持 AS PIC 冗余。要配置冗余,请指定一个冗余服务 PIC (rsp) 接口,其中主 AS PIC 处于活动状态,辅助 AS PIC 处于备用状态。如果主 AS PIC 发生故障,辅助 PIC 将变为活动状态,并且所有服务处理都将传输至该 PIC。如果恢复主 AS PIC,它将保持备用状态,并且不会抢占辅助 AS PIC;您需要手动将服务还原到主 PIC。要确定哪个 PIC 当前处于活动状态,请发出命令 show interfaces redundancy

注意:

在 L2TP 上,唯一支持的服务选项是 热备用,其中一个备用 PIC 支持多个工作 PIC。无法保证恢复时间,因为检测到故障后,必须在备份 PIC 上完全还原配置。隧道和会话在切换时将被拆除,需要分别由 LAC 和 PPP 客户端重新启动。但是,配置将保留并在新的活动 PIC 上可用,尽管需要重新建立协议状态。

与其他支持热备用的 AS PIC 服务一样,您可以发出命令 request interfaces (revert | switchover) 在主 L2TP 接口和辅助 L2TP 接口之间手动切换。

有关更多信息,请参阅 配置 AS 或多服务 PIC 冗余。有关示例配置,请参阅 示例:配置 L2TP 服务。有关作模式命令的信息,请参阅 CLI 资源管理器

示例:配置 L2TP 服务

为并发隧道会话配置具有多个组和用户配置文件以及逻辑接口池的 L2TP:

配置 L2TP 冗余:

跟踪 L2TP 运维

跟踪作跟踪所有 AS PIC作,并将其记录在 /var/log 目录的日志文件中。默认情况下,此文件名为 /var/log/l2tpd

注意:

本主题涉及跟踪 M Series 路由器上的 L2TP LNS作。要跟踪 MX 系列路由器上的 L2TP LAC作,请参阅跟踪 L2TP 事件以进行故障排除

要跟踪 L2TP作,请在[edit services l2tp]层次结构级别包含以下traceoptions语句:

您可以指定以下 L2TP 跟踪标志:

  • all——追踪一切。

  • configuration— 跟踪配置事件。

  • protocol— 跟踪路由协议事件。

  • routing-socket- 跟踪路由套接字事件。

  • rpd— 跟踪路由协议进程事件。

您可以为 PPP、L2TP、RADIUS 和用户数据报协议 (UDP) 跟踪指定追踪级别。要配置追踪级别,请在层次结构级别包含[edit services l2tp traceoptions]debug-level语句,并指定以下值之一:

  • detail—详细的调试信息

  • error- 仅错误

  • packet-dump—数据包解码信息

您可以按协议进行过滤。要配置过滤器,请在层次结构级别包含filter protocol[edit services l2tp traceoptions]该语句,并指定以下一个或多个协议值:

  • ppp

  • l2tp

  • radius

  • udp

要按协议名称实施过滤,还必须配置 flag protocolflag all

您还可以在特定的自适应服务接口上为 L2TP 配置 traceoptions。要配置每个接口的跟踪,请在层次结构级别包含[edit services l2tp traceoptions]interfaces语句:

注意:

实现traceoptions会消耗CPU资源,影响数据包处理性能。

您可以为接口指定 debug-level and flag 语句,但选项与常规 L2TP traceoptions 略有不同。您可以将调试级别指定为 detail、 、 errorextensive,以提供完整的 PIC 调试信息。以下标志可用:

  • all——追踪一切。

  • ipc— 跟踪 PIC 与路由引擎之间的 L2TP 进程间通信 (IPC) 消息。

  • packet-dump— 根据调试级别转储每个数据包的内容。

  • protocol— 跟踪 L2TP、PPP 和多链路处理。

  • system— 跟踪 PIC 上的数据包处理。