在此页面上
L2TP LNS 内联服务接口
使用内联服务接口配置 L2TP LNS
在开始配置之前,必须先安装 L2TP LNS 功能许可证。否则,提交配置时会显示警告消息。
要配置具有内联服务接口的 L2TP LNS,请执行以下操作:
您还需要为 LNS 会话配置 CoS。有关更多信息,请参阅 为 L2TP LNS 内联服务配置动态 CoS。
将 PPP 属性应用于每个内联服务接口的 L2TP LNS 订阅者
您可以配置内联服务 (si) 接口上的 LNS 应用于从 LAC 隧道传输的 PPP 订阅者的 PPP 属性。由于您配置的是每个接口的属性,而不是使用用户组配置文件来配置属性,因此可以更精细地改变订阅者的属性。此配置与用于已终止的 PPPoE 订阅者的配置匹配。
要为动态创建的 si 接口配置 PPP 属性,请执行以下操作:
要为静态创建的 si 接口配置 PPP 属性,请执行以下操作:
指定逻辑内联服务接口。
[edit interfaces si-slot/pic/port] user@host# edit unit logical-unit-number
为 LNS 上终止的 L2TP 隧道配置 PPP 激活消息之间的间隔。
[edit interfaces si-slot/pic/port unit logical-unit-number] user@host# set keepalives interval seconds
配置在网络断开链路之前目标必须无法接收的激活数据包数。
[edit interfaces si-slot/pic/port unit logical-unit-number] user@host# set keepalives down-count number
注意:该
keepalives up-count
选项通常不用于订阅者管理。配置适用于 LNS 上的隧道 PPP 订户的 PPP 身份验证方法。
[edit interfaces si-slot/pic/port unit logical-unit-number] user@host# set ppp-options chap user@host# set ppp-options pap
配置路由器以提示客户端设备 (CPE) 在 LNS 上的隧道 PPP 订户的 IPCP 协商期间协商主 DNS 地址和辅助 DNS 地址。
[edit interfaces si-slot/pic/port unit logical-unit-number] user@host# set ppp-options ipcp-suggest-dns-option
尽管支持从属于 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 属性。
要配置用户组配置文件:
您还可以基于每个接口配置 PPP 属性。有关详细信息 ,请参阅将 PPP 属性应用于每个内联服务接口的 L2TP LNS 订阅者 。在 si 接口和用户组配置文件中为 L2TP LNS 订户配置 PPP 属性时,内联服务接口配置优先于用户组配置文件配置。
在组配置文件和动态配置文件中配置 PPP 选项时,当动态配置文件包含一个或多个可在组配置文件中配置的 PPP 选项时,动态配置文件配置完全优先于组配置文件。完全优先级意味着配置文件之间没有选项合并。仅当动态配置文件不包含组配置文件中可用的任何 PPP 选项时,才会将组配置文件应用于订阅者。
在 LNS 上配置 L2TP 访问配置文件
访问配置文件定义如何验证第 2 层隧道协议 (L2TP) 连接和会话请求。在每个 L2TP 访问配置文件中,您可以配置一个或多个客户端 (LAC)。客户端特征用于使用匹配密码对 LAC 进行身份验证,以及建立客户端隧道和会话的属性。您可以在每个配置文件中配置多个访问配置文件和多个客户端。
要配置 L2TP 访问配置文件:
在 LNS 上配置 AAA 本地访问配置文件
对于某些 LNS 隧道,您可能希望覆盖在托管具有特定 RADIUS 服务器配置的隧道的路由实例上配置的访问配置文件。您可以配置本地访问配置文件来执行此操作。随后,您可以使用该 aaa-access-profile
语句将本地访问概要文件应用于隧道组或 LAC 客户端。
应用于客户端的本地访问配置文件会覆盖应用于隧道组的本地访问配置文件,而隧道组又会覆盖路由实例的访问配置文件。
要配置 AAA 本地访问配置文件,请执行以下操作:
为具有内联服务的 L2TP LNS 配置地址分配池
您可以配置可动态分配给隧道 PPP 订阅者的地址池。池必须是订阅服务器启动的路由实例的本地池。配置的池在 RADIUS 帧池和帧 IPv6 池属性中提供。当帧 IP 地址由 RADIUS 发送时,池是可选的。
若要配置地址分配池,必须指定池的名称并配置池的地址。
可以选择在地址分配池中配置地址的多个命名范围或地址子集。在动态地址分配期间,可以为客户端分配特定命名区域中的地址。若要创建命名区域,请指定区域的名称并定义地址范围。
请确保使用地址分配池 (address-assignment
) 语句,而不是地址池 (address-pool
) 语句。
有关地址分配池的详细信息,请参阅地址分配池概述和地址分配池配置概述。
要为 L2TP LNS 配置 IPv4 地址分配池,请执行以下操作:
例如,要配置 IPv4 地址分配池,请执行以下操作:
[edit access] user@host# edit address-assignment pool lns-v4-pool family inet [edit access address-assignment pool lns-v4-pool family inet] user@host# set network 192.168.1.1/16 [edit access address-assignment pool lns-v4-pool family inet] user@host# set range lns-v4-pool-range low 192.168.1.1 high 192.168.255.255
要为 L2TP LNS 配置 IPv6 地址分配池,请执行以下操作:
配置池的名称并指定 IPv6 系列。
[edit access] user@host# edit address-assignment pool pool-name family inet6
为地址池配置 IPv6 网络前缀。配置 IPv6 地址分配池时,需要前缀规范。
[edit access address-assignment pool pool-name family inet6] user@host# set prefix ipv6-prefix
配置范围的名称并定义范围。您可以根据范围中前缀的下限和上限来定义范围,也可以根据范围中前缀的长度来定义范围。
[edit access address-assignment pool pool-name family inet6] user@host# set range range-name low lower-limit high upper-limit
例如,要配置 IPv6 地址分配池,请执行以下操作:
[edit access] user@host# edit address-assignment pool lns-v6-pool family inet6 [edit access address-assignment pool lns-v6-pool family inet6] user@host# set prefix 2001:DB8::/32 [edit access address-assignment pool lns-v6-pool family inet6] user@host# set range lns-v6-pool-range low 2001:DB8:1::/48 high 2001:DB8::ffff::/48
配置 L2TP LNS 对等接口
对等接口将 LNS 连接到朝向 LAC 的云,以便可以在隧道端点之间交换 IP 数据包。MPLS 和聚合以太网也可用于访问 LAC。
在 MX 系列路由器上,您必须在 MPC 上配置对等接口。
要配置 LNS 对等接口,请执行以下操作:
启用内联服务接口
内联服务接口是驻留在数据包转发引擎上的虚拟物理接口。此 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
10g
以100g
10 Gbps 为增量10g
:、 、 、20g
30g
40g
50g
60g
70g
80g
90g
100g
100g
以400g
100 Gbps 为增量100g
:、 、 、200g
300g
400g
可用的最大带宽因 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 |
要启用内联服务接口,请执行以下操作:
为 L2TP LNS 配置内联服务接口
内联服务接口是驻留在数据包转发引擎上的虚拟物理服务接口。此 si
接口称为 锚 接口,无需特殊服务 PIC 即可提供 L2TP 服务。内联服务接口仅受 MX 系列路由器上的 MPC 支持。每个 MPC 占用的机箱插槽可配置四个内联服务接口。
通过将最大层次结构级别数设置为 2,可以最大程度地增加可在一个服务接口中形成的会话数。在这种情况下,每个 LNS 会话都会使用调度程序层次结构中的一个 L3 节点进行整形。
如果未指定级别数(两个是唯一选项),那么可在服务接口上形成的 LNS 会话数将限制为 L2 节点数或 4096 个会话数。其他会话仍然会出现,但它们没有成形。
要配置内联服务接口,请执行以下操作:
配置 LNS 内联服务逻辑接口的选项
您必须为为 LNS 配置的每个内联服务逻辑接口指定特征dial-options
。MX 系列路由器上的 LNS 仅支持每个逻辑接口一个会话,因此您必须将其配置为接口 dedicated
;不支持该 shared
选项。(M 系列路由器上的 LNS 支持 dedicated
和 shared
选项。)您还可以为逻辑接口配置与您在访问配置文件中指定的名称匹配的标识名称。
您必须为每个静态逻辑接口指定地址族,inet
或者在动态 LNS 接口的动态配置文件中指定地址族。尽管 CLI 接受静态逻辑接口或inet
inet6
静态逻辑接口,但除非配置地址族inet
,否则订阅者无法成功登录。
有关动态接口配置,请参阅 为动态 LNS 会话配置动态配置文件。
要配置静态逻辑接口选项,请执行以下操作:
LNS 1:1 有状态冗余概述
默认情况下,当内联服务 (si) 锚点接口出现故障时(例如,托管该接口的卡出现故障或重新启动时),L2TP 订阅者流量将丢失。当隧道的 PPP 激活计时器随后到期时,控制平面将关闭,PPP 客户端将断开连接。因此,客户端随后必须重新连接。
在这些情况下,您可以通过配置聚合内联服务接口 (asi) 捆绑包来提供 1:1 状态冗余(也称为热备用冗余或主动-备份冗余),从而避免在这些情况下丢失流量。捆绑包由一对 si 物理接口、主(活动)成员链路和辅助(备用或备份)成员链路组成。必须在不同的 MPC 上配置这些接口;如果在同一 MPC 上配置主接口和辅助接口,则无法实现冗余,因为如果卡出现故障,两个成员接口都将关闭。
当订阅者登录并配置 1:1 冗余时,将通过 asi0 物理接口上的底层虚拟逻辑接口 (asi.0x) 建立 L2TP 会话。在底层接口上以 asiXlogical-unit-number 格式创建各个订阅者逻辑接口。如果托管主成员链路接口的 MPC 发生故障或重新启动,会话将保持打开状态。发往此 L2TP 会话的所有数据流量会自动移动到其他 MPC 上的辅助成员链路接口。
在聚合内联服务接口上配置 1:1 LNS 有状态冗余
您可以创建聚合内联服务接口 (asi) 捆绑包,为内联服务 (si) 锚接口提供 1:1 LNS 状态冗余。捆绑包将驻留在不同 MPC 上的两个接口配对为主链路和辅助链路。随后通过虚拟逻辑接口 ASIX.logical-unit-number 建立 LNS 会话。当主锚点接口关闭或使用命令重新启动 request chassis fpc restart
卡时,将发生 LNS 会话故障转移。发生这种情况时,其他 MPC 上的辅助链路将变为活动状态,发往会话的所有 LNS 数据流量将自动移动到辅助接口。订阅者会话在 asiX. 虚拟接口上保持开启状态logical-unit-number 。不会丢失任何流量统计信息。如果未配置此冗余,订阅者流量将丢失,激活过期,PPP 客户端将断开连接,必须重新连接。
在开始之前,您必须执行以下操作:
确认已启用增强的订阅者管理。
在要聚合到捆绑包中的不同 MPC 上创建内联服务接口。
请参阅 启用内联服务接口 和 为 L2TP LNS 配置内联服务接口。
如果使用服务接口池,请定义服务池。
请遵循以下准则:
您必须为每个捆绑包进行配置
unit 0 family inet
;否则,会话将无法启动。主(主动)和辅助(备份)接口必须位于不同的 MPC 上。
对于两个成员链路,在层次结构级别配置的
[edit chassis fpc slot pic number inline-services bandwidth]
带宽必须相同。配置为聚合内联服务接口捆绑包成员的 si 接口不能配置为另一个捆绑包组的成员。
配置为聚合内联服务接口捆绑包成员的 si 接口也不能用于与聚合服务无关的任何功能;例如,它不能用于内联 IP 重组。
将 si 接口配置为聚合内联服务捆绑包的成员时,无法再独立配置该 si 接口。您只能配置父捆绑包;捆绑包的配置会立即应用于所有成员接口。
要配置 1:1 LNS 有状态冗余,请执行以下操作:
以下示例配置在插槽 1 和插槽 2 中的 MPC 上创建具有成员链路的捆绑包 asi0,然后分配捆绑包为隧道组 tg1 上的 L2TP 会话提供冗余:
[edit interfaces asi0] user@host# set aggregated-inline-services-options primary-interface si-1/0/0 user@host# set aggregated-inline-services-options secondary-interface si-2/0/0 user@host# set unit 0 family inet [edit chassis fpc 1 pic 0 inline-services] user@host# set bandwidth 10g [edit chassis fpc 2 pic 0 inline-services] user@host# set bandwidth 10g [edit services l2tp tunnel-group tg1] user@host# set service-interface asi0
验证 LNS 聚合内联服务接口 1:1 冗余
目的
查看有关聚合内联服务接口捆绑包、单个成员链路和冗余状态的信息。
行动
要查看有关聚合内联服务接口捆绑包的摘要信息,请执行以下操作:
user@host> show interfaces asi0 terse Interface Admin Link Proto Local Remote asi0 up up asi0.0 up up inet
要查看有关聚合内联服务接口捆绑包的详细信息,请执行以下操作:
user@host> show interfaces asi0 extensive Physical interface: asi0, Enabled, Physical link is Up Interface index: 223, SNMP ifIndex: 734, Generation: 226 Type: Adaptive-Services, Link-level type: Adaptive-Services, MTU: 9192, Clocking: Unspecified, Speed: 20000mbps Device flags : Present Running Interface flags: Point-To-Point SNMP-Traps Internal: 0x4000 Link type : Full-Duplex Link flags : None Physical info : Unspecified Hold-times : Up 0 ms, Down 0 ms Current address: Unspecified, Hardware address: Unspecified Alternate link address: Unspecified Last flapped : 2014-01-20 23:35:02 PST (00:03:25 ago) Statistics last cleared: Never Traffic statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 IPv6 transit statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Input errors: Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Giants: 0, Policed discards: 0, Resource errors: 0 Output errors: Carrier transitions: 0, Errors: 0, Drops: 0, MTU errors: 0, Resource errors: 0 Logical interface asi0.0 (Index 356) (SNMP ifIndex 52241) (Generation 165) Flags: Point-To-Point SNMP-Traps 0x4000 Encapsulation: Adaptive-Services Traffic statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Local statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Transit statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Protocol inet, MTU: 9192, Generation: 198, Route table: 0 Flags: Sendbcast-pkt-to-re
要查看有关聚合内联服务接口捆绑包中单个成员接口的信息,请执行以下操作:
user@host> show interfaces si-1/0/0 Physical interface: si-1/0/0, Enabled, Physical link is Up Interface index: 165, SNMP ifIndex: 630 Type: Adaptive-Services, Link-level type: Adaptive-Services, MTU: 9192, Speed: 10000mbps Device flags : Present Running Interface flags: Point-To-Point SNMP-Traps Internal: 0x4000 Link type : Full-Duplex Link flags : None Last flapped : Never Input rate : 0 bps (0 pps) Output rate : 0 bps (0 pps) Logical interface si-1/0/0.0 (Index 357) (SNMP ifIndex 52229) Flags: Point-To-Point SNMP-Traps 0x4000 Encapsulation: Adaptive-Services Input packets : 0 Output packets: 0 Protocol asi, AS bundle: asi0.0 Flags: Function2
要查看聚合内联服务接口捆绑包的冗余状态:
user@host> show interfaces redundancy Interface State Last change Primary Secondary Current status asi0 On secondary 1d 23:56 si-1/0/0 si-2/0/0 primary down asi1 On primary 10:10:27 si-3/0/0 si-4/0/0 secondary down ae0 On primary 00:00:02 ge-1/0/0 ge-3/0/1 backup down ae2 On primary 00:00:01 ge-2/0/0 ge-4/0/1 both up
该示例输出显示聚合以太网和聚合内联服务接口均配置为冗余。要仅显示其中一个聚合的内联服务接口捆绑包,请执行以下操作:
user@host> show interfaces redundancy asi0 Interface State Last change Primary Secondary Current status asi0 On secondary 1d 23:56 si-1/0/0 si-2/0/0 primary down
要查看有关所有已配置冗余接口的详细信息,请执行以下操作:
user@host> show interfaces redundancy detail Redundancy interfaces detail Interface : asi0 State : On primary Last change : 00:00:36 Primary : si-1/0/0 Secondary : si-3/0/0 Current status: both up Interface : ae0 State : On primary Last change : 00:01:30 Primary : ge-1/0/0 Secondary : ge-3/0/1 Current status : backup down
服务接口的 L2TP 会话限制和负载平衡
LNS 根据接口上当前处于活动状态的会话数,在设备池中的可用服务接口之间对订阅者会话进行负载平衡。您可以配置每个服务接口 (si) 和每个聚合服务接口 (asi) 的最大限制。对于 asi 接口,您无法为捆绑包中的单个 si 成员接口配置限制。
服务接口上的会话限制
为服务接口启动 L2TP 会话请求时,LNS 会根据单个服务接口或聚合服务接口允许的最大会话数检查该接口上的当前活动会话数。LNS 确定当前会话计数(由命令显示 show services l2tp summary
)是否小于配置的限制。如果为 true 或未配置任何限制,则检查通过并可以建立会话。如果当前会话计数等于配置的限制,则 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 版中更改了服务设备池中的会话负载分配行为。当一个服务接口的会话计数低于池中的另一个接口,并且两个接口都低于其最大会话限制时,后续会话将分发到会话较少的接口。
在早期版本中,无论会话计数如何,会话都以严格的轮询方式分发。旧行为可能会导致数据包转发引擎重新启动或服务接口关闭并恢复时会话分配不均匀。
例如,请考虑以下方案,对具有两个服务接口的池使用旧的轮循机制分发行为:
200 个会话均匀分布在两个服务接口上。
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 100 个会话。
si-1/0/0 接口重新启动。当它回来时,最初会话仅在 si-0/0/0 上启动。
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 0 个会话。
当以前在 si-1/0/0 上的会话重新连接时,它们在两个服务接口上平均分布。当所有 100 个会话都备份时,分布明显不平衡。
SI-0/0/0 有 150 个会话。
SI-1/0/0 有 50 个会话。
连接 100 个新会话后,si-0/0/0 达到其最大限制。后续会话仅在 si-1/0/0 上接受。
SI-0/0/0 有 200 个会话。
SI-1/0/0 有 100 个会话。
再连接 100 个会话后,si-1/0/0 达到其最大限制。在其中一个接口的会话计数降至 200 以下之前,无法接受更多会话。
SI-0/0/0 有 200 个会话。
SI-1/0/0 有 200 个会话。
现在,使用基于附加会话数的当前负载分配行为来考虑相同的方案。设备池同样具有两个服务接口,每个接口配置的最大限制为 200 个会话:
200 个会话均匀分布在两个服务接口上。
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 100 个会话。
si-1/0/0 接口重新启动。当它恢复时,会话最初仅在 si-0/0/0 上启动。
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 0 个会话。
当以前在 si-1/0/0 上的会话重新连接时,它们根据每个接口上的会话负载进行分配。由于两个接口都低于其最大限制,并且 si-1/0/0 的会话数少于 si-0/0/0,因此会话最初仅分配给 si-1/0/0。
1 个新会话后:
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 1 个会话。
在 10 个新会话后:
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 10 个会话。
在 100 次新会话后:
SI-0/0/0 有 100 个会话。
SI-1/0/0 有 100 个会话。
由于两个接口现在具有相同的会话计数,因此下一个会话 (#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.html 的 Junos OS 订阅者管理页面的下载框中。
VSA 名称 [编号] |
以 |
价值 |
---|---|---|
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 激活消息在 LNS 上终止之间的 30 秒间隔。
一个 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 上启用了两个内联服务接口。对于每个接口,将为接口的关联 PFE 上的隧道流量保留 10 Gbps 带宽。这些 锚接口 用作底层物理接口。要在各个逻辑内联服务接口上启用 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
在 IPv6 邻居发现路由器通告中动态分配前缀值的变量 $junos-ipv6-ndra-prefix
。
动态配置文件还包括应用于隧道流量的服务配置类。流量控制配置文件 (tc-profile
) 包括调度程序映射 ()、整形速率 ()、开销记帐 ($junos-cos-shaping-mode
$junos-cos-scheduler-map
$junos-cos-shaping-rate
) 和字节调整$junos-cos-byte-adjust
的变量。动态配置文件将 CoS 配置(包括转发类、输出流量控制配置文件和重写规则)应用于动态服务接口。
tg-dynamic
隧道组配置指定用于动态创建 LNS 会话和定义会话特征的访问配置文件、本地 AAA 配置文件和动态配置文件aaa-profile
ce-l2tp-profile
dyn-lns-profile2
。lns_p1
服务设备池将服务接口池与组关联,以使 LNS 能够平衡接口之间的流量。本地网关地址203.0.113.2
对应于在 LAC 上配置的远程网关地址。本地网关名称ce-lns
与 LAC 上配置的远程网关名称相对应。
此示例未显示所有可能的配置选项。
配置
程序
CLI 快速配置
要快速配置 L2TP LNS,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,然后将命令复制并粘贴到 CLI 中。
[edit] edit access group-profile ce-l2tp-group-profile set ppp idle-timeout 200 set ppp ppp-options pap set ppp ppp-options chap set ppp keepalive 30 top edit access profile ce-l2tp-profile set client lac1 l2tp maximum-sessions-per-tunnel 1000 set client lac1 l2tp interface-id l2tp-encapsulation-1 set client lac1 l2tp lcp-renegotiation set client lac1 l2tp shared-secret "lac1-$ABC123" set client lac1 user-group-profile ce-l2tp-group-profile set client lac2 l2tp maximum-sessions-per-tunnel 4000 set client lac2 l2tp interface-id l2tp-encap-2 set client lac2 l2tp lcp-renegotiation set client lac2 l2tp shared-secret "lac2-$ABC123" set client lac2 user-group-profile ce-l2tp-group-profile top edit access profile aaa-profile set authentication-order radius set radius authentication-server 198.51.100.193 set radius-server 198.51.100.193 secret "$ABC123” top edit access address-assignment pool client-pool1 family inet set network 192.168.1.1/16 set range lns-v4-pool-range low 192.168.1.1 set range lns-v4-pool-range high 192.168.255.255 top edit access address-assignment pool client-ipv6-pool2 family inet6 set prefix 2001:DB8::/32 set range lns-v6-pool-range low 2001:DB8:1::/48 set range lns-v6-pool-range high 2001:DB8:ffff::/48 top set interfaces ge-5/0/1 unit 11 vlan-id 11 set interfaces ge-5/0/1 unit 11 family inet address 203.0.113.2/24 set interfaces lo0 unit 0 family inet address 127.0.0.1/32 top set chassis fpc 5 pic 0 inline-services bandwidth 10g set chassis fpc 5 pic 2 inline-services bandwidth 10g top edit interfaces si-5/0/0 set hierarchical-scheduler maximum-hierarchy-levels 2 set encapsulation generic-services set unit 0 family inet top edit interfaces si-5/2/0 set hierarchical-scheduler maximum-hierarchy-levels 2 set encapsulation generic-services set unit 0 family inet top set services service-device-pools pool lns_p1 interface si-5/0/0 set services service-device-pools pool lns_p1 interface si-5/2/0 top edit dynamic-profiles dyn-lns-profile2 routing-instances $junos-routing-instance set interface $junos-interface-name edit routing-options access route $junos-framed-route-ip-address-prefix set next-hop $junos-framed-route-nexthop set metric $junos-framed-route-cost set preference $junos-framed-route-distance up 2 edit access-internal route $junos-subscriber-ip-address set qualified-next-hop $junos-interface-name up 5 edit interfaces $junos-interface-ifd-name unit $junos-interface-unit set dial-options l2tp-interface-id l2tp-encapsulation set dial-options dedicated set family inet filter input $junos-input-filter set family inet filter output $junos-output-filter set family inet unnumbered-address $junos-loopback-interface set family inet6 address $junos-ipv6-address set family inet6 filter input $junos-input-ipv6-filter set family inet6 filter output $junos-output-ipv6-filter up 3 edit protocols router-advertisement set interface $junos-interface-name prefix $junos-ipv6-ndra-prefix top [edit class-of-service] edit rewrite-rules dscp rewriteDSCP forwarding-class expedited-forwarding set loss-priority high code-point af11 set loss-priority high code-point af12 top edit dynamic-profiles dyn-lns-profile2 class-of-service traffic-control-profiles tc-profile set scheduler-map $junos-cos-scheduler-map set shaping-rate $junos-cos-shaping-rate set overhead-accounting $junos-cos-shaping-mode set overhead-accounting bytes $junos-cos-byte-adjust up edit interfaces $junos-interface-ifd-name unit $junos-interface-unit set forwarding-class expedited-forwarding set output-traffic-control-profile tc-profile set rewrite-rules dscp rewriteDSCP edit interfaces si-5/0/0 set output-control-profile-remaining tc-profile top set services l2tp tunnel-group tg-dynamic l2tp-access-profile ce-l2tp-profile set services l2tp tunnel-group tg-dynamic aaa-access-profile aaa-profile set services l2tp tunnel-group tg-dynamic local-gateway address 203.0.113.2 set services l2tp tunnel-group tg-dynamic local-gateway gateway-name ce-lns set services l2tp tunnel-group tg-dynamic service-device-pool lns_p1 set services l2tp tunnel-group tg-dynamic dynamic-profile dyn-lns-profile2
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何执行此操作的说明,请参阅 在配置模式下使用 CLI 编辑器。
要配置具有内联服务接口的 L2TP LNS,请执行以下操作:
配置为隧道订阅者定义 PPP 配置的用户组配置文件。
[edit access] user@host# edit group-profile ce-l2tp-group-profile [edit access group-profile ce-l2tp-group-profile] user@host# set ppp keepalive 30 user@host# set ppp idle-timeout 200 user@host# set ppp ppp-options chap user@host# set ppp ppp-options pap
配置 L2TP 访问配置文件,用于定义每个客户端 LAC 的 L2TP 参数。这包括将用户组配置文件与客户端关联,并为表示 LNS 上的 L2TP 会话的内联服务逻辑接口指定标识符。
[edit access profile ce-l2tp-profile client lac1] user@host# set l2tp interface-id l2tp-encapsulation user@host# set l2tp maximum-sessions-per-tunnel 1000 user@host# set l2tp shared-secret "lac1-$ABC123" user@host# set l2tp lcp-renegotiation user@host# set user-group-profile ce-l2tp-group-profile [edit access profile ce-l2tp-profile client lac2] user@host# set l2tp interface-id interface-id user@host# set l2tp maximum-sessions-per-tunnel 4000 user@host# set l2tp shared-secret "lac2-$ABC123" user@host# set l2tp lcp-renegotiation user@host# set user-group-profile ce-l2tp-group-profile
注意:如果修改或删除了,则
user-group-profile
使用此第 2 层隧道协议客户端配置的现有 LNS 订阅者将关闭。配置 AAA 访问配置文件以按照 AAA 身份验证方法和服务器属性的顺序覆盖全局访问配置文件。
[edit access profile aaa-profile] user@host# set authentication-order radius user@host# set radius authentication-server 198.51.100.193 user@host# set radius-server 198.51.100.193 secret "$ABC123”
配置 IPv4 和 IPv6 地址分配池,以便为客户端 (LAC) 分配地址。
[edit access address-assignment pool client-pool1 family inet] user@host# set network 192.168.1.1/16 user@host# set range lns-v4-pool-range low 192.168.1.1 high 192.168.255.255 [edit access address-assignment pool client-ipv6-pool2 family inet6] user@host# set prefix 2001:DB8::/32 user@host# set range lns-v6-pool-range low 2001:DB8:1::/48 user@host# set range lns-v6-pool-range high 2001:DB8:ffff::/48
配置对等接口以终止隧道和 PPP 服务器端 IPCP 地址(环路地址)。
[edit interfaces ge-5/0/1 user@host# set vlan-tagging user@host# set unit 11 [edit interfaces ge-5/0/1.11 user@host# set vlan-id 11 user@host# set family inet address 10.1.1.2/24 [edit interfaces lo0] user@host# set unit 0 family inet address 127.0.0.1/32
在 MPC 上启用内联服务接口。
[edit chassis fpc 5] user@host# set pic 0 inline-services bandwidth 10g user@host# set pic 2 inline-services bandwidth 10g
使用服务封装、分层调度和地址族配置锚点服务接口。
[edit interfaces si-5/0/0] user@host# set hierarchical-scheduler maximum hierarchy-levels 2 user@host# set encapsulation generic-services user@host# set unit 0 family inet [edit interfaces si-5/2/0] user@host# set hierarchical-scheduler maximum hierarchy-levels 2 user@host# set encapsulation generic-services user@host# set unit 0 family inet
为动态 LNS 会话配置服务接口池。
[edit services service-device-pools pool lns_p1] user@host# set interface si-5/0/0 user@host# set interface si-5/2/0
配置动态配置文件,为双堆栈用户动态创建 L2TP 逻辑接口。
[edit dynamic-profiles dyn-lns-profile2] user@host# edit routing-instances $junos-routing-instance user@host# set interface $junos-interface-name [edit dynamic-profiles dyn-lns-profile2 routing-instances “$junos-routing-instance”] user@host# edit routing-options access route $junos-framed-route-ip-address-prefix [edit dynamic-profiles dyn-lns-profile2 routing-instances “$junos-routing-instance” routing-options access route “$junos-framed-route-ip-address-prefix”] user@host# set next-hop $junos-framed-route-nexthop user@host# set metric $junos-framed-route-cost user@host# set preference $junos-framed-route-distance [edit dynamic-profiles dyn-lns-profile2 routing-instances “$junos-routing-instance” routing-options access-internal] user@host# set route $junos-subscriber-ip-address qualified-next-hop $junos-interface-name [edit dynamic-profiles dyn-lns-profile2 interfaces “$junos-interface-ifd-name” unit “$junos-interface-unit”] user@host# set dial-options l2tp-interface-id l2tp-encapsulation user@host# set dial-options dedicated user@host# set family inet unnumbered-address $junos-loopback-interface user@host# set family inet filter input $junos-input-filter user@host# set family inet filter output $junos-output-filter user@host# set family inet6 address $junos-ipv6-address set family inet6 filter input $junos-input-ipv6-filter set family inet6 filter output $junos-output-ipv6-filter [edit dynamic-profiles dyn-lns-profile2 protocols router-advertisement] user@host# set interface $junos-interface-name prefix $junos-ipv6-ndra-prefix
配置整形、调度和重写规则,并在动态配置文件中应用于隧道流量。
[edit class-of-service] user@host# edit rewrite-rules dscp rewriteDSCP forwarding-class expedited-forwarding user@host# set loss-priority high code-point af11 user@host# set loss-priority high code-point af12 [edit dynamic-profiles dyn-lns-profile2 class-of-service traffic-control-profiles tc-profile] user@host# set scheduler-map $junos-cos-scheduler-map user@host# set shaping-rate $junos-cos-shaping-rate user@host# set overhead-accounting $junos-cos-shaping-mode user@host# set overhead-accounting bytes $junos-cos-byte-adjust [edit dynamic-profiles dyn-lns-profile2 class-of-service interfaces “$junos-interface-ifd-name” unit "$junos-interface-unit"] user@host# set forwarding-class expedited-forwarding user@host# set output-traffic-control-profile tc-profile user@host# set rewrite-rules dscp rewriteDSCP [edit class-of-service interfaces si-5/0/0] user@host# set output-traffic-control-profile-remaining tc-profile
配置 L2TP 隧道组,以使用内联服务接口池启动动态 LNS 会话,以启用负载平衡。
[edit services l2tp tunnel-group tg-dynamic] user@host# set l2tp-access-profile ce-l2tp-profile user@host# set local-gateway address 10.1.1.2 user@host# set local-gateway gateway-name ce-lns user@host# set aaa-access-profile aaa-profile user@host# set dynamic-profile dyn-lns-profile2 user@host# set service-device-pool lns_p1
结果
在配置模式下,输入命令确认 show access
访问配置文件、组配置文件、AAA 配置文件和地址分配池配置。输入命令确认 show chassis
内联服务配置。输入 show interfaces
命令确认接口配置。通过输入 show dynamic-profiles
命令确认动态配置文件配置。输入 show services l2tp
命令确认隧道组配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
[edit] user@host# show access group-profile ce-l2tp-group-profile { ppp { idle-timeout 200; ppp-options { pap; chap; } keepalive 30; } } profile ce-l2tp-profile { client lac1 { l2tp { maximum-sessions-per-tunnel 1000; interface-id l2tp-encapsulation-1; lcp-renegotiation; shared-secret "lac1-$ABC123"; ## SECRET-DATA } user-group-profile ce-l2tp-group-profile; } client lac2 { l2tp { maximum-sessions-per-tunnel 4000; interface-id l2tp-encap-2; lcp-renegotiation; shared-secret "lac2-$ABC123"; ## SECRET-DATA } user-group-profile ce-l2tp-group-profile; } } profile aaa-profile { authentication-order radius; radius-server { 198.51.100.193 secret "$ABC123"; ## SECRET-DATA } } address-assignment { pool client-pool1 { family inet { network 192.168.1.1/16; range lns-v4-pool-range { low 192.168.1.1; high 192.168.255.255; } } } pool client-ipv6-pool2 { family inet6 { prefix 2001:DB8::/32; range lns-v6-pool-range { low 2001:DB8:1::/48; high 2001:DB8:ffff::/48; } } } } [edit] user@host# show chassis fpc 5 { pic 0 { inline-services { bandwidth 10g; } } pic 2 { inline-services { bandwidth 10g; } } } [edit] user@host# show interfaces ge-5/0/1 { vlan-tagging;; unit 11 { vlan-id 11; family inet { address 203.0.113.2/24; } } } si-5/0/0 { hierarchical-scheduler maximum-hierarchy-levels 2; encapsulation generic-services; unit 0 { family inet; } } si-5/2/0 { hierarchical-scheduler maximum-hierarchy-levels 2; encapsulation generic-services; unit 0 { family inet; } } lo0 { unit 0 { family inet { address 127.0.0.1/32; } } } [edit] user@host# show dynamic-profiles dyn-lns-profile2 { routing-instances { "$junos-routing-instance" { interface "$junos-interface-name"; routing-options { access { route $junos-framed-route-ip-address-prefix { next-hop "$junos-framed-route-nexthop"; metric "$junos-framed-route-cost"; preference "$junos-framed-route-distance"; } } access-internal { route $junos-subscriber-ip-address { qualified-next-hop "$junos-interface-name"; } } } } } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { dial-options { l2tp-interface-id l2tp-encapsulation; dedicated; } family inet { filter { input "$junos-input-filter"; output "$junos-output-filter"; } unnumbered-address "$junos-loopback-interface"; } family inet6 { address $junos-ipv6-address; input $junos-input-ipv6-filter; output $junos-output-ipv6-filter; } } } } protocols { router-advertisement { interface "$junos-interface-name" { prefix $junos-ipv6-ndra-prefix; } } } class-of-service { rewrite-rules { dscp rewriteDSCP { forwarding-class expedited-forwarding { loss-priority high code-point af11 loss-priority high code-point af12 } } } traffic-control-profiles { tc-profile { scheduler-map "$junos-cos-scheduler-map"; shaping-rate "$junos-cos-shaping-rate"; overhead-accounting "$junos-cos-shaping-mode" bytes "$junos-cos-byte-adjust"; } } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { forwarding-class expedited-forwarding; output-traffic-control-profile tc-profile; rewrite-rules { dscp rewriteDSCP; } } } } } } [edit] user@host# show services l2tp tunnel-group tg-dynamic { l2tp-access-profile ce-l2tp-profile; aaa-access-profile aaa-profile; local-gateway { address 203.0.113.2; gateway-name ce-lns; } service-device-pool lns_p1; dynamic-profile dyn-lns-profile2; }
完成设备配置后,从配置模式输入 commit
。
为具有内联服务接口的 LNS 会话配置 L2TP 隧道组
L2TP 隧道组指定适用于来自一组 LAC 客户端的 L2TP 隧道和会话的属性。这些属性包括用于验证在本地网关地址上向 LNS 发出的 L2TP 连接请求的访问配置文件、覆盖全局访问配置文件的本地访问配置文件、激活计时器以及是否反映 IP ToS 值。
如果删除隧道组,则该隧道组中的所有 L2TP 会话都将终止。如果更改 、 service-device-pool
或service-interface
语句的值local-gateway-address
,则使用这些设置的所有 L2TP 会话都将终止。如果在层次结构级别更改[edit services l2tp tunnel-group name]
或删除其他语句,则您建立的新隧道将使用更新的值,但现有隧道和会话不受影响。
要配置 LNS 隧道组,请执行以下操作:
在不使用 RADIUS 的情况下将服务应用于 L2TP 会话
服务应用于 L2TP 会话以进行激活,或者稍后由 RADIUS 服务器或 RADIUS 授权更改 (CoA) 请求中的供应商特定属性 (VSA) 进行修改。从 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 的动态服务配置文件。
要将服务配置文件应用于隧道组中的所有订户,请执行以下操作:
指定一个或多个服务配置文件以及要传递给服务的任何参数。
[edit services l2tp tunnel-group group-name] user@host# set service-profile profile-name(parameter)&profile-name
要将服务配置文件应用于特定 LAC 的所有订阅者,请执行以下操作:
指定一个或多个服务配置文件以及要传递给服务的任何参数。
[edit access profile profile-name client client-name l2tp] user@host# set service-profile profile-name(parameter)&profile-name
注意:为 LAC 客户端和使用该客户端的隧道组配置服务配置文件时,仅应用 LAC 客户端服务配置文件。它会覆盖隧道组配置。例如,在以下配置中,隧道组 tg-LAC-3 使用 LAC 客户端 LAC-3,因此 LAC3 配置将覆盖隧道组配置。因此,只会为隧道组中的用户激活 cos-A3 服务,而不是为 Cos2 和 fw1 激活。为服务传递的整形速率为 24 Mbps。
[edit] user@host# set services l2tp tunnel-group tg-LAC-3 service-profile cos2(31000000)&fw1 user@host# set access profile prof-lac client LAC-3 l2tp service-profile cos-A3(24000000)
您可以通过发出以下命令来停用应用于订阅者会话的任何服务:
user@host> request network-access aaa subscriber delete session-id subscriber-session-id service-profile profile-name
您可以通过发出以下命令来重新激活应用于订阅者会话的任何服务:
user@host> request network-access aaa subscriber add session-id subscriber-session-id service-profile profile-name
要显示所有当前订阅者会话的服务会话,请使用 show subscribers extensive
或 show network-access aaa subscribers session-id id-number detail
命令。
为了了解本地服务应用程序的工作原理,以下示例说明了各种配置可能性。首先,考虑以下动态服务配置文件配置(cos2 和 fw1):
dynamic-profiles { cos2 { variables { shaping-rate default-value 10m; shaping-rate-in default-value 10m; data-in-filter uid; data-in-policer uid; } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { family inet; } } } class-of-service { traffic-control-profiles { TrafficShaper { scheduler-map a; shaping-rate "$shaping-rate"; } } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { output-traffic-control-profile TrafficShaper; } } } } } |
dynamic-profiles { fw1 { variables { v6input default-value v6ingress; v6output default-value v6egress; input default-value upstrm-filter; output default-value dwnstrm-filter; } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { family inet; } } } } }
以下语句将这两种服务应用于隧道组 tg1 中的所有订阅者;将 31 Mbps 的参数值传递给 CoS2 服务:
[edit] user@host# set services l2tp tunnel-group tg1 service-profile cos2(31000000)&fw1
在 cos2 服务配置文件中,整形速率由默认值为 10m 或 1Mbps 的用户定义变量提供。L2TP 会话启动后,将激活 cos2 和 fw1,服务会话 ID 分别为 34 和 35。
user@host1> show subscribers extensive ... Service Session ID: 34 Service Session Name: cos2 State: Active Family: inet Service Activation time: 2018-02-15 15:44:16 IST Service Session ID: 35 Service Session Name: fw1 State: Active Family: inet Service Activation time: 2018-02-15 15:44:16 IST Dynamic configuration: input: upstrm-filter output: dwnstrm-filter v6input: v6ingress v6output: v6egress
传递给 cos2 的参数用作$shaping速率的值;因此,服务的整形速率将从默认值 10 Mbps 调整为 31 Mbps,如以下命令输出所示。尽管输出指示调整应用程序为 RADIUS CoA,但调整是传递给服务配置文件的参数的结果。该操作使用与 CoA 相同的内部框架,并按此方式报告。
user@host1> show class-of-service interface si-1/0/0.3221225492 Logical interface: si-1/0/0.3221225492, Index: 3221225492 Object Name Type Index Traffic-control-profile subscriber-tcp-2 Output 23571 Scheduler-map a Output 4294967354 Classifier dscp-ipv6-compatibility dscp-ipv6 9 Classifier ipprec-compatibility ip 13 Adjusting application: RADIUS CoA Adjustment type: absolute configured-shaping-rate: 31000000 adjustment-value: 31000000 Adjustment overhead-accounting mode: frame mode Adjustment overhead bytes: 0 Adjustment target: node Adjustment priority: 1
现在,cos2 服务已从订阅者会话 27 的 CLI 中停用。
user@host1> request network-access aaa subscriber delete service-profile cos2 session-id 27 Successful completion
以下输出显示 cos2 已消失,只留下 fw1 作为活动服务。
user@host1> show subscribers extensive Type: L2TP User Name: user@example.com IP Address: 192.0.2.103 IP Netmask: 255.255.255.255 Logical System: default Routing Instance: default Interface: si-1/0/0.3221225492 Interface type: Dynamic Underlying Interface: si-1/0/0.3221225492 Dynamic Profile Name: dyn-lns-profile State: Active Radius Accounting ID: 27 Session ID: 27 PFE Flow ID: 42 Login Time: 2017-08-30 07:29:39 IST Service Sessions: 1 IP Address Pool: ipv4_pool Accounting interval: 600 Frame/cell mode: Frame Overhead accounting bytes: -38 Calculated downstream data rate: 1000000 kbps Adjusted downstream data rate: 1000000 kbps Service Session ID: 35 Service Session Name: fw1 State: Active Family: inet Service Activation time: 2018-02-15 15:44:16 IST Dynamic configuration: input: upstrm-filter output: dwnstrm-filter v6input: v6ingress v6output: v6egress
以下命令为订阅者会话 27 重新激活 cos2。
user@host1> request network-access aaa subscriber add service-profile cos2 session-id 27 Successful completion
重新激活的 cos2 服务具有新的服务会话 ID 36。
user@host1> show subscribers extensive ... Service Session ID: 35 Service Session Name: fw1 State: Active Family: inet Service Activation time: 2018-02-15 15:44:16 IST Dynamic configuration: input: upstrm-filter output: dwnstrm-filter v6input: v6ingress v6output: v6egress Service Session ID: 36 Service Session Name: cos2 State: Active Family: inet Service Activation time: 2018-02-15 15:58:23 IST
重新激活的 cos2 服务使用服务配置文件中的默认整形速率 10 Mbps。
user@host1> show class-of-service interface si-1/0/0.3221225492 Logical interface: si-1/0/0.3221225492, Index: 3221225492 Object Name Type Index Traffic-control-profile subscriber-tcp-2 Output 23571 Scheduler-map a Output 4294967354 Classifier dscp-ipv6-compatibility dscp-ipv6 9 Classifier ipprec-compatibility ip 13 Adjusting application: RADIUS CoA Adjustment type: absolute configured-shaping-rate: 10000000 adjustment-value: 10000000 Adjustment overhead-accounting mode: frame mode Adjustment overhead bytes: 0 Adjustment target: node Adjustment priority: 1
接下来,接收 RADIUS CoA 请求,其中包括激活服务 VSA (26-65)。VSA 指定并激活服务,并指定将 cos2 的整形速率从默认的 10 Mbps 更改为 12 Mbps。cos2 服务会话 36 仍会出现在输出中,但被 CoA 发起的新服务会话 49 取代。
user@host1> show subscribers extensive ... Service Session ID: 35 Service Session Name: fw1 State: Active Family: inet Service Activation time: 2018-02-15 15:44:16 IST Dynamic configuration: input: upstrm-filter output: dwnstrm-filter v6input: v6ingress v6output: v6egress Service Session ID: 36 Service Session Name: cos2 State: Active Family: inet Service Activation time: 2018-02-15 15:58:23 IST Service Session ID: 49 Service Session Name: cos2 State: Active Family: inet Service Activation time: 2018-02-15 16:25:04 IST Dynamic configuration: shaping-rate: 12000000 shaping-rate-in: 10m
user@host1> show class-of-service interface si-1/0/0.3221225492 Logical interface: si-1/0/0.3221225492, Index: 3221225492 Object Name Type Index Traffic-control-profile subscriber-tcp-2 Output 23571 Scheduler-map a Output 4294967354 Classifier dscp-ipv6-compatibility dscp-ipv6 9 Classifier ipprec-compatibility ip 13 Adjusting application: RADIUS CoA Adjustment type: absolute configured-shaping-rate: 12000000 adjustment-value: 12000000 Adjustment overhead-accounting mode: frame mode Adjustment overhead bytes: 0 Adjustment target: node Adjustment priority: 1
当 CLI 配置和 RADIUS VSA (26-65) 同时应用服务但参数不同时,RADIUS 配置将覆盖 CLI 配置。在以下示例中,CLI 配置将值为 31 Mbps 的 cos2 服务配置文件应用于整形速率。
[edit] user@host# set services l2tp tunnel-group tg1 service-profile cos2(31000000)
RADIUS 访问-接受消息服务激活 VSA (26-65) 应用值为 21 Mbps 的 cos2 作为整形速率。
l2tp@l2tp.com User-Password := "bras" Auth-Type = Local, Service-Type = Framed-User, Framed-Protocol = PPP, ERX-Service-Activate:1 += 'cos2(21000000)',
CLI 配置以 31 Mbps 的整形速率激活服务会话 22。RADIUS VSA 以 21 Mbps 的整形速率激活服务会话 23。
user@host1> show subscribers extensive ... Service Session ID: 22 Service Session Name: cos2 State: Active Family: inet Service Activation time: 2018-02-16 08:22:03 IST Dynamic configuration: shaping-rate: 31000000 shaping-rate-in: 10m Service Session ID: 23 Service Session Name: cos2 State: Active Family: inet Service Activation time: 2018-02-16 08:22:03 IST Dynamic configuration: shaping-rate: 21000000 shaping-rate-in: 10m
user@host1> show class-of-service interface si-1/0/0.3221225492 Logical interface: si-1/0/0.3221225492, Index: 3221225492 Object Name Type Index Traffic-control-profile subscriber-tcp-2 Output 23571 Scheduler-map a Output 4294967354 Classifier dscp-ipv6-compatibility dscp-ipv6 9 Classifier ipprec-compatibility ip 13 Adjusting application: RADIUS CoA Adjustment type: absolute configured-shaping-rate: 21000000 adjustment-value: 21000000 Adjustment overhead-accounting mode: frame mode Adjustment overhead bytes: 0 Adjustment target: node Adjustment priority: 1
为动态 LNS 会话配置内联服务接口池
您可以创建内联服务接口池(也称为 服务设备池),以实现跨接口的 L2TP 流量负载平衡。动态 LNS 配置支持该池,其中提供一组逻辑接口,可以动态创建这些接口并将其分配给 LNS 上的 L2TP 会话。池将分配给 LNS 隧道组。L2TP 维护每个内联服务接口的状态,并在接受新会话请求时使用轮询方法在可用接口之间均匀分配负载。
负载平衡仅适用于动态创建的用户接口。
只要存在通往对等 LAC 的其他路径,锚定在 MPC 上的 LNS 会话就不会受到 MIC 故障的影响。如果托管对等接口的 MPC 出现故障,并且没有指向对等 LAC 的路径,则故障将启动 MPC 上所有会话的终止和清理。
如果锚定 LNS 会话的 MPC 本身发生故障,则路由引擎不会将会话重新定位到另一个插槽,并且所有会话将立即终止。当客户端重试时,新会话可能会出现在另一个可用接口上。
要配置服务设备池:
为动态 LNS 会话配置动态配置文件
您可以将 L2TP 配置为动态为 L2TP 隧道分配内联服务接口。您必须定义一个或多个动态配置文件,并为每个隧道组分配一个配置文件。LNS 支持仅 IPv4、仅支持 IPv6 和双堆栈 IPv4/IPv6 会话。
要配置 L2TP 动态配置文件,请执行以下操作: