Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

适用于多域网络的 L2TP 隧道交换

L2TP 隧道交换概述

L2TP 隧道交换,也称为 L2TP 多跳,可简化 L2TP 网络跨多个域的部署。位于 LAC 和 LNS 之间的路由器配置为 L2TP 隧道交换机 (LTS),有时简称为 隧道交换机隧道交换聚合器 (TSA),如 图 1 所示。LTS 同时配置为 LNS 和 LAC。当远程 LAC 将封装的 PPP 数据包发送到 LTS 上配置的 LNS 时,LTS 可以通过不同的隧道将数据包转发或重定向到 LTS 之外的不同 LNS。原始 L2TP 会话的逻辑终止点将切换到其他端点。

例如,在 图 1 所示的网络中,服务提供商 A 调配的用户的数据包最初面向 LTS 上配置的 LNS。LTS 可能会将这些数据包重定向到 LNS1。

图 1:L2TP 隧道交换网络拓扑结构 Network diagram of L2TP setup showing Service Providers A and B connecting to LACs, L2TP Tunnel Switch, and LNSs with green PPPoE and blue L2TP arrows.

当 LAC 的管理域与所需 LNS 的管理域不同时,L2TP 隧道交换可以简化网络配置。例如:

  • LTS 充当多个 LAC 的 LNS。各个 LAC 不必具有识别要终止其会话的最合适的 LNS 所需的管理控制或功能。LTS 执行该功能集中在 LTS 中。

  • LTS 充当多个 LNS 的 LAC。将新的远程 LAC 添加到 ISP 的网络时,ISP 不必重新配置其 LNS 路由器来容纳新的 LAC,因为它们连接到 LTS 上的 LAC。

在第 2 层批发网络中,批发商可以使用 L2TP 隧道交换来创建更扁平、更易于管理的网络配置。批发商将发往不同 ISP(因此也不同的 LNS)的 LAC 第 2 层会话捆绑到单个 L2TP 隧道上。此配置可将通用 L2TP 控制连接用于 LAC。

图 2 显示了针对传入呼叫的 L2TP 隧道切换示例,事件顺序如下:

  1. 用户打开与 LAC 的 PPP 会话。

  2. LAC 创建通往 LTS 上配置的 LNS 的第一个 L2TP 隧道,以及第一个 L2TP 会话以携带封装的 PPP 数据包。

  3. 在第一次会话的身份验证期间,LTS 将根据是否存在在 LTS 上配置的 隧道 交换机配置文件,确定是否将会话重新隧道传输到 LTS 之外的 LNS。

    隧道交换机配置文件可以是默认配置文件,也可由 RADIUS 服务器、域映射配置或隧道组配置应用。

  4. 如果配置了隧道交换机配置文件,LTS 将在配置文件中指定的 LTS 之外创建到 LNS 的第二个隧道(如果尚不存在),并在此隧道中创建第二个会话。

图 2:用于来电 Network diagram showing a PPP user connecting via L2TP to a LAC, then tunneled to an LTS with LNS, illustrating tunnel switching to another LNS.的 L2TP 隧道切换

隧道交换机配置文件的应用

您可以通过多种方式配置要应用的隧道交换机配置文件:

  • 作为全局应用于从所有 LAC 接收的流量的默认配置文件

  • 将域映射应用于订阅者会话后

  • 将隧道组应用于用户会话

  • 在 RADIUS 服务器配置中,在隧道交换机配置文件 VSA (26-91) 中返回

您可以配置多种这样的应用方法。当存在多个隧道交换机配置文件时,以下优先顺序将确定 LTS 使用的配置文件;顺序从最高 (RADIUS) 到最低(默认配置文件):

  1. RADIUS VSA 26-91 >域映射>隧道组>全局隧道交换机配置文件

隧道交换机配置文件还必须引用一个隧道配置文件。此隧道配置文件指定用户数据包切换到的第二个隧道的特征。

LTS 上的隧道交换会话终止

当发生以下任一情况时,隧道交换会话将在 LTS 上终止:

  • LTS 上的 LAC 或 LNS 接口接收呼叫-断开-通知 (CDN) 消息(表 1)。

    表 1:CDN 消息的原因

    CDN 消息在

    LAC 接口

    发生以下任一情况:

    • 无法建立第二个会话。

    • 远程 LNS 终止第二个会话。

    LNS 接口

    发生以下任一情况:

    • PPPoE 客户端启动注销。

    • 始发 LAC 发起隧道终止

    第一次和第二次会话都将终止,因为 LTS 会将 CDN 中继到未接收 CDN 的接口。两个会话的断开连接原因相同。

  • LTS 上的 LAC 或 LNS 接口接收停止控制连接通知 (StopCCN) 消息(表 2)。

    表 2:StopCCN 消息的原因

    StopCCN 消息在

    LAC 接口

    发生以下任一情况:

    • 无法建立第二个会话。

    • 远程 LNS 终止第二个隧道。

    LNS 接口

    始发 LAC 发起隧道终止。

    LTS 不会中继 StopCCN 消息,因为给定隧道可以同时包含交换和非交换会话。在批发场景中的另一个原因是,在 LTS 上的 LNS 上结束的隧道可以包含来自不同提供商的 LAC 的会话。相反,LTS 会向未收到 StopCCN 的接口发送一条 CDN 消息,以终止隧道交换会话。此 CDN 中继 StopCCN 中携带的错误代码。

  • 在 LTS 上发出管理 clear 命令。

表 3 列出了在 LTS 上发出管理clear命令时所采取的作。

表 3:为响应管理清除命令而对交换隧道采取的 LAC、LNS 和 LTS作

命令

LAC 或 LNS作

LTS作

clear services l2tp destination

清除目标以及所有关联的隧道和会话。

对于通向目标的隧道中的每个已交换会话,通过向其发送 CDN 消息(原因设置为管理)来清除相应的映射交换会话。

clear services l2tp destination all

清除所有目标以及所有关联的隧道和会话。

无。

clear services l2tp session

清除会话。

通过向此会话发送原因设置为“管理”的 CDN 消息,清除此会话的相应映射交换会话。

clear services l2tp session all

清除所有会话。

无。

clear services l2tp tunnel

清除隧道及其所有会话。

对于隧道中的每个交换会话,通过向其发送原因设置为“管理”的 CDN 消息来清除相应的映射交换会话。

clear services l2tp tunnel all

清除所有隧道。

无。

交换边界上 L2TP AVP 的隧道切换作

当 L2TP 隧道交换将数据包重定向到不同的 LNS 时,它会在交换边界为 L2TP 消息中携带的每个 AVP 执行以下默认作之一:

  • relay— L2TP 在交换数据包中透明地转发 AVP,无需更改。

  • regenerate— L2TP 忽略第一个隧道和会话协商的接收 AVP。它根据 LTS 的本地策略为第二个会话生成新的 AVP,并在交换数据包中发送此 AVP。本地策略可能会也可能不会使用在第一次会话协商期间收到的 AVP 值。

表 4 列出了每个 AVP 的默认作。来自 LAC 的 L2TP 消息中始终包含强制 AVP;消息中可能包含可选的 AVP。

您可以选择覆盖在交换边界上为承载类型 AVP (18)、主叫号码 AVP (22) 或 Cisco NAS 端口信息 AVP (100) 执行的默认作。您可以将这三个 AVP 中的任何一个配置为从交换的数据包中丢弃或重新生成,也可以恢复默认中继作。

注意:

属性值隐藏的 L2TP AVP 始终在交换边界处重新生成。当数据包转发到远程 LNS 时,该值将被解码并以明文形式发送。

表 4:在交换边界处理 L2TP AVP 的默认作

助理副总裁姓名(编号)

AVP 类型

L2TP 消息类型

默认作

分配的会话 ID (14)

必填

CDN、ICRQ

再生

分配的隧道 ID (9)

必填

SCCRQ

再生

承载能力 (4)

可选

SCCRQ

再生

承载型 (18)

可选

ICRQ

中继

呼叫序列号 (15)

必填

ICRQ

中继

被叫号码 (21)

可选

ICRQ

中继

呼叫号码 (22)

可选

ICRQ

中继

挑战 (11)

可选

SCCRQ

再生

质询响应 (13)

可选

SCCCN

再生

Cisco NAS 端口

可选

ICRQ

中继

