Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

L2TP LNS 内联服务接口

使用内联服务接口配置 L2TP LNS

开始配置之前,必须先安装 L2TP LNS 功能许可证。否则,将在提交配置时显示警告消息。

要使用内联服务接口配置 L2TP LNS:

  1. (可选)配置用户组配置文件,用于定义隧道订阅者的 PPP 配置。
  2. (可选)为内联服务接口上的用户配置 PPP 属性。
  3. 配置内联 IP 重装。
  4. 配置一个 L2TP 访问配置文件,用于定义每个 LNS 客户端 (LAC) 的 L2TP 参数。
  5. (可选)配置 AAA 访问配置文件以覆盖在路由实例下配置的访问配置文件。
  6. 配置要动态分配给隧道式 PPP 用户的地址池。
  7. 配置对等接口以终止隧道和 PPP 服务器端 IPCP 地址。
  8. 在 MPC 上启用内联服务接口。
  9. 配置服务接口。
  10. 为每个内联服务逻辑接口配置选项。
  11. (可选)配置聚合内联服务接口和 1:1 有状态冗余。
  12. 配置 L2TP 隧道组。
  13. (可选)配置动态创建 L2TP 逻辑接口的动态配置文件。
  14. (可选)为动态 LNS 会话配置服务接口池。
  15. (可选)指定 L2TP 重新传输未确认控制消息的次数。
  16. (可选)指定隧道在拆除之前可以保持空闲状态的时间。
  17. (可选)指定 L2TP 隧道的 L2TP 接收窗口大小。接收窗口大小指定对等方在等待来自路由器的确认之前可以发送的数据包数。
  18. (可选)指定 L2TP 保留有关已终止动态隧道、会话和目标的信息多长时间。
  19. (可选)配置 L2TP 目标锁定超时。
  20. (可选)配置 L2TP 隧道切换。
  21. (可选)阻止为 L2TP 创建新的会话、目标或隧道。

    请参阅 配置 L2TP 清空

  22. (可选)配置是协商L2TP故障切换协议,还是使用静默故障切换方式进行重新同步。
  23. (可选)启用 SNMP 统计计数器。
  24. (可选)配置用于配置故障排除的追踪选项。

您还需要为 LNS 会话配置 CoS。有关更多信息,请参阅 为 L2TP LNS 内联服务配置动态 CoS

将 PPP 属性应用于每个内联服务接口的 L2TP LNS 订阅者

您可以配置 PPP 属性,这些属性由内联服务 (si) 接口上的 LNS 应用于从 LAC 隧道建立的 PPP 用户。由于您配置的是每个接口的属性,而不是使用用户组配置文件,因此用户可以使用更精细的粒度来更改订阅者的属性。此配置与用于已终止 PPPoE 用户的配置匹配。

要为动态创建的 SI 接口配置 PPP 属性:

  1. 动态配置文件中指定预定义的动态接口和逻辑接口变量。
  2. 为 LNS 上终止的 L2TP 隧道配置 PPP 激活消息之间的间隔。
  3. 配置适用于 LNS 隧道式 PPP 用户的 PPP 身份验证方法。
  4. 指定一组 AAA 选项,用于对通过 AAA 选项集中指定的订阅者和 AAA 上下文登录的 LNS 上的隧道式 PPP 用户进行身份验证和授权。

    选项集通过层次结构级别的[edit access]语句进行aaa-options aaa-options-name配置。

  5. 配置路由器,以便在 LNS 上的隧道式 PPP 用户进行 IPCP 协商期间,提示客户端设备 (CPE) 协商主 DNS 地址和辅助 DNS 地址。
  6. (可选)在 LCP 协商期间和 LCP 激活(echo-request/echo-reply)交换中禁用 PPP 幻数的验证。防止将接收到的幻数与内部生成的幻数进行比较,以免不匹配导致会话终止。

要为静态创建的 SI 接口配置 PPP 属性:

  1. 指定逻辑内联服务接口。

  2. 为 LNS 上终止的 L2TP 隧道配置 PPP 激活消息之间的间隔。

  3. 配置在网络关闭链路之前,目标必须无法接收的激活数据包数。

    注意:

    keepalives up-count 选项通常不用于订阅者管理。

  4. 配置适用于 LNS 隧道式 PPP 用户的 PPP 身份验证方法。

  5. 配置路由器,以便在 LNS 上的隧道式 PPP 用户进行 IPCP 协商期间,提示客户端设备 (CPE) 协商主 DNS 地址和辅助 DNS 地址。

最佳实践:

尽管支持从属于 ppp-options(包括从属于 chap pap和 ) 的所有其他语句,但它们通常不用于订阅者管理。建议将这些其他语句保留为默认值。

注意:

您还可以使用用户组配置文件配置 PPP 属性,该配置文件将属性应用于 LAC 客户端上具有该配置文件的所有用户。更多信息,请参阅将 PPP 属性应用于具有用户组配置文件的 L2TP LNS 订阅者 。在 si 接口和用户组配置文件中为 L2TP LNS 订阅者配置 PPP 属性时,内联服务接口配置优先于用户组配置文件配置。

注意:

当在组配置文件和动态配置文件中均配置了 PPP 选项时,当动态配置文件包含可在组配置文件中配置的一个或多个 PPP 选项时,动态配置文件配置将完全优先于组配置文件。完全优先级意味着配置文件之间没有选项合并。仅当动态配置文件不包含组配置文件中可用的任何 PPP 选项时,组配置文件才会应用于用户。

将 PPP 属性应用于具有用户组配置文件的 L2TP LNS 订阅者

您可以配置用户组配置文件,使 LNS 能够将 PPP 属性应用于从 LAC 隧道建立的 PPP 用户。用户组配置文件与 L2TP 访问配置文件中的客户端 (LAC) 相关联。因此,由给定客户端处理的所有订阅者共享相同的PPP属性。

要配置用户组配置文件:

  1. 创建配置文件。
  2. 为 LNS 上终止的 L2TP 隧道配置 PPP 激活消息之间的间隔。
    注意:

    对用户组配置文件中的激活间隔的更改仅影响更改后启动的新 L2TP 会话。现有会话不受影响。

  3. 配置适用于 LNS 隧道式 PPP 用户的 PPP 身份验证方法。
  4. 指定一组 AAA 选项,用于对通过 AAA 选项集中指定的订阅者和 AAA 上下文登录的 LNS 上的隧道式 PPP 用户进行身份验证和授权。

    选项集通过层次结构级别的[edit access]语句进行aaa-options aaa-options-name配置。

  5. 配置路由器,以便在 LNS 上的隧道式 PPP 用户进行 IPCP 协商期间,提示客户端设备 (CPE) 协商主 DNS 地址和辅助 DNS 地址。
  6. (可选)禁用数据包转发引擎对在 LCP 激活(回显-请求/回显-回复)交换中从远程对等方收到的 PPP 魔数执行验证检查。当会话数与 LCP 协商期间商定的值不匹配时,这可以防止 PPP 终止会话。当远程 PPP 对等方在激活数据包中包含任意幻数时,此功能非常有用。当远程对等方魔数为预期协商号码时,配置此语句不会影响 LCP 魔数协商或激活交换。
  7. 配置 PPP 用户会话在被视为超时之前可以处于空闲状态的时间。
注意:

您还可以为每个接口配置 PPP 属性。更多信息,请参阅将 PPP 属性应用于每个内联服务接口的 L2TP LNS 订阅者 。在 si 接口和用户组配置文件中为 L2TP LNS 订阅者配置 PPP 属性时,内联服务接口配置优先于用户组配置文件配置。

注意:

当在组配置文件和动态配置文件中均配置了 PPP 选项时,当动态配置文件包含可在组配置文件中配置的一个或多个 PPP 选项时,动态配置文件配置将完全优先于组配置文件。完全优先级意味着配置文件之间没有选项合并。仅当动态配置文件不包含组配置文件中可用的任何 PPP 选项时,组配置文件才会应用于用户。

在 LNS 上配置 L2TP 访问配置文件

访问配置文件定义如何验证第 2 层隧道协议 (L2TP) 连接和会话请求。在每个 L2TP 访问配置文件中,配置一个或多个客户端 (LAC)。客户端特征用于通过匹配密码对 LAC 进行身份验证,并建立客户端隧道和会话的属性。您可以在每个配置文件中配置多个访问配置文件和多个客户端。

要配置 L2TP 访问配置文件,请执行以下作:

  1. 创建访问配置文件。
  2. 为一个或多个客户端 (LAC) 配置特征。
    注意:

    除客户端的 default 特殊情况外,您在访问配置文件中配置的 LAC 客户端名称必须与 LAC 的主机名匹配。如果瞻博网络路由器充当 LAC,则主机名将在 LAC 隧道配置文件中使用层次结构级别的 [edit access tunnel-profile profile-name tunnel tunnel-id source-gateway] gateway gateway-name 语句进行配置。或者,可以从 RADIUS 的属性 Tunnel-Client-Auth-Id [90] 中返回客户端名称。

    注意:

    当要定义默认隧道客户端时,请用作 default 客户端名称。默认客户端支持对具有相同密钥和 L2TP 属性的多个 LAC 进行身份验证。例如,当将许多新的 LAC 添加到网络时,此行为非常有用,因为它使 LAC 无需额外 LNS 配置文件配置即可使用。

    仅在 MX 系列路由器上使用 default 。M Series 路由器上的等效客户端名称为 *

  3. (可选)指定覆盖全局访问配置文件和隧道组 AAA 访问配置文件的本地访问配置文件,以便为客户端配置 RADIUS 服务器设置。
  4. 配置 LNS 以与 PPP 客户端重新协商链路控制协议 (LCP)。 从客户端以隧道方式传输。
  5. 配置一个或多个动态服务配置文件,以将服务应用于 LAC 上的所有用户。您可以选择将参数传递给同一语句中的服务。
  6. 配置来自客户端 (LAC) 的隧道中允许的最大会话数。
  7. LNS 配置为在 L2TP 会话数达到配置的最大值时,在发送到 LAC 的 CDN 消息中,使用结果代码 2 覆盖结果代码 4 和 5。某些第三方 LAC 无法故障转移到其他 LNS,除非结果代码的值为 2。
  8. 配置用于对客户端 (LAC) 进行身份验证的隧道密码。
  9. (可选)关联包含 PPP 属性的组配置文件,以申请从此 LAC 客户端以隧道传输的 PPP 会话。
    注意:

    如果修改或删除,使用此 user-group-profile 第 2 层通道协议客户端配置的现有 LNS 用户将关闭。

在 LNS 上配置 AAA 本地访问配置文件

对于某些 LNS 隧道,您可能希望使用特定 RADIUS 服务器配置覆盖在托管隧道的路由实例上配置的访问配置文件。为此,您可以配置本地访问配置文件。随后,您可以使用该 aaa-access-profile 语句将本地访问配置文件应用于隧道组或 LAC 客户端。

应用于客户端的本地访问配置文件会覆盖应用于隧道组的本地访问配置文件,而本地访问配置文件又会覆盖路由实例的访问配置文件。

要配置 AAA 本地访问配置文件,请执行以下作:

  1. 创建访问配置文件。
  2. 配置 AAA 身份验证方法的顺序。
  3. 配置 RADIUS 服务器属性,例如身份验证密码。

为使用内联服务的 L2TP LNS 配置地址分配池

您可以配置可动态分配给隧道 PPP 用户的地址池。池必须是订阅者启动的路由实例的本地池。配置的池在 RADIUS Framed-Pool 和 Framed-IPv6-Pool 属性中提供。当 RADIUS 发送Framed-IP 地址时,池是可选的。

要配置地址分配池,您必须指定池的名称和池的地址。

您可以选择在地址分配池中配置多个地址命名范围或子集。在动态地址分配期间,可以为客户端分配特定命名范围内的地址。要创建命名范围,请指定范围的名称并定义地址范围。

注意:

请务必使用 address-assignment pools (address-assignment) 语句,而不是 address pools (address-pool) 语句。

有关地址分配池的详细信息,请参阅地址 分配池概述地址分配池配置概述

要为 L2TP LNS 配置 IPv4 地址分配池:

  1. 配置池的名称并指定 IPv4 家族。
  2. 配置池中地址的网络地址和前缀长度。
  3. 配置范围的名称以及范围中地址的下限和上限。

