管理具有多个实例的用户服务
具有多实例的用户服务概述
服务将在登录时或使用授权变更 (CoA) RADIUS 消息或命令行界面 (CLI) 请求为用户激活。一个订阅者可以拥有同一命名服务的多个实例,前提是订阅者服务的每个实例都有一组不同的参数。支持订阅者服务的多个实例,您可以使用服务参数自定义同一服务,以满足特定订阅者的不同需求。
订阅者服务实例和服务参数
在用户接入网络中,每个用户都有自己的一套服务。您可以通过指定服务名称(也称为服务配置文件)以及该服务实例的唯一服务参数,为特定订阅者配置特定的服务实例。服务参数可以包括策略列表、过滤器、速率限制配置文件、服务等级 (CoS) 配置文件和接口配置文件的组合。
例如,filter-service(up-filter,down-filter) 和 filter-service(upstream-filter,downstream-filter) 被视为同一服务 (filter-service) 的两个不同实例,因为它们的参数(括在服务名称后面的括号中)是不同的。
每个服务实例都通过其服务名称和服务参数的组合进行唯一标识。在 CoA 消息中,路由器通过其完整的激活字符串来识别用户服务,该字符串由服务名称和一个或多个服务参数(如果已配置)按指定顺序组成。
停用具有多个实例的用户服务的 CLI
您可以通过以下任一方式使用 Junos OS CLI 停用具有多个实例的订阅者服务:
通过指定要停用的服务的名称和参数来停用订阅者服务的单个实例。
使用此功能,您可以停用订阅者服务的特定实例,而该服务的其他实例保持活动状态。例如,假设由特定会话 ID 标识的订阅者激活了两个 filter-service 实例:filter-service(up-filter,down-filter) 和 filter-service(upstream-filter,downstream-filter)。如果在命令中
request network-access aaa subscriber delete session-id指定 filter-service(up-filter,down-filter)“,则路由器仅停用 filter-service(up-filter,down-filter);filter-service(upstream-filter,downstream-filter) 保持活动状态。使用服务名称和服务参数来识别要停用的特定服务实例的能力类似于运行 JunosE 软件的瞻博网络 E Series 宽带服务路由器上使用的用户服务停用功能。
通过仅指定要停用的服务的名称(不使用服务参数)来停用订阅者服务的所有实例。
使用此功能,您可以使用单个作命令停用同一订阅者服务的所有实例。使用相同的用户服务示例,如果在命令中
request network-access aaa subscriber delete session-id指定“filter-service”,则路由器会停用 filter-service(up-filter,down-filter) 和 filter-service(upstream-filter,downstream-filter)。
RADIUS 中有多个实例的用户服务 计费消息
RADIUS Acct-Start、Interim-Acct 和 Acct-Stop 计费消息包括用户服务名称和服务参数(如果已配置)。如果启用了 RADIUS 日志记录,则路由器会在与 RADIUS 身份验证服务器之间发送和接收的消息中记录所有订阅者服务属性,包括服务名称和参数。
例如,假设路由器从 RADIUS 服务器接收以下 RADIUS 访问接受消息:
Jul 13 12:37:02 radius-access-accept: Activate-Service (Juniper-ERX-VSA) received: Tag (1) filter-service(up-filter,down-filter)
表 1 显示了路由器发送到 RADIUS 服务器以响应 Access-Accept 消息的记录 RADIUS Acct-Start、Interim-Acct 和 Acct-Stop 消息示例。在每条计费消息中,Activate-Service-Session-Name 都是完整的激活字符串,其中包含服务名称 (filter-service) 和服务参数 (up-filter,down-filter),用于标识服务实例。
RADIUS 计费消息类型 |
RADIUS 计费消息文本 |
|---|---|
访问-启动 |
Jul 13 12:37:02 radius-acct-start: Activate-Service-Session-Name (Juniper-ERX-VSA) added: filter-service(up-filter,down-filter) |
临时会计 |
Jul 13 12:47:00 radius-acct-interim: Activate-Service-Session-Name (Juniper-ERX-VSA) added: filter-service(up-filter,down-filter) |
接入-停止 |
Jul 13 12:53:59 radius-acct-stop: Activate-Service-Session-Name (Juniper-ERX-VSA) added: filter-service(up-filter,down-filter) |
也可以看看
停用订阅者服务的单个实例
对于具有多个实例的订阅者服务,您可以使用 Junos OS CLI 通过以下任一方式停用服务:
通过指定要停用的服务的名称和参数来停用服务的单个实例。
通过仅指定要停用的服务的名称来停用服务的所有实例。
本文介绍如何停用订阅者服务的单个实例。
要使用 Junos OS CLI 停用具有多个实例的订阅者服务的单个实例:
也可以看看
停用订阅者服务的所有实例
对于具有多个实例的订阅者服务,您可以使用 Junos OS CLI 通过以下任一方式停用服务:
通过指定要停用的服务的名称和参数来停用服务的单个实例。
通过仅指定要停用的服务的名称来停用服务的所有实例。
本文介绍如何停用订阅者服务的所有实例。
要使用 Junos OS CLI 停用具有多个实例的订阅者服务的所有实例:
也可以看看
验证具有多个实例的用户服务
目的
显示有关由指定会话 ID 标识的用户的活动服务的信息。
行动
以下示例显示有关由会话 ID 6 标识的 DHCP 订阅者的活动服务的信息。
user@host> show network-access aaa subscribers session-id 6 detail Type: dhcp Stripped username: fms2 AAA Logical system/Routing instance: default:default Target Logical system/Routing instance: default:default Access-profile: attr_test_profile1 Session ID: 6 Accounting Session ID: 6 Multi Accounting Session ID: 0 IP Address: 198.51.100.10 Authentication State: AuthStateActive Accounting State: Acc-Interim-Sent Provisioning Type: None Service name: economy-service(up-filter,down-filter) Service State: SvcActive Service Family: inet Service Activation Source: Radius Session ID: 7 Session uptime: 00:04:36 Accounting status: on/volume+time Service accounting session ID: 6:7-1354811427 Service accounting state: Acc-Start-Sent Accounting interim interval: 600 Service name: economy-service(upstrm-filter,dwnstrm-filter) Service State: SvcActive Service Family: inet Service Activation Source: Radius Session ID: 8 Session uptime: 00:04:36 Accounting status: on/volume+time Service accounting session ID: 6:8-1354811427 Service accounting state: Acc-Start-Sent Accounting interim interval: 600 Service name: premium-service Service State: SvcActive Service Family: inet Service Activation Source: Radius Session ID: 9 Session uptime: 00:04:36 Accounting status: on/volume+time Service accounting session ID: 6:9-1354811427 Service accounting state: Acc-Start-Sent Accounting interim interval: 600
意义
如果在激活具有多个实例的用户服务时配置了参数,Service name则命令中的show network-access aaa subscribers session-id字段将同时显示服务名称,并在服务名称后面的括号中显示服务参数。如果未为特定服务配置参数,show network-access aaa subscribers session-id命令仅显示服务名称。字段中的Service State值SvcActive表示服务处于活动状态。
在此示例中,economy-service 的两个实例处于活动状态: economy-service(up-filter,down-filter) 和 economy-service(upstrm-filter,dwnstrm-filter)。对于 premium-service(也处于活动状态),命令输出仅显示服务名称,表示未为此服务配置任何参数。