故障切换功能

可选

SCCRQ

再生

固件版本 (6)

可选

SCCRQ

再生

成帧功能 (3)

必填

SCCRQ

再生

框架类型 (19)

必填

ICCN

中继

主机名 (7)

必填

SCCRQ

再生

初始接收 LCP CONFREQ (26)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,将重新生成 AVP,而不是中继。

上次收到的 LCP CONFREQ (28)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,将重新生成 AVP,而不是中继。

上次发送的 LCP CONFREQ (27)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,将重新生成 AVP,而不是中继。

消息类型 (0)

必填

全部

再生

物理通道 ID (25)

可选

ICRQ

再生

私有群组 ID (37)

可选

ICCN

中继

协议版本 (2)

必填

SCCRQ

再生

代理奥森挑战赛 (31)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,也会重新协商身份验证,并重新生成 AVP,而不是中继。

代理 Authen ID (32)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,也会重新协商身份验证,并重新生成 AVP,而不是中继。

代理名称 (30)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,也会重新协商身份验证,并重新生成 AVP,而不是中继。

代理 Authen 响应 (33)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,也会重新协商身份验证,并重新生成 AVP,而不是中继。

代理 authen 类型 (29)

可选

ICCN

中继

当使用 LNS 上的客户端配置文件中的语句启用 lcp-negotiation LCP 重新协商时,也会重新协商身份验证,并重新生成 AVP,而不是中继。

接收窗口大小 (10)

可选

SCCRQ

再生

Rx 连接速度 (38)

可选

ICCN

中继

需要测序 (39)

可选

ICCN

再生

子地址 (23)

可选

ICRQ

中继

断领带 (5)

可选

SCCRQ

再生

隧道恢复

可选

SCCRQ

再生

发送连接速度 (24)

必填

ICCN

中继

供应商名称 (8)

可选

SCCRQ

再生

配置 L2TP 通道切换

通过 L2TP 隧道交换,配置为 LTS 的路由器可以将一个 L2TP 会话上携带的 PPP 数据包转发到在不同 LNS 上终止的第二个 L2TP 会话。要配置 L2TP 隧道交换,您必须定义隧道交换机配置文件,然后分配该配置文件。

您可以为全局的所有会话、隧道组中的所有会话、域中的所有会话或要在RADIUS通道交换机配置文件 VSA (26-91) 中返回的RADIUS服务器配置中的所有会话配置隧道交换机配置文件。来自各种来源的隧道交换机配置文件的优先顺序如下:

  • RADIUS VSA 26-91 >域映射>隧道组>全局隧道交换机配置文件

要定义 L2TP 隧道交换机配置文件:

  1. 创建配置文件。
  2. (可选)覆盖在交换边界上为某些 L2TP AVP 执行的默认作。
  3. 指定用于定义将用户流量切换到的隧道的隧道配置文件。
    注意:

    对于隧道交换机配置文件 VSA (26-91) 中指定的隧道交换机配置文件,不需要执行此步骤。

  4. (可选)将配置文件应用为全局默认配置文件,以交换来自 LAC 的所有传入会话的数据包。
  5. (可选)将配置文件作为隧道组的一部分应用,以交换来自隧道组中所有会话的数据包。
    注意:

    隧道组是 LTS 配置的一部分,可充当来自 LAC 的原始会话的 LNS。

    具有隧道交换机配置文件的隧道组还必须包含动态配置文件,因为隧道交换仅支持动态用户。

  6. (可选)将配置文件作为域映射的一部分应用,以交换来自与域关联的所有会话的数据包。
    注意:

    域映射不能同时具有隧道交换机配置文件和隧道配置文件。如果添加另一个,则必须删除另一个。

  7. (可选)在对来自 LAC 的会话进行身份验证时返回的 RADIUS Access-Accept 消息中,通过 Tunnel-Switch-Profile VSA [26–91] 应用配置文件。请参阅 RADIUS 服务器的文档,以确定如何配置此方法。
    注意:

    由隧道交换机配置文件 VSA (26-91) 中的 RADIUS 服务器指定的隧道交换机配置文件优先于 CLI 配置中指定的隧道交换机配置文件。如果除隧道交换机配置文件 VSA (26-91) 外还接收了隧道组 VSA (26-64),则隧道交换机配置文件 VSA (26-91) 优先于隧道组 VSA (26-64),从而确保用户通过隧道交换而不是 LAC 隧道进行隧道传输。