例如,要配置 IPv4 地址分配池:

要为 L2TP LNS 配置 IPv6 地址分配池:

  1. 配置池的名称并指定 IPv6 家族。

  2. 为地址池配置 IPv6 网络前缀。配置 IPv6 地址分配池时,需要前缀规格。

  3. 配置范围的名称并定义范围。您可以根据范围内前缀的下限和上限来定义范围,也可以根据范围内前缀的长度来定义范围。

例如,要配置 IPv6 地址分配池:

配置 L2TP LNS 对等接口

对等接口将 LNS 连接到云,朝向 LAC,以便在隧道端点之间交换 IP 数据包。MPLS 和聚合以太网也可用于到达 LAC。

注意:

在 MX 系列路由器上,您必须在 MPC 上配置对等接口。

要配置 LNS 对等接口,请执行以下作:

  1. 指定接口名称。
  2. 启用 VLAN。
  3. 指定逻辑接口,将 VLAN 标记 ID 绑定到接口,并为逻辑接口配置地址族和 IP 地址。
    注意:

    IPv6 地址族不支持作为隧道端点。

启用内联服务接口

内联服务接口是驻留在数据包转发引擎上的虚拟物理接口。此 si 接口称为 锚点 接口,无需特殊服务 PIC 即可提供 L2TP 服务。只有 MX 系列路由器上的 MPC 支持内联服务接口。每个 MPC 占用的机箱插槽可配置四个内联服务接口。

注意:

在 MX80 和 MX104 路由器上,您只能将四个内联服务物理接口配置为 L2TP LNS 会话的锚点接口:si-1/0/0、si-1/1/0、si-1/2/0 和 si-1/3/0。无法在 MX80 和 MX104 路由器上为此配置 si-0/0/0。

虽然带宽值的范围为 1 Gbps 到 400 Gbps,但您不能以 12,345,878,000 bps 等绝对数字配置带宽。您必须使用 CLI 语句中的可用选项:

  • 1g

  • 10g100g 10 Gbps 的增量实现:10g、、 70g40g90g30g50g60g80g20g100g

  • 100g400g 100 Gbps 的 100g增量:、 200g300g400g

可用最大带宽因 MPC 而异,如 表 1 所示。当您配置的带宽高于 MPC 支持的带宽时,将生成系统日志消息。

表 1:每个 MPC 的内联服务最大带宽

MPC

支持的最大带宽

MPC2E NG、MPC2E NG Q、

80 Gbps

MPC3E NG、MPC3E NG、Q

130 Gbps

100GE 和 40GE MPC3 和 MIC

40 Gbps

MPC4E

130 Gbps

MPC5E

130 Gbps

MPC6E

130 Gbps

MPC7E

240 Gbps

MPC8E

240 Gbps

400 Gbps(1.6 Tbps 升级模式)

MPC9E

400 Gbps

要启用内联服务接口,请执行以下作:

  1. 访问要启用接口的 MPC 占用的插槽和 PIC。
  2. 启用该接口,并可选择指定在每个数据包转发引擎上为使用内联服务的隧道流量预留的带宽量。从 Junos OS 16.2 版开始,您无需使用内联服务显式指定 L2TP LNS 隧道流量的带宽。如果不指定带宽,PIC 支持的最大带宽将自动用于内联服务;内联服务最多可以使用此最大值。在早期版本中,使用语句启用 inline-services 内联服务时必须指定带宽。

为 L2TP LNS 配置内联服务接口

内联服务接口是驻留在数据包转发引擎上的虚拟物理服务接口。此 si 接口称为 锚点 接口,无需特殊服务 PIC 即可提供 L2TP 服务。只有 MX 系列路由器上的 MPC 支持内联服务接口。每个 MPC 占用的机箱插槽可配置四个内联服务接口。

通过将最大层级数设置为 2,可以最大限度地增加一个服务接口中可整形的会话数。在这种情况下,每个 LNS 会话都会使用调度器层次结构中的一个 L3 节点进行整形。

如果未指定级别数(两个是唯一选项),则可在服务接口上整形的 LNS 会话数将限制为 L2 节点数,即 4096 个会话。其他会话仍会启动,但尚未成型。

要配置内联服务接口,请执行以下作:

  1. 访问服务接口。
  2. (可选;仅适用于按会话进行整形)为分层调度器启用内联服务接口,并将调度器级别数限制为两个。
  3. (可选;仅适用于按会话进行整形)为内联服务接口配置服务封装。
  4. 在保留单元 0 逻辑接口上配置 IPv4 家族。

为 LNS 内联服务逻辑接口配置选项

您必须为 LNS 配置的每个内联服务逻辑接口指定特性—dial-options。MX 系列路由器上的 LNS 仅支持每个逻辑接口一个会话,因此您必须将其配置为接口 dedicated ;不支持该 shared 选项。(M Series 路由器上的 LNS 支持 dedicatedshared 选项。)您还可以为逻辑接口配置一个与您在访问配置文件中指定的名称匹配的标识名称。

您必须为每个静态逻辑接口指定地址族,或者在动态 LNS 接口的动态配置文件中指定inet地址族。尽管 CLI 接受静态逻辑接口中的任意inet6一个inet接口,但除非配置地址族inet,否则用户无法成功登录。

注意:

有关动态接口配置,请参阅 为动态 LNS 会话配置动态配置文件

要配置静态逻辑接口选项:

  1. 访问内联服务逻辑接口。
  2. 为逻辑接口指定标识符。
  3. 将逻辑接口配置为一次仅用于一个会话。
  4. 为每个逻辑接口配置地址族,并在 LNS 上启用本地地址,以便为要从指定接口名称派生的 L2TP 隧道提供本地终端。

LNS 1:1 有状态冗余概述

默认情况下,当内联服务 (si) 锚点接口中断时(例如,当托管该接口的卡出现故障或重新启动时),L2TP 用户流量将丢失。当隧道的 PPP 激活计时器随后到期时,控制平面将关闭,PPP 客户端将断开连接。因此,客户端必须重新连接。

在这些情况下,您可以通过配置聚合内联服务接口 (asi) 捆绑包来提供 1:1 状态冗余(也称为热备用或主动备份冗余)来避免流量丢失。该捆绑包由一对 si 物理接口、主(活动)成员链路和辅助(备用或备份)成员链路组成。这些接口必须配置在不同的 MPC 上;如果在同一 MPC 上配置主接口和辅助接口,则无法实现冗余,因为如果卡出现故障,两个成员接口都会关闭。

