静态接口上的 JSRC 和订阅者
静态接口上的订阅者概述
您可以将订阅者与静态配置的接口相关联,并为这些订阅者提供动态服务激活和停用。出现静态接口时,事件被视为订阅者登录。接口关闭时,将被视为订阅者退出。
您可以将静态订阅者配置为通过 RADIUS 进行验证和授权。在这种情况下,RADIUS 可以使用授权更改 (CoA) 消息激活和停用服务。但是,此配置不会阻止接口出现并转发流量。此外,授权参数不会强加于用户接口上。
或者,您可以使用 JSRC 为这些订阅者动态激活和停用服务。在会话数据库 (SDB) 中存在订阅者后,JSRC 可以向 SAE 报告订阅者,以便 SRC 软件随后可以管理订阅者。
以下准则适用于静态订阅者:
静态订阅者仅在以太网接口、静态多路分离接口和通过逻辑隧道 (PS/LT) 的伪线接口上受支持。在 Junos OS 18.3R1 版中引入的 PS/LT 支持可为静态配置订阅者实现完全订阅者管理(相当于动态订阅者),这些订阅者的流量通过 IP/MPLS 访问模型传输。
在给定接口上只能存在一个静态订阅者。
一个接口不能出现在多个组中。
静态订阅者不能通过动态接口创建。
静态订阅者旨在与 JSRC 配合使用。在 provisioning-order jsrc
层次结构级别包括语句 [edit access profile profile-name]
,使 JSRC 能够按 SRC 软件的方向处理订阅者。
如果静态订阅者的身份验证请求失败,则 60 分钟的不可配置计时器将开始倒数。计时器过期时将重新提出请求。只要接口正常运行,此操作将重复。
您可以通过发出 request services static-subscribers logout interface interface-name
命令强制退出静态订阅者。静态订阅者也可由 AAA 或外部策略管理器注销。在这两种情况下,在您通过发出 request services static-subscribers login interface interface-name
命令或重新启动路由器或进程来重置状态之前,不会在底层接口上进行后续登录。
您可以通过发出 request services static-subscriber logout group group-name
命令来退出接口组。随后,您可以通过发出 request services static-subscriber login group group-name
命令来登录一组接口。
为静态订阅者配置动态配置文件不需要新的 CLI 语句。动态配置文件可以非常简单;它在登录时激活,在退出时停用。如果未配置配置文件,则会自动激活 junos-default-配置文件 。
在 平滑路由引擎切换 (GRES) 事件期间,将恢复主动的静态订阅者,清理不活动的订阅者,并为正在退出的订阅者继续退出。
在 static-subscribers
层次结构级别包括语句 [edit system services]
,以配置静态订阅者。在 traceoptions
层次结构级别包括语句 [edit system processes static-subscribers]
,为静态订阅者配置跟踪操作。
您可以为所有静态订阅者或特定静态订阅者组配置访问配置文件、动态配置文件、服务配置文件和身份验证参数:
要配置访问配置文件,以便为所有静态订阅者的静态订阅者触发 AAA 服务,请在层次结构级别添加
access-profile
语句[edit system services static-subscribers]
。或者,在层次结构级别包含此语句[edit system services static-subscribers group group-name]
,以将配置文件应用到特定组并覆盖顶层配置。要配置当静态订阅者登录时实例化的动态配置文件,请在层次结构级别添加语句
dynamic-profile
[edit system services static-subscribers]
。或者,在层次结构级别包含此语句[edit system services static-subscribers group group-name]
,以将配置文件应用到特定组并覆盖顶层配置。请勿指定用于创建动态接口的动态配置文件。要为全局级别和组级别的所有静态订阅者配置服务配置文件,请将语句
service-profile
包含在 。[edit system services static-subscribers group group-name] hierarchy level
要配置用于为所有静态订阅者触发向 AAA 发送访问请求消息的身份验证参数,请在层次结构级别添加
authentication
语句[edit system services static-subscribers]
。或者,在层次结构级别包含该语句[edit system services static-subscribers group group-name]
,以配置特定组的身份验证并覆盖顶层配置。如果未配置身份验证,则默认情况下,接口名称将修改并用作订阅者会话和身份验证请求的默认用户名。
可配置的身份验证参数包括密码和用户名形成方式的详细信息。在 password
层次结构级别包括语句 [edit system services static-subscribers authentication]
,以为所有静态订阅者的身份验证密码配置。或者,在层次结构级别包含该语句 [edit system services static-subscribers group group-name authentication]
,以配置特定组的身份验证并覆盖顶层配置。
发送至 AAA 进行认证的用户名必须至少包含以下属性之一:
域名
用户前缀
接口名称
逻辑系统名称
路由实例名称
要配置如何为所有静态订阅者形成用户名,请在层次结构级别包括所需的语句 [edit system services static-subscribers authentication]
: domain-name
、 user-prefix
、 logical-system-name
或 routing-instance-name
。或者,在层次结构级别添加所需的语句 [edit system services static-subscribers group group-name authentication]
,以配置特定组的用户名并覆盖顶层配置。
如果更改现有组或全局静态订阅者的身份验证配置,则更改不会影响现有静态订阅者。这些更改只会应用于在您提交更改后尝试的任何新登录。
组配置必须指定您希望支持静态订阅者的所有接口。在 interface
层次结构级别包括语句 [edit system services static-subscribers group group-name]
以指定接口。您可以通过此语句指定单个接口或一系列接口。
您还必须静态配置这些接口,然后才能支持任何静态订阅者。您必须在与包括接口的组相同的逻辑系统和路由实例中配置静态接口。
如果更改包含在现有接口组中的接口,则现有静态订阅者会自动退出,然后在您提交更改时重新登录。但是,对接口本身配置所做的更改不会影响与该接口关联的静态订阅者的登录或注销状态。
默认情况下,同一 VLAN 逻辑接口不支持多个订阅者。如果您想支持此行为,则可以通过两种方式之一在单个逻辑接口上管理多个订阅者。您可以合并多个订阅者的防火墙过滤器和 CoS 属性等属性,也可以当新订阅者日志到底层 VLAN 逻辑接口时,将当前属性替换为新订阅者的属性。
要对所有静态接口启用属性合并,请将语句
aggregate-clients merge
[edit system services static-subscribers]
包含在层次结构级别。或者,在[edit system services static-subscribers group group-name]
层次结构级别包含此语句,以便为特定的静态接口组启用属性合并并覆盖顶层配置。要对所有静态接口启用属性替换,请将语句
aggregate-clients replace
[edit system services static-subscribers]
包含在层次结构级别。或者,在层次结构级别包含此语句[edit system services static-subscribers group group-name]
,以启用特定静态接口组的属性替换并覆盖顶层配置。
订阅者在静态接口上的优势
使静态订阅者能够配置服务配置文件。
为具有静态配置接口的关联订阅者提供动态服务激活。
通过 RFC 兼容性提供竞争优势。
基于静态接口的订阅者配置概述
本主题介绍通过静态接口(静态订阅者)配置订阅者的过程。
通过静态接口配置订阅者之前,请执行以下操作:
配置要创建和管理订阅者的静态接口。
创建访问配置文件,为静态订阅者触发 AAA 服务。
创建静态订阅者登录时实例化的动态配置文件。
要配置静态订阅者:
示例:为订阅者访问配置静态订阅者
此示例显示静态订阅者配置。
配置要用于静态订阅者的访问配置文件。
access { profile access5 { provisioning-order jsrc; accounting { order radius; } authentication { order radius; } } }
配置要用于静态订阅者的动态配置文件。
如果未配置此配置文件,将使用默认配置文件 junos-default-profile。
配置将静态订阅者分层的静态接口。
配置全局应用于配置上下文中所有静态订阅者的参数。
static-subscribers { access-profile access5; dynamic-profile dyn-profile-1; authentication { password $ABC123; username-include { user-prefix Building5; interface; logical-system-name; routing-instance-name; domain-name example.com; } } }
如果要覆盖某些静态订阅者的全局参数,请为这些订阅者创建一组静态接口,并配置要应用于该组的参数。根据需要为多个组重复这一步。
static-subscribers { group boston { interface ge-1/0/1.1 upto ge-1/0/1.102 interface ge-1/0/1.6 exclude interface ge-1/0/1.70 upto ge-1/0/1.80 exclude access-profile boston-acs; dynamic-profile dyn-profile-2; authentication { password $ABC123; username-include { user-prefix 2ndFloor; interface; logical-system-name; routing-instance-name; domain-name example.net; } } } }
为静态订阅者事件配置跟踪选项。
static-subscribers { traceoptions { file filename <files number> <match regular-expression > <size maximum-file-size> <world-readable | no-world-readable>; flag flag; level (all | error | info | notice | verbose | warning); no-remote-trace; } }
指定静态订阅者全局访问配置文件
您可以指定之前创建的访问配置文件,用于为所有静态订阅者触发 AAA 服务。如果为该组配置了不同的配置文件,则可以为一组静态订阅者重写此值。
要指定用于所有静态订阅者的访问配置文件,
指定配置文件名称。
[edit system services static-subscribers] user@host# set access-profile access5
指定静态订阅者全局动态配置文件
您可以指定之前创建的动态配置文件,当静态订阅者登录时,该动态配置文件将实例化。此配置文件适用于所有静态订阅者。如果为该组配置了不同的配置文件,则可以为一组静态订阅者重写此值。
要指定用于所有静态订阅者的动态配置文件,
指定配置文件名称。
[edit system services static-subscribers] user@host# set dynamic-profile dyn-profile-1
在 VLAN 逻辑接口上为所有静态订阅者启用多个订阅者
对于给定的接口,仅登录一个静态订阅者(或组)。虽然我们不推荐这种做法,但您可能在同一接口上配置了其他类型的订阅者,例如由 DHCP 应用程序管理的 DHCP 订阅者。您可以使用语句 aggregate-clients
为所有静态订阅者扩展动态配置文件,使多个订阅者能够共享同一 VLAN 逻辑接口。
您可以指定为逻辑接口合并多个订阅者的属性(如 CoS 或防火墙)。也就是说,不同类型的多个订阅者的配置文件在接口上实例化,但每个订阅者的配置文件属性会合并在一起。或者,您可以指定将当前订阅者的实例化配置文件替换为使用相同逻辑接口登录的新订阅者的配置文件。如果为该组应用了不同的配置,则可以为一组静态订阅者重写此配置。
增强型订阅者管理不支持该 aggregate-clients
语句。
要使多个订阅者为所有静态订阅者共享同一 VLAN 逻辑接口,请执行以下操作之一:
指定合并逻辑接口的多个订阅者属性。
[edit system services static-subscribers dynamic-profile dyn-profile-1] user@host# set aggregate-clients merge
指定当新订阅者使用相同的 VLAN 逻辑接口登录网络时,将替换整个逻辑接口。
[edit system services static-subscribers dynamic-profile dyn-profile-3] user@host# set aggregate-clients replace
配置静态订阅者全局身份验证密码
您可以配置发送至 AAA 的访问请求消息中包含的密码,以对所有静态订阅者进行身份验证。如果为该组配置了其他密码,则可以为一组静态订阅者覆盖此值。
要指定用于所有静态订阅者的身份验证密码,
指定密码。
[edit system services static-subscribers authentication] user@host# set password $ABC123
配置静态订阅者全局用户名
您可以配置用户名的形成方式。该用户名用作创建的所有静态订阅者的用户名,并包含在发送至 AAA 的访问请求消息中,用于对所有静态订阅者进行身份验证。如果为该组配置了不同的用户名,则可以为一组静态订阅者覆盖此值。
用户名必须至少包含一个可能元素。每个元素的值都按特定顺序串联;生成的字符串为用户名。如果指定包括它们,则接口名称、逻辑系统名称、路由实例名称和 VLAN 标记将从配置上下文派生。元素的排序方式如下(用默认分隔符显示):
user-prefix.interface.outer-tag–inner-tag.logical-system-name。routing-instance-name@domain-name
要配置所有静态订阅者的用户名:
考虑以下配置:
[edit system services static-subscribers authentication username-include] user@host# set user-prefix Building5 user@host# set interface user@host# set logical-system-name user@host# set routing-instance-name user@host# set domain-name campus.example.com
此示例配置在接口 ge-0/1/1/1.100 的默认逻辑系统和主路由实例中配置,将生成以下用户名:
Building5.ge-0-1-1-100.default.master@campus.example.com
现在考虑另一种配置,其中静态接口具有双标记 VLAN,外部 VLAN ID 为 4040,内部 VLAN ID 为 3000:
[edit system services static-subscribers authentication username-include] user@host# set user-prefix Floor12 user@host# set domain-name Bldg5.example.com user@host# set vlan-tags user@host# set delimiter $
此示例配置将生成以下用户名:
Floor12$4040-3000@Bldg5.example.com
即使配置了分隔符$
,外部 VLAN ID 和内部 VLAN ID 始终隔开为,-
并且域名始终与前面的元素隔开,@
创建静态订阅者组
您可以通过创建一个由一组静态配置的接口组成的静态订阅者组来覆盖全局应用于静态订阅者的配置。然后,您可以为具有与访问和动态配置文件、密码和用户名的全局值不同的组应用通用配置。
要为静态订阅者配置接口组,请执行以下操作:
指定静态订阅者组访问配置文件
您可以通过为一组静态订阅者指定不同的配置文件来覆盖配置的全局访问配置文件。访问配置文件会为该静态订阅者组触发 AAA 服务。
要指定用于一组静态订阅者的访问配置文件,
指定配置文件名称。
[edit system services static-subscribers group boston] user@host# set access-profile boston-acs
指定静态订阅者组动态配置文件
您可以通过为一组静态订阅者指定不同的配置文件来覆盖配置的全局动态配置文件。当组中的任何静态订阅者登录时,将实例化动态配置文件。
要指定用于一组静态订阅者的动态配置文件:
指定配置文件名称。
[edit system services static-subscribers group boston] user@host# set dynamic-profile dyn-profile-2
指定静态订阅者组服务配置文件
当外部策略服务器不可用时,您可以通过指定 Junos OS 17.4R1 版本起的服务配置文件,为静态订阅者会话分配默认动态服务配置文件。可以在组级别和全局级别指定服务配置文件。在service-profile
[edit system services static-subscribers group group-name] hierarchy level
要指定用于一组静态订阅者的服务配置文件:
指定动态服务配置文件名称。
[edit system services static-subscribers group group-name] user@host# set service-profile service-profile-name
在 VLAN 逻辑接口上为静态订阅者组启用多个订阅者
对于给定的接口,仅登录一个静态订阅者组(或静态订阅者)。虽然我们不推荐这种做法,但您可能在同一接口上配置了其他类型的订阅者,例如由 DHCP 应用程序管理的 DHCP 订阅者。您可以使用语句 aggregate-clients
扩展静态订阅者组的动态配置文件,使多个订阅者能够共享同一 VLAN 逻辑接口。
您可以指定为逻辑接口合并多个订阅者的属性(如 CoS 或防火墙)。也就是说,不同类型的多个订阅者的配置文件在接口上实例化,但每个订阅者的配置文件属性会合并在一起。或者,您可以指定将当前订阅者组的实例化配置文件替换为使用相同逻辑接口登录的新订阅者的配置文件。此配置将覆盖应用于非组成员的所有静态订阅者的配置。
要使多个订阅者为静态订阅者组共享同一 VLAN 逻辑接口,请执行以下操作之一:
指定合并逻辑接口的多个订阅者属性。
[edit system services static-subscribers group boston dynamic-profile dyn-profile-2] user@host# set aggregate-clients merge
指定当新订阅者使用相同的 VLAN 逻辑接口登录网络时,将替换整个逻辑接口。
[edit system services static-subscribers group boston dynamic-profile dyn-profile-4] user@host# set aggregate-clients replace
配置静态订阅者组身份验证密码
您可以通过为一组静态订阅者指定其他密码来覆盖配置的全局身份验证密码。此密码包含在发送至 AAA 的访问-请求消息中,用于对组中的所有静态订阅者进行身份验证。
要指定用于一组静态订阅者的身份验证密码,
指定密码。
[edit system services static-subscribers group boston authentication] user@host# set password $ABC123
配置静态订阅者组用户名
您可以通过为一组静态订阅者指定不同的用户名来覆盖配置的全局用户名。该用户名用作创建并包含在发送至 AAA 的用于验证该组的接入-请求消息中的一组静态订阅者的用户名。
用户名必须至少包含一个可能元素。每个元素的值都按特定顺序串联;生成的字符串为用户名。如果指定包括它们,则接口名称、逻辑系统名称、路由实例名称和 VLAN 标记将从配置上下文派生。元素的排序方式如下(用默认分隔符显示):
user-prefix.interface.outer-tag–inner-tag.logical-system-name。routing-instance-name@domain-name
要为一组静态订阅者配置用户名:
请考虑订阅者组 shipping
的以下配置:
[edit system services static-subscribers group shipping authentication username-include] user@host# set user-prefix warehouse3 user@host# set interface user@host# set logical-system-name user@host# set routing-instance-name user@host# set domain-name campus.example.com
此示例配置在用于接口 ge-0/1/2.50 的默认逻辑系统和路由实例 R5 中配置,将生成以下用户名:
warehouse3.ge-0-1-2-50.default.R5@campus.example.com
现在考虑为同一订阅者组使用不同的配置,其中静态接口具有外部 VLAN ID 为 2101 的单标记 VLAN:
[edit system services static-subscribers group shipping authentication username-include] user@host# set user-prefix warehouse3 user@host# set domain-name Bldg5.example.com user@host# set vlan-tags user@host# set delimiter %
此示例配置将生成以下用户名:
warehouse3%2101@Bldg5.example.com
即使配置了分隔符,%
域名始终与前面的元素分隔开。@