例如,请考虑以下配置。这将创建三个隧道交换机配置文件:l2tp-隧道-switch-profile、lts-profile-groupA 和 lts-profile-example-com:

MX 系列设备的示例 LTS(第 2 层隧道交换)配置如下:

配置文件 l2tp-隧道-switch-profile 将用作全局默认值。根据此配置文件交换数据包时,L2TP 数据包中的承载类型 AVP (18) 和主叫号码 AVP (22) 的值将根据 L2TP 隧道交换机上的本地策略重新生成,然后随数据包一起发送。Cisco NAS 端口信息 AVP (100) 被简单地丢弃。最后,l2tp-隧道-profile1 提供流量切换到的隧道的配置特征。

隧道交换机配置文件 lts-profile-groupA 通过隧道组 groupA 应用;它指定不同的隧道配置文件 l2tp-隧道-profile2,并且不会覆盖任何 AVP作。隧道交换机配置文件 lts-profile-example.com 通过 example.com 域的域映射来应用;它指定了不同的隧道配置文件 l2tp-隧道-profile3,并且不会覆盖任何 AVP作。

设置 L2TP 接收窗口大小

您可以为 L2TP 隧道配置 L2TP 接收窗口大小。接收窗口大小指定对等方在等待来自路由器的确认之前可以发送的数据包数。

默认情况下,接收窗口大小设置为四个数据包。如果接收窗口大小设置为其默认值,则路由器不会在隧道协商期间发送到对等方的第一个数据包中发送接收窗口大小 AVP AVP 10。

要配置接收窗口大小,请执行以下作:

设置 L2TP 隧道空闲超时

您可以配置 LAC 或 LNS,以指定没有任何会话的隧道保持活动状态多长时间。空闲计时器在隧道上的最后一个会话终止时启动。计时器到期时,隧道将断开连接。此空闲超时可释放非活动隧道会消耗的资源。

如果将空闲超时值设置为零,则在最后一个会话终止后,隧道将强制无限期保持活动状态,直到发生以下情况之一:

  • 您发出命令 clear services l2tp tunnel

  • 远程对等方断开隧道连接。

最佳实践:

在降级到不支持此语句的 Junos OS 版本之前,建议您在层次结构级别包含[edit services l2tp tunnel]no idle-timeout语句,以显式取消配置该功能。

要设置隧道空闲超时:

  • 配置超时期限。

设置 L2TP 销毁超时

您可以配置 LAC 或 LNS,以指定路由器在动态目标、隧道和会话被销毁后尝试维护它们的时间长短。此销毁超时通过在目标、隧道或会话终止后保存底层内存结构来帮助调试和其他分析。如果必须尽早回收资源以允许建立新隧道,则在整个时间段内不得维护任何特定的动态目标、隧道或会话。

最佳实践:

在降级到不支持此语句的 Junos OS 版本之前,建议您在层次结构级别包含[edit services l2tp]no destruct-timeout语句,以显式取消配置该功能。

要设置 L2TP 销毁超时:

  • 配置超时期限。

配置 L2TP 目标锁定超时

当多组隧道参数可用时,L2TP 使用选择过程来为用户流量选择最佳隧道。作为此选择过程的一部分,当订阅者尝试访问某个域时,L2TP 会将其锁定无法连接的目标。L2TP 将目标放在目标锁定列表中,并在称为 目标锁定超时的可配置时间段内将目标排除在考虑范围之外。

默认情况下,目标锁定超时为 300 秒(5 分钟)。可以配置 60 到 3600 秒(1 分钟到 1 小时)的值。当锁定超时到期时,L2TP 会假定目标现在可用,并在执行隧道选择过程时包含该目标。目标锁定期是一个全局值,不可针对特定目标、隧道或隧道组单独配置。

注意:

通常,在锁定计时器到期之前,无法使用锁定的目标。但是,当 L2TP 执行隧道选择过程时,在某些情况下,它会清除锁定目标的锁定计时器。有关选择过程的详细信息,请参阅 LAC 隧道选择概述中的配置优先级之间的故障切换时的选择和配置优先级内故障切换时的选择