当用户登录并配置了 1:1 冗余时,将通过 asi0 物理接口上的底层虚拟逻辑接口 (asi.0x) 建立 L2TP 会话。在底层接口上创建各个用户逻辑接口,格式为 asiX.logical-unit-number。如果托管主成员链路接口的 MPC 发生故障或重新启动,会话将保持开启状态。发往此 L2TP 会话的所有数据流量都会自动转移到另一个 MPC 上的辅助成员链路接口。

在聚合内联服务接口上配置 1:1 LNS 状态式冗余

您可以创建聚合内联服务接口 (asi) 捆绑包,为内联服务 (si) 锚点接口提供 1:1 LNS 状态式冗余。该捆绑包将驻留在不同 MPC 上的两个接口配对为主链路和辅助链路。随后通过虚拟逻辑接口 asiX 建立 LNS 会话。logical-unit-number当主锚点接口关闭或使用命令重新 request chassis fpc restart 启动卡时,将发生 LNS 会话故障切换。发生这种情况时,位于不同 MPC 上的辅助链路将变为活动状态,并且发往该会话的所有 LNS 数据流量都会自动转移到辅助接口。用户会话在 ASIX 上保持开启状态。logical-unit-number 虚拟接口。不会丢失任何流量统计信息。如果未配置此冗余,用户流量将丢失,keepalive 将过期,并且 PPP 客户端将断开连接,必须重新连接。

开始之前,您必须执行以下作:

最佳实践:

请遵循以下准则:

  • 您必须为每个捆绑包进行配置 unit 0 family inet ;否则,会话将无法启动。

  • 主(活动)和辅助(备份)接口必须位于不同的 MPC 上。

  • 在层次结构级别上 [edit chassis fpc slot pic number inline-services bandwidth] 配置的带宽必须为两个成员链路相同。

  • 配置为聚合内联服务接口捆绑包成员的 si 接口不能配置为其他捆绑包组的成员。

  • 配置为聚合内联服务接口包成员的 si 接口也不能用于与聚合服务无关的任何功能;例如,它不能用于内联 IP 重装。

  • 将 si 接口配置为聚合内联服务捆绑包的成员时,无法再单独配置该 si 接口。您只能配置父捆绑包;捆绑包的配置将立即应用到所有成员接口。

要配置 1:1 LNS 有状态冗余:

  1. 在一个 MPC 上,指定捆绑包中的主(活动)内联服务成员链路。
  2. 使用主内联服务接口配置此 MPC 上为隧道流量预留的带宽量。
  3. 在不同的 MPC 上,指定捆绑包中的辅助(备份)内联服务成员链路。
    注意:

    如果在同一 MPC 上配置活动和备份成员链路,则配置的后续提交将失败。

  4. 使用辅助内联服务接口配置此 MPC 上为隧道流量预留的带宽量。
  5. 通过以下任一方法将聚合的内联服务接口包分配给 L2TP 隧道组:
    • 通过指定聚合内联服务物理接口的名称来分配单个捆绑包。

    • 将一个或多个捆绑包池分配给隧道组。

      注意:

      一个游泳池可以混合;也就是说,它既可以包括聚合的内联服务接口包,也可以包括单独的内联服务接口。各个接口不得是现有捆绑包的成员。

以下示例配置在插槽 1 和插槽 2 的 MPC 上创建带有成员链路的捆绑包 asi0,然后分配捆绑包,以便为隧道组 tg1 上的 L2TP 会话提供冗余:

验证 LNS 聚合内联服务接口 1:1 冗余

目的

查看有关聚合的内联服务接口包、单个成员链路和冗余状态的信息。

行动

  • 要查看有关聚合内联服务接口捆绑包的摘要信息:

  • 要查看有关聚合内联服务接口捆绑包的详细信息:

  • 要查看聚合内联服务接口束中单个成员接口的相关信息:

  • 要查看聚合内联服务接口包的冗余状态:

    该示例输出显示,聚合以太网和聚合内联服务接口均配置了冗余。要仅显示一个聚合的内联服务接口包:

  • 要查看有关所有已配置冗余接口的详细信息:

服务接口的 L2TP 会话限制和负载平衡

LNS 根据接口上当前处于活动状态的会话数,在设备池中的可用服务接口之间均衡用户会话负载。您可以为每个服务接口 (si) 和每个聚合服务接口 (asi) 配置最大限制。对于 ASI 接口,您无法为捆绑包中的单个 SI 成员接口配置限制。

服务接口上的会话限制

为某个服务接口发起 L2TP 会话请求时,LNS 会根据单个服务接口或聚合服务接口允许的最大会话数来检查该接口上的当前活动会话数。LNS 确定当前会话计数(由命令显示 show services l2tp summary )是否小于配置的限制。当该值为真或未配置限制时,检查将通过,并且可以建立会话。如果当前会话计数等于配置的限制,则 LNS 将拒绝会话请求。在活动请求数低于配置的最大值之前,该接口上不能接受任何后续请求。当 si 或 asi 接口的会话请求被拒绝时,LNS 将返回一条 CDN 消息,其中结果代码设置为 2,错误代码设置为 4。

例如,假设在隧道组中配置了单个服务接口。当前 L2TP 会话计数为 1500,配置限制为 2000 个会话。当请求新会话时,限制检查通过,会话请求将被接受。

接口

配置的会话限制

当前会话计数

会话限制检查结果

SI-0/0/0

2000

1500

通行证

限制检查将继续通过,并接受会话请求,直到接受 500 个请求,使当前会话计数为 2000,与配置的最大值匹配。所有后续请求的会话限制检查都将失败,并且所有请求都将被拒绝,直到接口上的当前会话计数降至 2000 以下,以便限制检查可以通过。

接口

配置的会话限制

当前会话计数

会话限制检查结果

SI-0/0/0

2000

2000

失败

当接口的会话限制设置为零时,不能接受任何会话请求。如果该接口是隧道组中的唯一接口,则该组中的所有会话请求都将被拒绝,直到会话限制从零增加或将另一个服务接口添加到隧道组。

