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 通道交换网络拓扑结构 L2TP Tunnel Switching Network Topology

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

  • LTS 充当多个 LAC 的 LNS。各个 LAC 不必具备所需的管理控制或能力来确定终止其会话的最合适 LN。LTS 执行该功能集中在 LTS 中。

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

在第 2 层批发网络中,批发商可以使用 L2TP 隧道切换来创建更扁平、更易于管理的网络配置。批发商将来自 LAC 的第 2 层会话捆绑到一个 L2TP 隧道上,这些会话发往不同的 ISP,因而也发往不同的 LNS。此配置允许将通用 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:来电 L2TP Tunnel Switching for Incoming Calls的 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 接口会接收 Stop-Control-Connection-Notification (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 消息(原因设置为 Administrative)来清除相应的映射交换会话。

clear services l2tp destination all

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

没有。

clear services l2tp session

清除会话。

通过向此会话发送 CDN 消息(原因设置为 Administrative),清除此会话的对应映射交换会话。

clear services l2tp session all

清除所有会话。

没有。

clear services l2tp tunnel

清除隧道及其所有会话。

对于隧道中的每个交换会话,向相应的映射交换会话发送一条 CDN 消息(原因设置为 Administrative),以清除该会话映射。

clear services l2tp tunnel all

清除所有隧道。

没有。

交换边界处 L2TP AVP 的通道切换操作

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

  • relay—L2TP 透明地转发交换数据包中的 AVP,不做任何更改。

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

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

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

注意:

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

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

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)

中继

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

上次收到 LCP CONFREQ (28)

自选

国际刑事法院 (ICCN)

中继

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

最后发送 LCP CONFREQ (27)

自选

国际刑事法院 (ICCN)

中继

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

消息类型 (0)

命令的

再生

物理通道 ID (25)

自选

ICRQ

再生

专用组 ID (37)

自选

国际刑事法院 (ICCN)

中继

协议版本 (2)

命令的

SCCRQ

再生

代理身份验证挑战 (31)

自选

国际刑事法院 (ICCN)

中继

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

代理身份验证 ID (32)

自选

国际刑事法院 (ICCN)

中继

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

代理身份验证名称 (30)

自选

国际刑事法院 (ICCN)

中继

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

代理身份验证响应 (33)

自选

国际刑事法院 (ICCN)

中继

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

代理身份验证类型 (29)

自选

国际刑事法院 (ICCN)

中继

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

接收窗口大小 (10)

自选

SCCRQ

再生

接收连接速度 (38)

自选

国际刑事法院 (ICCN)

中继

需要排序 (39)

自选

国际刑事法院 (ICCN)

再生

子地址 (23)

自选

ICRQ

中继

拉丝断路器 (5)

自选

SCCRQ

再生

隧道恢复

自选

SCCRQ

再生

发送连接速度 (24)

命令的

国际刑事法院 (ICCN)

中继

供应商名称 (8)

自选

SCCRQ

再生

配置 L2TP 通道切换

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

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

  • 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 服务器的文档,以确定如何配置此方法。
    注意:

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

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

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

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

隧道交换机配置文件 lts-profile-groupA 通过隧道组 groupA 应用;它指定不同的隧道配置文件 l2tp-tunnel-profile2,并且不会覆盖任何 AVP 操作。通过 example.com 域的域映射应用隧道交换机配置文件 lts-profile-example.com;它指定不同的隧道配置文件 l2tp-tunnel-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 destination、、的命令show services l2tp tunnel输出show services l2tp summary将 L2TP 会话、目标和隧道的状态显示为 Drain

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

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

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

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