最佳实践:

将锁定超时配置为等于或短于销毁超时。否则,销毁超时将在锁定超时之前过期。在这种情况下,锁定的目标将被销毁,随后可以在锁定超时到期之前返回服务,从而否定锁定超时的有效性。

要配置目标锁定超时,请执行以下作:

  • 指定周期(以秒为单位)。

show services l2tp destination lockout 命令显示目标锁定列表,并指示每个目标在其超时到期之前还剩多少时间。该 show services l2tp destination detail 命令指示每个目标是否已锁定并等待超时过期或未锁定。

从目标锁定列表中移除 L2TP 目标

当 PPP 订阅者尝试登录到域时,L2TP 会选择与该域中的目标关联的隧道并尝试访问该目标。如果连接尝试失败,L2TP 会将目标放在目标锁定列表中。在称为 目标锁定超时的可配置时间段内,此列表中的目标将从后续连接的考虑范围中排除。

您可以为特定目标发出 request services l2tp destination unlock 命令,以将其从目标锁定列表中删除。结果是,当订阅者登录到关联的域时,此目标可立即可供考虑。

要从目标锁定列表中删除目标:

  • 指定要解锁的目标的名称。

配置 L2TP 清空

出于管理目的,您可以将 L2TP 目标或隧道的状态设置为清空。这可以防止在 L2TP LAC 和 LNS 上创建新的会话、隧道和目标。

您可以在全局级别或为特定目标或隧道配置 L2TP 清空。如果在全局 L2TP 级别配置该功能,则无法创建新的目标、隧道或会话。如果为特定目标配置了该功能,则无法在该目标上创建新的隧道或会话。同样,如果为特定隧道配置了该功能,则无法为该隧道分配新会话,但可以创建新的目标和隧道。

  • 要防止为 L2TP 创建新的会话、目标和隧道:
  • 要防止在特定目标上创建新的隧道和会话,请执行以下作:
  • 要防止在特定隧道上创建新会话:
    注意:

    隧道 name 是本地分配的隧道名称,格式如下: destination-name/tunnel-nametunnel-name如果仅提供 , tunnel-name 则必须包含该 address ip-address 语句来标识隧道的目的地。

配置此功能后,、 和 的show services l2tp summary命令输出会将 L2TP 会话、目标和隧道的状态显示为 Drainshow services l2tp tunnel show services l2tp destination

使用相同的 L2TP 隧道注入和复制 IP 数据包

您可以将用于用户安全策略镜像的同一 L2TP 隧道配置用于数据包复制。复制的数据包用于向客户或网络注入流量。所有订阅者访问模式都支持数据包注入或传输。单个 L2TP 隧道用于数据包传输和数据包复制。在 L2TP 隧道的一端配置为复制数据包的端口或接口连接到另一个隧道端点。隧道的另一个端点可以使用 L2TP 隧道将 IP 数据包发送到为数据包复制配置的端口或接口,在该接口上收到的 IP 数据包可以转发给客户,也可以像从客户那里收到一样发送。

远程隧道端点发送一个 IP 隧道数据包,有效负载中包含以太网 MAC 地址。如果有效负载数据包的目标 MAC 地址包含路由器的 MAC 地址,则以太网数据包将沿传出方向发送到网络,并像在客户端口上收到一样进行处理和转发。如果有效负载数据包的源 MAC 地址包含路由器的 MAC 地址,则以太网数据包将沿传出方向传输到客户端口。如果隧道未包含配置的接收 cookie,则不会进行数据包注入。在这种情况下,计算和丢弃任何接收到的隧道数据包的方式与计算和丢弃带有错误 cookie 的数据包的方式相同。

要配置要复制的数据包并将其发送到客户或网络(基于以太网有效负载中的 MAC 地址),请在层次结构级别包含decapsulate l2tp output-interface interface-name cookie l2tpv3-cookie[edit firewall family family-name filter filter-name term term-name then]该语句。您还可以通过在层次结构级别包含 [edit firewall family family-name filter filter-name term term-name then] the count counter-name 语句,为重复或解封装的 L2TP 数据包配置计数器