当服务设备池中的服务接口达到最大配置限制或配置限制为零时,LNS 将在发出会话请求时跳过该接口,并在池中选择另一个接口来检查会话限制。这种情况一直持续到接口通过且会话被接受,或者池中没有其他接口保留在要选择为止。

跨服务接口的会话负载平衡

服务设备池中会话负载分配的行为在 Junos OS 16.2 版中发生了变化。如果一个服务接口的会话数低于池中的另一个接口,且两个接口都低于其最大会话限制,则后续会话将分发到会话数较少的接口。

在早期版本中,会话以严格的轮询方式分配,而不考虑会话计数。当数据包转发引擎重新启动或服务接口宕机并重新启动时,旧行为可能会导致会话分布不均匀。

例如,请考虑以下场景,对具有两个服务接口的池使用旧的轮询分配行为:

  1. 200 个会话均匀分布在两个服务接口上。

    • SI-0/0/0 有 100 个会话。

    • SI-1/0/0 有 100 个会话。

  2. si-1/0/0 接口将重新启动。当它返回时,最初会话仅在 si-0/0/0 上启动。

    • SI-0/0/0 有 100 个会话。

    • SI-1/0/0 有 0 个会话。

  3. 当之前在 si-1/0/0 上的会话重新连接时,它们会在两个服务接口上均匀分布。当所有 100 个会话都恢复时,分布会明显不平衡。

    • SI-0/0/0 有 150 个会话。

    • SI-1/0/0 有 50 个会话。

  4. 连接 100 个新会话后,si-0/0/0 达到其最大限制。仅在 si-1/0/0 上接受后续会话。

    • si-0/0/0 有 200 个会话。

    • SI-1/0/0 有 100 个会话。

  5. 再连接 100 个会话后,si-1/0/0 达到其最大限制。在其中一个接口的会话计数降至 200 以下之前,不能再接受任何会话。

    • si-0/0/0 有 200 个会话。

    • SI-1/0/0 有 200 个会话。

现在,根据附加的会话数,使用当前负载分配行为来考虑相同的场景。设备池同样有两个服务接口,每个服务接口配置的最大会话数上限为 200 个:

  1. 200 个会话均匀分布在两个服务接口上。

    • SI-0/0/0 有 100 个会话。

    • SI-1/0/0 有 100 个会话。

  2. si-1/0/0 接口将重新启动。恢复时,会话最初仅在 si-0/0/0 上启动。

    • SI-0/0/0 有 100 个会话。

    • SI-1/0/0 有 0 个会话。

  3. 当之前在 si-1/0/0 上的会话重新连接时,它们会根据每个接口上的会话负载进行分配。由于两个接口均低于其最大限制,且 si-1/0/0 的会话数少于 si-0/0/0,因此会话最初仅分配给 si-1/0/0。

    1. 在 1 次新会话后:

      • SI-0/0/0 有 100 个会话。

      • SI-1/0/0 有 1 个会话。

    2. 在 10 场新会议后:

      • SI-0/0/0 有 100 个会话。

      • SI-1/0/0 有 10 个会话。

    3. 在 100 场新会议之后:

      • SI-0/0/0 有 100 个会话。

      • SI-1/0/0 有 100 个会话。

  4. 由于两个接口现在具有相同的会话计数,因此下一个会话 (#101) 将在两个接口之间随机分配。之后的下一个会话 (#102) 将转到会话计数较低的接口。这会使接口再次相等,因此下一个会话 (#103) 是随机分配的。此模式将重复进行,直到两个接口达到 200 个会话的最大限制。

    • si-0/0/0 有 200 个会话。

    • SI-1/0/0 有 200 个会话。

    在其中一个接口上的会话数降至 200 以下之前,任一接口均不能再接受会话。

聚合服务接口的负载平衡行为是相同的。系统会根据 ASI 接口的当前会话计数从池中选择 ASI 接口。当该计数小于最大值时,LNS 将检查 ASI 捆绑包中活动 si 接口的当前会话计数。当该计数小于最大值时,可以在 ASI 接口上建立会话。

在同时具有服务接口和聚合服务接口的混合设备池中,会话将分布到会话计数最低的接口(ASI 或 SI)。当任一类型的接口的会话计数达到其限制时,它将无法再接受会话,直到计数降至最大值以下。

您可以使用会话限制配置来实现特定数据包转发引擎上的会话限制。假设您希望具有两个服务接口的 PFE0 上的会话数限制为 100 个。您可以将每个接口的最大限制设置为 50,或将总和为 100 的任何其他组合设置为 PFE0 限制。

示例:配置 L2TP LNS

此示例说明如何在 MX 系列路由器上配置 L2TP LNS,以便为网络中的 L2TP LAC 提供隧道端点。此配置包括双堆栈订阅者的动态配置文件。

要求

此 L2TP LNS 示例需要以下硬件和软件:

  • MX 系列 5G 通用路由平台

  • 一个或多个 MPC

  • Junos OS 11.4 或更高版本

在配置此功能之前,不需要除设备初始化之外的特殊配置。

您必须在与 LNS 关联的 AAA 服务器上的属性返回列表中配置某些标准 RADIUS 属性和瞻博网络 VSA,此示例才能正常工作。表 2 列出了属性及其所需的顺序设置和值。我们建议您使用最新的 瞻博网络 RADIUS 字典,该字典位于 https://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/subscriber-access/index.htmlJunos OS 订阅者管理页面上的下载框中。

表 2:例如 VSA 和标准 RADIUS 属性名称、顺序和所需值

VSA 名称 [编号]

订购

value

CoS 参数类型 [26–108]

1

T01 多播

CoS 参数类型 [26–108]

2

T02 10 米

CoS 参数类型 [26–108]

3

T08 -36

CoS 参数类型 [26–108]

4

T07 信元模式

帧 IPv6 池 [100]

0

jnpr_ipv6_pool

框架池 [88]

0

jnpr_pool

出口策略名称 [26-11]

0

分类

入口策略名称 [26-10]

0

分类

虚拟路由器 [26-1]

0

默认

概述

LNS 使用用户组配置文件将 PPP 属性应用于从 LAC 隧道建立的 PPP 用户。网络中的 LAC 是 LNS 的客户端。客户端与 LNS 上配置的 L2TP 访问配置文件中的用户组配置文件相关联。在此示例中,用户组配置文件 ce-l2tp-group-profile 指定以下 PPP 属性:

  • 来自客户端 LAC 的 L2TP 隧道的 PPP 激活消息之间的间隔为 30 秒,该消息在 LNS 上终止。

  • 200 秒的间隔,用于定义 PPP 用户会话在被视为超时之前可以处于空闲状态的时间。

  • PAP 和 CHAP 都是 PPP 身份验证方法,适用于 LNS 上的隧道式 PPP 用户。

L2TP 访问配置文件 ce-l2tp-profile 为每个客户端 LAC 定义一组 L2TP 参数。在此示例中,用户组配置文件 ce-l2tp-group-profile 与客户端 lac1 lac2和 相关联。两个客户端都配置为让 LNS 与 PPP 客户端重新协商链路控制协议 (LCP),而不是接受 LAC 传递给 LNS 的预先协商的 LCP 参数。LCP 重新协商还会导致 LNS 重新协商身份验证;身份验证方法在用户组配置文件中指定。每个隧道允许的最大会话数设置为 1000 lac1 ,对于 设置为 4000 lac2。为每个 LAC 配置不同的密码。

本地 AAA 访问配置文件 aaa-profile允许您覆盖全局 AAA 访问配置文件,以便指定身份验证顺序、要用于 L2TP 的 RADIUS 服务器以及服务器的密码。

在此示例中,地址池定义了 LNS 分配给隧道 PPP 会话的 IP 地址范围。此示例定义 IPv4 和 IPv6 地址范围。

位于路由器插槽 5 中的 MPC 上启用了两个内联服务接口。对于每个接口,10 Gbps 的带宽将为接口关联的 PFE 上的隧道流量保留。这些 锚点 接口用作底层物理接口。要在各个逻辑内联服务接口上启用 CoS 队列支持,必须在锚点上配置服务封装 (generic-services) 和分层调度支持。IPv4 地址族已为两个锚点接口配置。两个锚点接口均在服务设备池中 lns_p1 指定。当隧道组包含池时,LNS 可以在两个锚点接口之间平衡流量负载。

此示例使用动态配置文件 dyn-lns-profile2 来指定在将用户以隧道连接到 LNS 时动态创建或分配的 L2TP 会话的特征。对于许多特征,设置了一个预定义的变量;当用户以隧道连接到 LNS 时,这些变量将动态替换为适当的值。

隧道式 PPP 客户端 () 连接的接口 ($junos-interface-name) 在分配给用户的路由实例 ($junos-routing-instance) 中动态创建。接入路由的路由选项包括路由的下一跃点地址 ()、$junos-framed-route-nexthop度量 ()$junos-framed-route-cost 和首选项 ($junos-framed-route-distance)。对于接入内部路由,将设置动态 IP 地址变量 ($junos-subscriber-ip-address)。

逻辑内联服务接口由配置的锚点接口 ($junos-interface-ifd-name) 的名称和逻辑单元编号 ($junos-interface-unit) 定义。配置文件分配 l2tp-encapuslation 为逻辑接口的标识符,并指定每个接口一次只能用于一个会话。

IPv4 地址设置为从 AAA 服务器返回的值。对于 IPv4 流量,输入防火墙过滤器 $junos-input-filter 和输出防火墙过滤器 $junos-output-filter 连接到接口。环路变量 ($junos-loopback-interface) 从路由实例中配置的环路接口 (lo) 派生 IP 地址,并在 IPCP 协商中将其用作 PPP 服务器地址。因为这是双堆栈配置,所以还会设置 IPv6 地址族,地址由变量提供 $junos-ipv6-address

使用该$junos-ipv6-address变量是因为还配置了路由器播发协议。此变量使 AAA 能够将前缀中的第一个地址分配为要保留为接口的本地地址。动态配置文件中路由器播发协议的最低配置指定了 和$junos-interface-name$junos-ipv6-ndra-prefix变量,以便在 IPv6 邻接方发现路由器播发中动态分配前缀值。

动态配置文件还包括应用于隧道流量的服务等级配置。流量控制配置文件 (tc-profile) 包括调度器映射 ($junos-cos-scheduler-map)、整形速率 ($junos-cos-shaping-rate)、开销核算 () 和字节调整 $junos-cos-byte-adjust$junos-cos-shaping-mode) 的变量。动态配置文件将 CoS 配置(包括转发类、输出流量控制配置文件和重写规则)应用于动态服务接口。

tg-dynamic隧道组配置指定用于动态创建LNS会话和定义会话特征的访问配置文件ce-l2tp-profile、本地AAA配置文件aaa-profile和动态配置文件dyn-lns-profile2。服务设备池将lns_p1服务接口池与组相关联,使 LNS 能够在接口之间均衡流量。本地网关地址203.0.113.2对应于 LAC 上配置的远程网关地址。本地网关名称ce-lns与 LAC 上配置的远程网关名称对应。

注意:

此示例未显示所有可能的配置选项。

配置

过程

CLI 快速配置

要快速配置 L2TP LNS,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,然后将命令复制并粘贴到 CLI 中。

分步程序

下面的示例要求您在各个配置层级中进行导航。有关作说明,请参阅在 配置模式下使用 CLI 编辑器

要使用内联服务接口配置 L2TP LNS:

  1. 配置用户组配置文件,用于定义隧道用户的 PPP 配置。

  2. 配置一个 L2TP 访问配置文件,用于定义每个客户端 LAC 的 L2TP 参数。这包括将用户组配置文件与客户端相关联,以及为表示 LNS 上的 L2TP 会话的内联服务逻辑接口指定标识符。

    注意:

    如果修改或删除,使用此 user-group-profile 第 2 层通道协议客户端配置的现有 LNS 用户将关闭。

  3. 配置 AAA 访问配置文件以覆盖 AAA 身份验证方法和服务器属性的顺序的全局访问配置文件。

  4. 配置 IPv4 和 IPv6 地址分配池,为客户端 (LAC) 分配地址。

  5. 配置对等接口以终止隧道和 PPP 服务器端 IPCP 地址(环路地址)。

  6. 在 MPC 上启用内联服务接口。

  7. 使用服务封装、分层调度和地址族配置锚点服务接口。

  8. 为动态 LNS 会话配置服务接口池。

  9. 配置可为双堆栈订阅者动态创建 L2TP 逻辑接口的动态配置文件。

  10. 配置整形、调度和重写规则,并在动态配置文件中应用于隧道流量。

  11. 配置 L2TP 隧道组,以使用内联服务接口池启动动态 LNS 会话,以启用负载平衡。

结果

在配置模式下,输入 show access 命令以确认访问配置文件、组配置文件、AAA 配置文件和地址分配池的配置。输入命令, show chassis 确认内联服务配置。输入命令以 show interfaces 确认接口配置。输入命令以 show dynamic-profiles 确认动态配置文件配置。输入命令确认 show services l2tp 隧道组配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

完成设备配置后,从配置模式进入。commit

为使用内联服务接口的 LNS 会话配置 L2TP 隧道组

L2TP 隧道组指定应用于来自一组 LAC 客户端的 L2TP 隧道和会话的属性。这些属性包括用于验证本地网关地址上向 LNS 发出的 L2TP 连接请求的访问配置文件、覆盖全局访问配置文件的本地访问配置文件、激活计时器以及是否反映 IP ToS 值。

注意:

如果删除隧道组,则该隧道组中的所有 L2TP 会话都将终止。如果更改 、 service-device-poolservice-interface 语句的local-gateway-address值,则使用这些设置的所有 L2TP 会话都将终止。如果在层次结构级别更改[edit services l2tp tunnel-group name]或删除其他语句,则您建立的新隧道将使用更新后的值,但现有隧道和会话不会受到影响。

要配置 LNS 隧道组,请执行以下作:

  1. 创建隧道组。
    注意:

    您最多可以创建 256 个隧道组。

  2. 指定负责 LNS 上 L2TP 处理的服务锚点接口。

    静态 LNS 会话以及不在锚点接口池之间平衡流量的动态 LNS 会话需要此服务锚点接口。接口在层次结构级别上 [edit interfaces] 配置。

  3. (可选;仅适用于动态 LNS 会话负载平衡)指定内联服务锚点接口池,以跨接口实现 L2TP 流量负载平衡。

    池在层次结构级别上 [edit services service-device-pools] 定义。

  4. (仅适用于动态 LNS 会话)指定用于定义和实例化 L2TP 隧道内联服务接口的动态配置文件的名称

    配置文件在层次结构级别上 [edit dynamic-profiles] 定义。

  5. 指定用于验证对本地网关地址的所有 L2TP 连接请求的访问配置文件。
  6. 配置 LNS 上的本地网关地址;与 LAC 用于识别 LNS 的 IP 地址相对应。
  7. (可选)在 LNS 上配置本地网关名称,该名称在 SCCRP 消息中返回到 LAC。该名称必须与 LAC 上配置的远程网关名称匹配,否则无法创建隧道。
  8. (可选)如果 LNS 未收到来自 LAC 的消息,则配置 LNS 发送 hello 消息的间隔。
  9. (可选)指定覆盖全局访问配置文件的本地访问配置文件,以便为隧道组配置 RADIUS 服务器设置。

    此本地配置文件在层次结构级别上 [edit access profile] 配置。

  10. (可选)配置 LNS 以将内部 IP 报头的 IP ToS 值反映到外部 IP 报头(适用于 CoS 配置)。
  11. (可选)指定要在登录时应用于 L2TP 会话的动态服务配置文件,以及要传递给服务的任何参数。

在不使用 RADIUS 的情况下向 L2TP 会话应用服务

服务应用于 L2TP 会话,以便通过 RADIUS 服务器或授权变更 (CoA) 请求进行供应商特定属性 (VSA) 进行激活或随后RADIUS修改。从 Junos OS 18.1R1 版开始,您可以通过动态服务配置文件将服务应用于 L2TP 会话,而无需使用 RADIUS。在多供应商环境中,客户可能仅使用标准 RADIUS 属性,以避免使用来自多个供应商的 VSA,从而简化管理。但是,这使向 L2TP 会话应用服务变得复杂,因为通常需要 VSA 来应用服务。本地动态服务配置文件激活可避免该问题。您还可以使用本地服务配置文件激活,在 RADIUS 服务器关闭时提供默认服务。

您可以将服务应用到隧道组中的所有用户,也可以向使用特定 LAC 的所有用户应用服务。每个隧道组或 LAC 主机名最多可配置 12 项服务。

配置一个或多个定义服务的动态服务配置文件后,您可以通过指定服务配置文件名称,将其应用到 LAC 客户端的隧道组或访问配置文件配置中。您可以列出多个要激活的配置文件,用 & 符号 (&) 分隔。您还可以指定服务配置文件使用的参数,这些参数可能会覆盖配置文件本身中配置的值,例如 CoS 服务的下游整形速率。

本地配置的服务列表(通过服务配置文件)用作本地授权,由 authd 在客户端会话激活期间应用。此服务列表与源自外部机构(如 RADIUS)的服务受到相同的验证和处理。这些服务在订阅者登录期间显示。

您仍然可以将 RADIUS VSA 或 CoA 请求与服务配置文件结合使用。如果在身份验证期间或订阅者会话调配(激活)期间,服务源自外部机构作为授权,则来自外部机构的服务将严格优先于本地配置中的服务。如果通过 RADIUS 应用的服务与通过 CLI 中的服务配置文件应用的服务相同,但参数不同,则 RADIUS 服务将使用新的会话 ID,并优先于早期服务配置文件。

您可以发出命令来停用或重新激活之前为隧道组或 LAC 激活的任何服务。

定义以后要应用于隧道组或 LAC 的动态服务配置文件。

要将服务配置文件应用于隧道组中的所有用户,请执行以下作:

  • 指定一个或多个服务配置文件以及要传递给服务的任何参数。

要将服务配置文件应用于特定 LAC 的所有用户,请执行以下作:

  • 指定一个或多个服务配置文件以及要传递给服务的任何参数。

    注意:

    为 LAC 客户端和使用该客户端的隧道组配置服务配置文件时,仅应用 LAC 客户端服务配置文件。它覆盖隧道组配置。例如,在以下配置中,隧道组 tg-LAC-3 使用 LAC 客户端 LAC-3,因此 LAC3 配置将覆盖隧道组配置。因此,仅为隧道组中的用户激活 cos-A3 服务,而不是 Cos2 和 fw1。为服务传递的整形速率为 24 Mbps。

您可以通过发出以下命令来停用应用于订阅者会话的任何服务:

您可以通过发出以下命令重新激活应用于订阅者会话的任何服务:

要显示所有当前订阅者会话的服务会话,请使用 show subscribers extensive or show network-access aaa subscribers session-id id-number detail 命令。

为了了解本地服务应用程序的工作原理,以下示例说明了各种配置可能性。首先,考虑以下动态服务配置文件配置 cos2 和 fw1:

以下语句将这两种服务应用于隧道组 tg1 中的所有用户;将 31 Mbps 的参数值传递给 CoS2 服务:

在 cos2 服务配置文件中,整形速率由用户定义的变量提供,默认值为 10m 或 1Mbps。L2TP 会话启动后,cos2 和 fw1 将分别激活,服务会话 ID 分别为 34 和 35。

传递给 cos2 的参数用作 $shaping-rate 的值;因此,服务的整形速率从默认值 10 Mbps 调整为 31 Mbps,如以下命令输出中所示。尽管输出指示调整应用程序是 RADIUS CoA,但调整是传递给服务配置文件的参数的结果。该作使用与 CoA 相同的内部框架,并按此进行报告。

现在,cos2 服务已从 CLI 中停用,以供用户会话 27 使用。

以下输出显示 cos2 已消失,只剩下 fw1 作为活动服务。

以下命令将重新激活用户会话 27 的 cos2。

重新激活的 cos2 服务的新服务会话 ID 为 36。

重新激活的 cos2 服务使用服务配置文件中的默认整形速率 10 Mbps。

接下来,收到 RADIUS CoA 请求,其中包括激活服务 VSA (26-65)。VSA 指定并激活服务,并指定将 cos2 的整形速率从默认 10 Mbps 更改为 12 Mbps。cos2服务会话36仍显示在输出中,但被CoA49启动的新服务会话所取代。

当 CLI 配置和 RADIUS VSA (26-65) 都应用服务,但参数不同时,RADIUS 配置将覆盖 CLI 配置。在以下示例中,CLI 配置将整形速率值为 31 Mbps 的 cos2 服务配置文件应用。

RADIUS 访问-接受消息服务激活 VSA (26-65) 将值为 21 Mbps 的整形速率应用 cos2。

CLI 配置以 31 Mbps 的整形速率激活服务会话 22。RADIUS VSA 以 21 Mbps 的整形速率激活服务会话 23。

为动态 LNS 会话配置内联服务接口池

您可以创建一个内联服务接口池(也称为 服务设备池),以跨接口实现 L2TP 流量的负载均衡。动态 LNS 配置支持该池,其中它提供一组可动态创建的逻辑接口并将其分配给 LNS 上的 L2TP 会话。池被分配给一个 LNS 隧道组。L2TP 维护每个内联服务接口的状态,并在接受新的会话请求时使用轮询方法在可用接口之间均匀分配负载。

注意:

负载均衡仅适用于动态创建的用户接口。

只要存在通向对等 LAC 的其他路径,锚定在 MPC 上的 LNS 会话就不会受到 MIC 故障的影响。如果托管对等接口的 MPC 发生故障,并且没有指向对等 LAC 的路径,则故障将启动 MPC 上所有会话的终止和清理。

如果锚定 LNS 会话的 MPC 本身发生故障,路由引擎不会将会话重新定位到另一个插槽,并且所有会话都会立即终止。当客户端重试时,新会话可能会在另一个可用接口上启动。

要配置服务设备池,请执行以下作:

  1. 创建池。
  2. 指定组成池的内联服务接口。

为动态 LNS 会话配置动态配置文件

您可以将 L2TP 配置为为 L2TP 隧道动态分配内联服务接口。您必须定义一个或多个动态配置文件,并为每个隧道组分配一个配置文件。LNS 支持仅 IPv4、IPv6 和双堆栈 IPv4/IPv6 会话。

要配置 L2TP 动态配置文件,请执行以下作:

  1. 创建动态配置文件。
  2. 将接口配置为动态分配给隧道 PPP 客户端使用的路由实例。
  3. 在路由实例中配置接入路由的路由选项。
  4. 路由实例中配置内部接入路由的路由选项。
  5. 定义动态配置文件使用的接口。该变量将动态替换为配置的内联服务接口之一。
  6. 配置要动态实例化的内联服务逻辑接口。
  7. 为逻辑接口指定标识符。
  8. 每个逻辑接口配置为一次仅用于一个会话。
  9. 逻辑接口配置地址族,并在 LNS 上启用本地地址,以便为要从指定接口名称派生的 L2TP 隧道提供本地终端。
    注意:

    动态 LNS 会话要求您将该语句包含在 dial-options 动态配置文件中,而动态配置文件又要求您包含该 family inet 语句。这会产生以下后果:

    • 无论在配置文件中配置的是仅 IPv4、IPv6 还是双堆栈接口,都必须始终进行配置 family inet

    • 配置仅限 IPv4 的接口时,您只能 family inet 配置接口地址,并且必须在 下 family inet配置接口地址。

    • 配置仅限 IPv6 的接口时,还必须配置 family inet6 接口地址,并且必须在 下 family inet6配置。您未在 family inet下配置地址。

    • 配置双堆栈 IPv4/IPv6 接口时,需要在每个家族下配置 family inet 一个 and family inet6 和一个接口地址。

    对于仅支持 IPv4 的接口:

    对于仅支持 IPv6 的接口:

    对于双堆栈 IPv4/IPv6 接口:

    注意:

    如果配置了路由器播发协议,则可以为 IPv6 本地地址配置带编号的地址,而非不带编号的地址:

    有关在动态配置文件中使用仅 IPv6 寻址和双堆栈寻址变量的信息,请参阅 《宽带订阅者会话用户指南 》。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
18.1R1
从 Junos OS 18.1R1 版开始,您可以通过动态服务配置文件将服务应用于 L2TP 会话,而无需使用 RADIUS。
16.2R1
从 Junos OS 16.2 版开始,您无需使用内联服务显式指定 L2TP LNS 隧道流量的带宽。