01-AAA配置
本章节下载: 01-AAA配置 (1.99 MB)
目 录
1.5.11 配置发送给RADIUS服务器的用户名格式和数据统计单位
1.5.17 配置RADIUS Attribute 5的封装格式
1.5.19 配置RADIUS Attribute 15的检查方式
1.5.20 配置RADIUS Attribute 25的CAR参数解析功能
1.5.21 配置RADIUS Attribute 31中的MAC地址格式
1.5.22 配置RADIUS Attribute 85号属性优先
1.5.23 配置RADIUS Attribute 87的格式
1.5.24 配置RADIUS Remanent_Volume属性的流量单位
1.5.25 配置Vendor ID为2011的RADIUS服务器版本号
1.5.27 配置同时上传IPv4 NAS-IP地址和IPv6 NAS-IP地址
1.5.28 配置RADIUS服务器都处于block状态后的请求动作
1.5.30 配置用户下线时设备强制发送RADIUS计费停止报文
1.5.32 配置RADIUS的accounting-on功能
1.5.33 配置RADIUS的session control功能
1.5.39 配置用户下线原因码和RADIUS协议下线原因码的映射关系
1.6.10 配置发送给HWTACACS服务器的用户名格式和数据统计单位
1.9.6 设置设备上传到服务器的用户在线时间中保留闲置切断时间
1.9.13 配置PPP/IPoE用户的Web重定向URL有效时长
1.9.14 配置PPP/IPoE用户的Web重定向页面的服务器IP地址
1.9.16 配置PPPoE/L2TP用户主业务依赖的IP地址类型
1.9.17 配置PPPoE/L2TP用户等待分配IPv6地址/PD的最大时长
1.9.23 开启对用户上线接口的VPN配置进行严格一致性检查功能
1.26.3 SSH用户的HWTACACS认证、授权、计费配置
1.26.5 PPP用户的HWTACACS认证、授权、计费配置
1.28.3 附录C RADIUS扩展属性(Vendor-ID=25506)
AAA(Authentication、Authorization、Accounting,认证、授权、计费)是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。
· 认证:确认访问网络的远程用户的身份,判断访问者是否为合法的网络用户。
· 授权:对不同用户赋予不同的权限,限制用户可以使用的服务。例如,管理员授权办公用户才能对服务器中的文件进行访问和打印操作,而其它临时访客不具备此权限。
· 计费:记录用户使用网络服务过程中的所有操作,包括使用的服务类型、起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监视作用。
AAA采用客户端/服务器结构,客户端运行于NAS(Network Access Server,网络接入服务器)上,负责验证用户身份与管理用户接入,服务器上则集中管理用户信息。AAA的基本组网结构如图1-1。
图1-1 AAA基本组网结构示意图
当用户想要通过NAS获得访问其它网络的权利或取得某些网络资源的权利时,首先需要通过AAA认证,而NAS就起到了验证用户的作用。NAS负责把用户的认证、授权、计费信息透传给服务器。服务器根据自身的配置对用户的身份进行判断并返回相应的认证、授权、计费结果。NAS根据服务器返回的结果,决定是否允许用户访问外部网络、获取网络资源。
AAA可以通过多种协议来实现,这些协议规定了NAS与服务器之间如何传递用户信息。目前设备支持RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)协议、HWTACACS(HW Terminal Access Controller Access Control System,HW终端访问控制器控制系统协议)协议和LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)协议,在实际应用中,最常使用RADIUS协议。
用户可以根据实际组网需求来决定认证、授权、计费功能分别由使用哪种协议类型的服务器来承担。例如,可以选择HWTACACS服务器实现认证和授权,RADIUS服务器实现计费。
当然,用户也可以只使用AAA提供的一种或两种安全服务。例如,公司仅仅想让员工在访问某些特定资源时进行身份认证,则网络管理员只需要配置认证服务器。但是若希望对员工使用网络的情况进行记录,那么还需要配置计费服务器。
目前,设备支持动态口令认证机制。
RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。RADIUS协议合并了认证和授权的过程,它定义了RADIUS的报文格式及其消息传输机制,并规定使用UDP作为封装RADIUS报文的传输层协议,UDP端口1812、1813分别作为认证/授权、计费端口。
RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入、ADSL接入。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。
· 客户端:RADIUS客户端一般位于NAS上,可以遍布整个网络,负责将用户信息传输到指定的RADIUS服务器,然后根据服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
· 服务器:RADIUS服务器一般运行在中心计算机或工作站上,维护用户的身份信息和与其相关的网络服务信息,负责接收NAS发送的认证、授权、计费请求并进行相应的处理,然后给NAS返回处理结果(如接受/拒绝认证请求)。另外,RADIUS服务器还可以作为一个代理,以RADIUS客户端的身份与其它的RADIUS认证服务器进行通信,负责转发RADIUS认证和计费报文。
RADIUS服务器通常要维护三个数据库,如图1-2所示:
图1-2 RADIUS服务器的组成
· “Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
· “Clients”:用于存储RADIUS客户端的信息(如NAS的共享密钥、IP地址等)。
· “Dictionary”:用于存储RADIUS协议中的属性和属性值含义的信息。
RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的。共享密钥是一个带外传输的客户端和服务器都知道的字符串,不需要单独进行网络传输。RADIUS报文中有一个16字节的验证字字段,它包含了对整个报文的数字签名数据,该签名数据是在共享密钥的参与下利用MD5算法计算出的。收到RADIUS报文的一方要验证该签名的正确性,如果报文的签名不正确,则丢弃它。通过这种机制,保证了RADIUS客户端和RADIUS服务器之间信息交互的安全性。另外,为防止用户密码在不安全的网络上传递时被窃取,在RADIUS报文传输过程中还利用共享密钥对用户密码进行了加密。
RADIUS服务器支持多种方法来认证用户,例如PAP(Password Authentication Protocol,密码认证协议)、CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议)以及EAP(Extensible Authentication Protocol,可扩展认证协议)。
用户、RADIUS客户端和RADIUS服务器之间的交互流程如图1-3所示。
图1-3 RADIUS的基本消息交互流程
消息交互流程如下:
(2) 用户发起连接请求,向RADIUS客户端发送用户名和密码。
(3) RADIUS客户端根据获取的用户名和密码,向RADIUS服务器发送认证请求包(Access-Request),其中的密码在共享密钥的参与下利用MD5算法进行加密处理。
(4) RADIUS服务器对用户名和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受包(Access-Accept);如果认证失败,则返回认证拒绝包(Access-Reject)。由于RADIUS协议合并了认证和授权的过程,因此认证接受包中也包含了用户的授权信息。
(5) RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request)。
(6) RADIUS服务器返回计费开始响应包(Accounting-Response),并开始计费。
(7) 用户开始访问网络资源。
(8) 用户请求断开连接。
(9) RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request)。
(10) RADIUS服务器返回计费结束响应包(Accounting-Response),并停止计费。
(11) 通知用户结束访问网络资源。
RADIUS采用UDP报文来传输消息,通过定时器机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息的正确收发。RADIUS报文结构如图1-4所示。
图1-4 RADIUS报文结构
各字段的解释如下:
(2) Code域
长度为1个字节,用于说明RADIUS报文的类型,如表1-1所示。
表1-1 Code域的主要取值说明
Code |
报文类型 |
报文说明 |
1 |
Access-Request认证请求包 |
方向Client->Server,Client将用户信息传输到Server,请求Server对用户身份进行验证。该报文中必须包含User-Name属性,可选包含NAS-IP-Address、User-Password、NAS-Port等属性 |
2 |
Access-Accept认证接受包 |
方向Server->Client,如果Access-Request报文中的所有Attribute值都可以接受(即认证通过),则传输该类型报文 |
3 |
Access-Reject认证拒绝包 |
方向Server->Client,如果Access-Request报文中存在任何无法被接受的Attribute值(即认证失败),则传输该类型报文 |
4 |
Accounting-Request计费请求包 |
方向Client->Server,Client将用户信息传输到Server,请求Server开始/停止计费。该报文中的Acct-Status-Type属性用于区分计费开始请求和计费结束请求 |
5 |
Accounting-Response计费响应包 |
方向Server->Client,Server通知Client已经收到Accounting-Request报文,并且已经正确记录计费信息 |
(3) Identifier域
长度为1个字节,用于匹配请求包和响应包,以及检测在一段时间内重发的请求包。对于类型一致且属于同一个交互过程的请求包和响应包,该Identifier值相同。
(4) Length域
长度为2个字节,表示RADIUS数据包(包括Code、Identifier、Length、Authenticator和Attribute)的长度,单位为字节。超过Length域的字节将作为填充字符被忽略。如果接收到的包的实际长度小于Length域的值时,则包会被丢弃。
(5) Authenticator域
长度为16个字节,用于验证RADIUS服务器的应答报文,另外还用于用户密码的加密。Authenticator包括两种类型:Request Authenticator和Response Authenticator。
(6) Attribute域
不定长度,用于携带专门的认证、授权和计费信息。Attribute域可包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。
¡ 类型(Type):表示属性的类型。
¡ 长度(Length):表示该属性(包括类型、长度和属性值)的长度,单位为字节。
¡ 属性值(Value):表示该属性的信息,其格式和内容由类型决定。
RADIUS协议具有良好的可扩展性,RFC 2865中定义的26号属性(Vendor-Specific)用于设备厂商对RADIUS进行扩展,以实现标准RADIUS没有定义的功能。
设备厂商可以在26号属性中封装多个自定义的(Type、Length、Value)子属性,以提供更多的扩展功能。26号属性的格式如图1-5所示:
· Vendor-ID,表示厂商代号,最高字节为0,其余3字节的编码见RFC 1700。
· Vendor-Type,表示子属性类型。
· Vendor-Length,表示子属性长度。
· Vendor-Data,表示子属性的内容。
H3C设备支持的私有RADIUS扩展属性的Vendor-ID为25506,属性的具体介绍请参见“附录C RADIUS扩展属性(Vendor-ID=25506)”。
图1-5 26号属性的格式
HWTACACS(HW Terminal Access Controller Access Control System,HW终端访问控制器控制系统协议)是在TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与RADIUS协议类似,采用客户端/服务器模式实现NAS与HWTACACS服务器之间的通信。
HWTACACS协议典型应用是对需要登录到NAS设备上进行操作的终端用户进行认证、授权以及对终端用户执行的操作进行记录。设备作为HWTACACS的客户端,将用户名和密码发给HWTACACS服务器进行验证,用户验证通过并得到授权之后可以登录到设备上进行操作,HWTACACS服务器上会记录用户对设备执行过的命令。
HWTACACS协议与RADIUS协议都实现了认证、授权和计费功能,它们有很多相似点:结构上都采用客户端/服务器模式;都使用共享密钥对传输的用户信息进行加密;都有灵活性和可扩展性。两者之间存在的主要区别如表1-2所示。
表1-2 HWTACACS协议和RADIUS协议区别
HWTACACS协议 |
RADIUS协议 |
使用TCP,网络传输更可靠 |
使用UDP,网络传输效率更高 |
除了HWTACACS报文头,对报文主体全部进行加密 |
只对认证报文中的密码字段进行加密 |
协议报文较为复杂,认证和授权分离,使得认证、授权服务可以分离在不同的服务器上实现。例如,可以用一个HWTACACS服务器进行认证,另外一个HWTACACS服务器进行授权 |
协议报文比较简单,认证和授权结合,难以分离 |
支持对设备的配置命令进行授权使用。用户可使用的命令行受到用户角色和AAA授权的双重限制,某角色的用户输入的每一条命令都需要通过HWTACACS服务器授权,如果授权通过,命令就可以被执行 |
不支持对设备的配置命令进行授权使用 用户登录设备后可以使用的命令行由用户所具有的角色决定,关于用户角色的相关介绍请参见“基础配置指导”中的“RBAC” |
下面以Telnet用户为例,说明使用HWTACACS对用户进行认证、授权和计费的过程。基本消息交互流程图如图1-6所示。
图1-6 Telnet用户认证、授权和计费流程图
基本消息交互流程如下:
(2) Telnet用户请求登录设备,按照系统提示输入用户名和密码。
(3) HWTACACS客户端收到请求之后,向HWTACACS服务器发送认证开始报文,报文中携带了用户名。
(4) HWTACACS服务器发送认证回应报文,请求登录用户的密码。
(5) HWTACACS客户端向HWTACACS服务器发送认证持续报文,报文中携带了登录密码。
(6) 如果认证成功,HWTACACS服务器发送认证回应报文,指示用户通过认证。
(7) HWTACACS客户端向HWTACACS服务器发送授权请求报文。
(8) 如果授权成功,HWTACACS服务器发送授权回应报文,指示用户通过授权。
(9) HWTACACS客户端收到授权成功报文,向用户输出设备的配置界面,允许用户登录。
(10) HWTACACS客户端向HWTACACS服务器发送计费开始报文。
(11) HWTACACS服务器发送计费回应报文,指示计费开始报文已经收到。
(12) 用户请求断开连接。
(13) HWTACACS客户端向HWTACACS服务器发送计费结束报文。
(14) HWTACACS服务器发送计费结束报文,指示计费结束报文已经收到。
LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种目录访问协议,用于提供跨平台的、基于标准的目录服务。它是在X.500协议的基础上发展起来的,继承了X.500的优点,并对X.500在读取、浏览和查询操作方面进行了改进,适合于存储那些不经常改变的数据。
LDAP协议的典型应用是用来保存系统中的用户信息,如Microsoft的Windows操作系统就使用了Active Directory Server(一种LDAP服务器软件)来保存操作系统的用户、用户组等信息,用于用户登录Windows时的认证和授权。
LDAP中使用目录记录并管理系统中的组织信息、人员信息以及资源信息。目录按照树型结构组织,由多个条目(Entry)组成的。条目是具有DN(Distinguished Name,识别名)的属性(Attribute)集合。属性用来承载各种类型的数据信息,例如用户名、密码、邮件、计算机名、联系电话等。
LDAP协议基于Client/Server结构提供目录服务功能,所有的目录信息数据存储在LDAP服务器上。目前,Microsoft的Active Directory Server、IBM的Tivoli Directory Server和Sun的Sun ONE Directory Server都是常用的LDAP服务器软件。
AAA可以使用LDAP协议对用户提供认证和授权服务。LDAP协议中定义了多种操作来实现LDAP的各种功能,用于认证和授权的操作主要为绑定和查询。
· 绑定操作的作用有两个:一是与LDAP服务器建立连接并获取LDAP服务器的访问权限。二是用于检查用户信息的合法性。
· 查询操作就是构造查询条件,并获取LDAP服务器的目录资源信息的过程。
使用LDAP协议进行认证时,其基本的工作流程如下:
(1) LDAP客户端使用LDAP服务器管理员DN与LDAP服务器进行绑定,与LDAP服务器建立连接并获得查询权限。
(2) LDAP客户端使用认证信息中的用户名构造查询条件,在LDAP服务器指定根目录下查询此用户,得到用户的DN。
(3) LDAP客户端使用用户DN和用户密码与LDAP服务器进行绑定,检查用户密码是否正确。
使用LDAP协议进行授权的过程与认证过程相似,首先必须通过与LDAP服务器进行绑定,建立与服务器的连接,然后在此连接的基础上通过查询操作得到用户的授权信息。与认证过程稍有不同的是,授权过程不仅仅会查询用户DN,还会同时查询相应的LDAP授权信息。
下面以Telnet用户登录设备为例,说明如何使用LDAP认证服务器来对用户进行认证。用户的LDAP认证基本消息交互流程如图1-7所示。
图1-7 LDAP认证的基本消息交互流程
基本消息交互流程如下:
(2) 用户发起连接请求,向LDAP客户端发送用户名和密码。
(3) LDAP客户端收到请求之后,与LDAP服务器建立TCP连接。
(4) LDAP客户端以管理员DN和管理员DN密码为参数向LDAP服务器发送管理员绑定请求报文(Administrator Bind Request)获得查询权限。
(5) LDAP服务器进行绑定请求报文的处理。如果绑定成功,则向LDAP客户端发送绑定成功的回应报文。
(6) LDAP客户端以输入的用户名为参数,向LDAP服务器发送用户DN查询请求报文(User DN Search Request)。
(7) LDAP服务器收到查询请求报文后,根据报文中的查询起始地址、查询范围、以及过滤条件,对用户DN进行查找。如果查询成功,则向LDAP客户端发送查询成功的回应报文。查询得到的用户DN可以是一或多个。
(8) LDAP客户端以查询得到的用户DN和用户输入的密码为参数,向LDAP服务器发送用户DN绑定请求报文(User DN Bind Request),检查用户密码是否正确。
(9) LDAP服务器进行绑定请求报文的处理。
¡ 如果绑定成功,则向LDAP客户端发送绑定成功的回应报文。
¡ 如果绑定失败,则向LDAP客户端发送绑定失败的回应报文。LDAP客户端以下一个查询到的用户DN(如果存在的话)为参数,继续向服务器发送绑定请求,直至有一个DN绑定成功,或者所有DN均绑定失败。如果所有用户DN都绑定失败,则LDAP客户端通知用户登录失败并拒绝用户接入。
(10) LDAP客户端保存绑定成功的用户DN,并进行授权处理。如果设备采用LDAP授权方案,则进行图1-8所示的用户授权交互流程;如果设备采用非LDAP的授权方案,则执行其它协议的授权处理流程,此处略。
(11) 授权成功之后,LDAP客户端通知用户登录成功。
图1-8 LDAP授权的基本消息交互流程
(12)
下面以Telnet用户登录设备为例,说明如何使用LDAP服务器来对用户进行授权。用户的LDAP授权基本消息交互流程如图1-9所示。
图1-9 LDAP授权的基本消息交互流程
(2) 用户发起连接请求,向LDAP客户端发送用户名和密码。
(3) LDAP客户端收到请求之后,进行认证处理。如果设备采用LDAP认证方案,则按照图1-10所示进行LDAP认证。LDAP认证流程完成之后,如果已经和该LDAP授权服务器建立了绑定关系,则直接转到步骤(6),否则转到步骤(4);如果设备采用非LDAP认证方案,则执行其它协议的认证处理流程,之后转到步骤(3)。
(4) LDAP客户端与LDAP服务器建立TCP连接。
(5) LDAP客户端以管理员DN和管理员DN密码为参数向LDAP服务器发送管理员绑定请求报文(Administrator Bind Request)获得查询权限。
(6) LDAP服务器进行绑定请求报文的处理。如果绑定成功,则向LDAP客户端发送绑定成功的回应报文。
(7) LDAP客户端以输入的用户名为参数(如果用户认证使用的是相同LDAP服务器,则以保存的绑定成功的用户DN为参数),向LDAP服务器发送授权查询请求报文。
(8) LDAP服务器收到查询请求报文后,根据报文中的查询起始地址、查询范围、过滤条件以及LDAP客户端关心的LDAP属性,对用户信息进行查找。如果查询成功,则向LDAP客户端发送查询成功的回应报文。
(9) 授权成功后,LDAP客户端通知用户登录成功。
图1-10 LDAP认证的基本消息交互流程
(10)
NAS对用户的管理是基于ISP(Internet Service Provider,互联网服务提供商)域的,每个用户都属于一个ISP域。网络管理者通过用户所属的ISP域来区分提供给用户的AAA服务。一般情况下,用户所属的ISP域是由用户登录时提供的用户名决定的,但为了更为灵活得控制用户的AAA服务,设备上还支持通过接入模块、接口视图以及系统视图对用户的认证域进行不同维度的管理。
为便于对不同接入方式的用户进行区分管理,提供更为精细且有差异化的认证、授权、计费服务,AAA将用户划分为以下几个类型:
· lan-access用户:LAN接入用户。
· login用户:登录设备用户,如SSH、Telnet、FTP、终端接入用户(即从Console口、登录的用户)。
· PPP接入用户。
· IPoE接入用户:IP接入用户,比如二/三层专线,数字机顶盒接入的用户。
· HTTP用户:使用HTTP或HTTPS服务登录设备Web界面的用户。
对于某些接入方式,用户最终所属的ISP域可由相应的认证模块提供命令行来指定,用于满足一定的用户认证管理策略。
在具体实现中,一个ISP域对应着设备上一套实现AAA的配置策略,它们是管理员针对该域用户制定的一套认证、授权、计费方法,可根据用户的接入特征以及不同的安全需求组合使用。
图1-11 认证、授权、计费方法配置逻辑图
AAA支持以下认证方法:
· 不认证:对用户非常信任,不对其进行合法性检查,一般情况下不采用这种方法。
· 本地认证:认证过程在接入设备上完成,用户信息(包括用户名、密码和各种属性)配置在接入设备上。优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。
· 远端认证:认证过程在接入设备和远端的服务器之间完成,接入设备和远端服务器之间通过RADIUS、HWTACACS或LDAP协议通信。优点是用户信息集中在服务器上统一管理,可实现大容量、高可靠性、支持多设备的集中式统一认证。当远端服务器无效时,可配置备选认证方式完成认证。
AAA支持以下授权方法:
· 不授权:接入设备不请求授权信息,不对用户可以使用的操作以及用户允许使用的网络服务进行授权。此时,认证通过的login用户只有系统给予的缺省用户角色level-0,其中FTP/SFTP/SCP用户的工作目录是设备的根目录,但并无访问权限;认证通过的非login用户,可直接访问网络。关于用户角色level-0的详细介绍请参见“基础配置指导”中的“RBAC”。
· 本地授权:授权过程在接入设备上进行,根据接入设备上为本地用户配置的相关属性进行授权。
· 远端授权:授权过程在接入设备和远端服务器之间完成。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。RADIUS认证成功后,才能进行授权,RADIUS授权信息携带在认证回应报文中下发给用户。HWTACACS协议的授权与认证相分离,在认证成功后,HWTACACS授权信息通过授权报文进行交互。当远端服务器无效时,可配置备选授权方式完成授权。
AAA支持以下计费方法:
· 不计费:不对用户计费。
· 本地计费:计费过程在接入设备上完成,实现了本地用户连接数的统计和限制,并没有实际的费用统计功能。
· 远端计费:计费过程在接入设备和远端的服务器之间完成。当远端服务器无效时,可配置备选计费方式完成计费。
ISP域下可配置多种授权属性,域下配置的授权属性比服务器下发的授权属性优先级低。用户认证成功之后,如果域下配置的授权属性与服务器授权的属性冲突,则服务器下发的授权属性生效;如果域下配置的授权属性不与服务器授权的属性冲突,则域下配置的授权属性生效。这种互相补充的授权方式,使得基于域的用户授权行为更为灵活,而不必完全依赖服务器提供的授权。
对于login用户,AAA还可以对其提供以下服务,用于提高对设备操作的安全性:
· 命令行授权:用户执行的每一条命令都需要接受授权服务器的检查,只有授权成功的命令才被允许执行。关于命令行授权的详细介绍请参考“基础配置指导”中的“对登录用户的控制”。
· 命令行计费:若未开启命令行授权功能,则计费服务器对用户执行过的所有有效命令进行记录;若开启了命令行授权功能,则计费服务器仅对授权通过的命令进行记录。关于命令行计费的详细介绍请参考“基础配置指导”中的“对登录用户的控制”。
· 用户角色切换认证:在不退出当前登录、不断开当前连接的前提下,用户将当前的用户角色切换为其它用户角色时,只有通过服务器的认证,该切换操作才被允许。关于用户角色切换的详细介绍请参考“基础配置指导”中的“RBAC”。
通过AAA支持VPN多实例,可实现认证/授权/计费报文在VPN之间的交互。如图1-12所示,各私网客户端之间业务隔离,连接客户端的PE设备作为NAS,通过VPN网络把私网客户端的认证/授权/计费信息透传给网络另一端的私网服务器,实现了对私网客户端的集中认证,且各私网的认证报文互不影响。
图1-12 AAA支持VPN多实例典型组网图
为满足校园网用户对网络出口多样化的需求,以及学校自身简化校园网搭建和维护的需要,越来越多的高校选择与运营商联合运营,共同建设校园网。联合运营场景下,通过在校园网BRAS设备或PPPoE代拨网关设备上部署PPPoE代拨功能,可以为校园网用户提供自主选择运营商网络,以及自动为其发起PPPoE拨号上网的服务。该功能不仅简化了校方和运营商的联合运营模式,又为学生提供了极佳的网络体验。
PPPoE代拨,是指对于开通了运营商“代拨”业务的校内用户,由校内BRAS设备或PPPoE代拨网关设备为这类用户向其所属运营商的BRAS设备发起代理拨号认证的一种技术。这里的“代拨”业务一般是指开通运营商宽带账号的上网业务。
在PPPoE代拨应用中,根据提供PPPoE代拨功能的设备不同,分为一体化PPPoE代拨模式和PPPoE代拨网关模式。
· 一体化PPPoE代拨模式:该模式下,由校园网BRAS设备兼任PPPoE代拨设备,即由校园网BRAS设备同时提供校内用户的BRAS接入认证功能和PPPoE代拨功能。
· PPPoE代拨网关模式:该模式下,PPPoE代拨功能由一台独立的PPPoE代拨设备(即PPPoE代拨网关)提供,不再由校内BRAS设备兼任PPPoE代拨设备。根据PPPoE代拨网关设备部署的位置不同,代拨网关分为学校侧代拨网关和运营商侧代拨网关。
¡ 学校侧代拨网关:PPPoE代拨设备部署在校园内。
¡ 运营商侧代拨网关:PPPoE代拨设备部署在运营商网络内。
一体化PPPoE代拨功能典型组网如图1-13所示。
图1-13 一体化PPPoE代拨功能典型组网图
一体化PPPoE代拨组网模式下,对于校园网的IPoE、PPPoE用户,如果用户认证上线时校园网内的AAA服务器为其授权了标识PPPoE代拨策略的用户组,则表示该用户有访问运营商网络的需求,BRAS设备需要为该用户做PPPoE代拨处理。
PPPoE代拨处理过程中,校园网BRAS设备作为PPPoE client,对应运营商网络中的BRAS设备作为PPPoE server,该阶段的用户称为PPPoE代拨用户。以IPoE用户上线为例,PPPoE代拨用户上线流程如下图所示:
图1-14 PPPoE代拨用户上线流程图(一体化组网模式)
(2) 校内用户提前在运营商处申请“代拨”业务,并将校园网账号与对应的运营商账号在校内AAA服务器上进行绑定(具体操作以实际情况为准)。然后校内用户发起IPoE上线请求,提供校园网账号和密码,并在认证页面上选择要使用的运营商服务。
(3) 校园网BRAS设备向校内AAA服务器发送认证请求,请求报文中携带的用户名包含了域名,该域名标识了用户所选的运营商。
(4) AAA服务器对用户的校园网账号和密码进行验证,并向校园网BRAS设备发送认证响应。如果用户认证成功,AAA服务器会同时为用户下发授权属性。对于有运营商服务需求的用户,校园网BRAS设备会为用户授权标识PPPoE代拨策略的用户组。该用户组的名称可以由AAA服务器下发或由管理员在BRAS设备的认证域下配置,前者的优先级高。
(5) 对于认证成功的用户,校园网BRAS设备向AAA服务器发送计费开始请求。
(6) AAA服务器向校园网BRAS设备发送计费开始响应,并同时通过COA请求消息通知校园网BRAS设备为用户启动PPPoE代拨流程。该COA消息中携带了PPPoE代拨组名称(Framed-Pool属性)、校园网用户名、校园网账号绑定的运营商账号和密码、代拨场景标识(Filter-id属性)等信息。
(7) IPoE用户上线成功,校园网BRAS设备为用户建立IPoE会话。
(8) 校园网BRAS设备向AAA服务器通过COA应答消息通知PPPoE代拨流程开始,并同时根据收到的COA请求消息中携带的PPPoE代拨组名称,从本地绑定了PPPoE代拨组的接口中选择相匹配的接口来模拟PPPoE client,向对应运营商的PPPoE server发起PPPoE拨号请求。
(9) 运营商的PPPoE server与校园网BRAS设备的PPPoE client之间进行PPP协商,对PPPoE代拨用户的运营商账号和密码进行认证,并为认证成功的用户分配运营商IP地址。
(10) 校园网BRAS设备接收到PPPoE server的拨号响应后,通过DM请求消息向AAA服务器通知拨号结果。对于代拨成功的用户,校园网BRAS设备将其记录为PPPoE代拨用户(即PPPoEA用户),并将其与对应的IPoE会话建立关联。后续,当校园网BRAS设备收到来自该用户且与其授权用户组下的外网ACL规则匹配的流量时,将直接进行PPPoE封装后转发给对应的运营商处理。
(11) 如果校园网BRAS设备上为PPPoE代拨用户配置了计费方案,则校园网BRAS设备会向指定的AAA服务器发起计费开始请求,并在请求报文中携带对应的IPoE会话信息。
(12) AAA服务器向校园网BRAS设备发送计费开始响应。在校园网的AAA服务器上对PPPoE代拨用户进行二次计费,目的是方便学校对学生的外网访问流量进行审计和监管。
学校侧PPPoE代拨网关功能典型组网如图1-15所示。
图1-15 PPPoE代拨网关功能典型组网图(学校侧代拨网关模式)
在学校侧PPPoE代拨网关模式下,校内AAA服务器上保存了校园网账号和运营商账号的对应关系。对于校园网的IPoE、PPPoE用户,用户使用校园网账号在校园网BRAS设备认证上线后,校内AAA服务器会将对应的运营商账号信息发送给校园网侧PPPoE代拨网关设备,由代拨网关设备为用户发起PPPoE代拨流程。
PPPoE代拨处理过程中,PPPoE代拨网关设备作为PPPoE client,对应运营商网络中的BRAS设备作为PPPoE server。以IPoE用户上线为例,PPPoE代拨用户上线流程如下图所示:
图1-16 PPPoE代拨用户上线流程图(学校侧代拨网关模式)
(13) 校内用户提前在运营商处申请“代拨”业务,并将校园网账号与对应的运营商账号在校内AAA服务器上进行绑定(具体操作以实际情况为准)。然后校内用户发起认证上线请求,提供校园网账号和密码。
(14) 校园网BRAS设备向校内AAA服务器发送认证请求。
(15) 校内AAA服务器对用户的校园网账号和密码进行验证,并向校园网BRAS设备发送认证响应。
(16) 如果用户认证成功,校园网BRAS设备为用户建立校内接入用户会话信息。用户上线后可以访问校园网资源。
(17) 校内AAA服务器根据上线用户的校园网账号查询绑定的运营商账号,然后通过COA请求消息通知PPPoE代拨网关设备为用户启动PPPoE代拨流程。该COA消息中携带了校园网账号绑定的运营商账号和密码、代拨组名称(Framed-Pool属性)、代拨场景标识(Filter-id属性)等信息。
(18) PPPoE代拨网关设备根据收到的COA请求消息模拟PPPoE client,并使用COA消息中携带的运营商账号信息通过指定的代拨接口向对应运营商的BRAS设备发起PPPoE拨号请求。代拨网关使用的代拨接口,是基于COA请求消息中携带的PPPoE代拨组名称,从本地绑定了该PPPoE代拨组的接口中匹配得到的。
(19) PPPoE代拨网关设备通过COA应答消息通知校内AAA服务器PPPoE代拨流程已经启动。
(20) 运营商BRAS设备与PPPoE代拨网关设备之间进行PPP协商,对PPPoE代拨用户的运营商账号和密码进行认证,并为认证成功的用户分配运营商IP地址。PPPoE代拨网关设备接收到运营商BRAS设备的拨号响应后,对于代拨成功的用户,会生成并维护该代拨用户的会话信息。
(21) 如果PPPoE代拨网关设备上为PPPoE代拨用户配置了计费方案,则PPPoE代拨网关设备会向指定的AAA服务器发起计费开始请求。
(22) AAA服务器向PPPoE代拨网关设备发送计费开始响应。在校内AAA服务器上对PPPoE代拨用户进行二次计费,目的是方便学校对学生的外网访问流量进行审计和监管。
(23) PPPoE代拨网关设备通过DM请求消息向AAA服务器回应代拨结果(成功或失败)。后续,当校内BRAS设备收到用户的外网流量时,会将报文发送给PPPoE代拨网关设备。PPPoE代拨网关设备将收到的报文的源IP地址替换为运营商为用户分配的IP地址,并将报文进行PPPoE封装后转发给对应的运营商BRAS设备处理。
运营商侧PPPoE代拨网关功能典型组网如图1-17所示。
图1-17 PPPoE代拨网关功能典型组网图(运营商侧代拨网关)
在运营商侧PPPoE代拨网关模式下,运营商AAA服务器上保存了校园网账号和运营商账号的对应关系。对于校园网用户,用户使用校园网账号在校园网BRAS设备认证上线后,校内AAA服务器会通过与运营商AAA服务器之间建立的通信通道将该用户的校园网账号等信息发送给运营商AAA服务器。之后,运营商AAA服务器再将对应的运营商账号信息发送给代拨网关设备,由代拨网关设备为用户发起PPPoE代拨流程。
PPPoE代拨处理过程中,PPPoE代拨网关设备作为PPPoE client,对应运营商网络中的BRAS设备作为PPPoE server。以IPoE用户上线为例,PPPoE代拨用户上线流程如下图所示:
图1-18 PPPoE代拨用户上线流程图(运营商侧代拨网关模式)
(2) 校内用户提前在运营商处申请“代拨”业务,并由运营商工作人员负责在运营商AAA服务器上将用户的校园网账号与对应的运营商账号进行绑定(具体操作以实际情况为准)。然后校内用户发起认证上线请求,提供校园网账号和密码。
对于运营商侧代拨网关组网,校内AAA服务器和运营商服务器之间需要提前建立基于公网的私有通信通道,用于二者之间传输用户的校园网账号等信息。
(3) 校园网BRAS设备向校内AAA服务器发送认证请求。
(4) 校内AAA服务器对用户的校园网账号和密码进行验证,并向校园网BRAS设备发送认证响应。
(5) 如果用户认证成功,校园网BRAS设备上生成校内接入用户会话信息。用户上线后可以访问校园网资源。
(6) 校内AAA服务器通过私有通信通道将校内用户账号等信息发送给运营商AAA服务器。
(7) 运营商AAA服务器根据收到的上线用户校园网账号信息查询绑定的运营商账号,然后通过COA请求消息通知PPPoE代拨网关设备为用户启动PPPoE代拨流程。该COA消息中携带了校园网账号绑定的运营商账号和密码、代拨组名称(Framed-Pool属性)、代拨场景标识(Filter-id属性)等信息。
(8) PPPoE代拨网关设备根据收到的COA请求消息模拟PPPoE client,并使用COA消息中携带的运营商账号信息通过指定的代拨接口向对应运营商的BRAS设备发起PPPoE拨号请求。代拨网关使用的代拨接口,是基于COA请求消息中携带的PPPoE代拨组名称,从本地绑定了该PPPoE代拨组的接口中匹配得到的。
(9) 运营商BRAS设备与PPPoE代拨网关设备之间进行PPP协商,对PPPoE代拨用户的运营商账号和密码进行认证,并为认证成功的用户分配运营商IP地址。PPPoE代拨网关设备接收到运营商BRAS设备的拨号响应后,对于代拨成功的用户,会生成并维护该代拨用户的会话信息。
(10) PPPoE代拨网关设备通过COA应答消息通知运营商AAA服务器PPPoE代拨流程已经启动。
(11) 如果PPPoE代拨网关设备上为PPPoE代拨用户配置了计费方案,则PPPoE代拨网关设备会向指定的AAA服务器发起计费开始请求。
(12) 运营商AAA服务器向PPPoE代拨网关设备发送计费开始响应。
(13) PPPoE代拨网关设备通过DM请求消息向运营商AAA服务器回应代拨结果(成功或失败)。后续,当校内BRAS设备收到用户的外网流量时,会将报文发送给PPPoE代拨网关设备。PPPoE代拨网关设备将收到的报文的源IP地址替换为运营商为用户分配的IP地址,并将报文进行PPPoE封装后转发给对应的运营商BRAS设备处理。
与AAA、RADIUS、HWTACACS、LDAP相关的协议规范有:
· RFC 2865:Remote Authentication Dial In User Service (RADIUS)
· RFC 2866:RADIUS Accounting
· RFC 2867:RADIUS Accounting Modifications for Tunnel Protocol Support
· RFC 2868:RADIUS Attributes for Tunnel Protocol Support
· RFC 2869:RADIUS Extensions
· RFC 3576:Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)
· RFC 4818:RADIUS Delegated-IPv6-Prefix Attribute
· RFC 5176:Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)
· RFC 1492:An Access Control Protocol, Sometimes Called TACACS
· RFC 1777:Lightweight Directory Access Protocol
· RFC 2251:Lightweight Directory Access Protocol (v3)
与PPPoE、User Profile、Session Group Profile相关配置仅在standard工作模式下支持。
AAA配置任务如下:
(1) 配置AAA方案
若选择使用本地AAA方案,则需要配置本地用户;若选择使用远程AAA方案,则需要配置RADIUS、HWTACACS或LDAP。
¡ 配置本地用户
¡ 配置RADIUS
¡ 配置LDAP
(2) 创建ISP域并配置相关属性
a. 创建ISP域
b. 配置ISP域的属性
(3) 配置ISP域的AAA认证方法
请根据实际需求为用户所在的ISP域配置实现认证、授权、计费的方法,这些方法中将会引用已经配置的AAA方案。
(4) 配置AAA用户逃生功能
(5) (可选)配置AAA高级功能
¡ 配置NAS-ID
¡ 配置设备ID
当选择使用本地认证、本地授权、本地计费方法对用户进行认证、授权或计费时,应在设备上创建本地用户并配置相关属性。
所谓本地用户,是指在本地设备上设置的一组用户属性的集合。该集合以用户名和用户类别为用户的唯一标识。本地用户分为两类,一类是设备管理用户;另一类是网络接入用户。设备管理用户供设备管理员登录设备使用,网络接入用户供通过设备访问网络服务的用户使用。网络接入用户中还存在一种来宾用户,供临时接入网络的访客使用。来宾用户仅支持lan-access服务。
为使某个请求网络服务的用户可以通过本地认证,需要在设备上的本地用户数据库中添加相应的表项。具体步骤是,创建一个本地用户并进入本地用户视图,然后在本地用户视图下配置相应的用户属性,可配置的用户属性包括:
· 服务类型
用户可使用的网络服务类型。该属性是本地认证的检测项,如果没有用户可以使用的服务类型,则该用户无法通过认证。
· 用户状态
用于指示是否允许该用户请求网络服务器,包括active和block两种状态。active表示允许该用户请求网络服务,block表示禁止该用户请求网络服务。
· 最大用户数
使用当前用户名接入设备的最大用户数目。若当前该用户名的接入用户数已达最大值,则使用该用户名的新用户将被禁止接入。
· 所属的用户组
每一个本地用户都属于一个本地用户组,并继承组中的所有属性(密码管理属性和用户授权属性)。关于本地用户组的介绍和配置请参见“配置用户组属性”。
· 绑定属性
用户认证时需要检测的属性,用于限制接入用户的范围。若用户的实际属性与设置的绑定属性不匹配,则不能通过认证,因此在配置绑定属性时要考虑该用户是否需要绑定某些属性。
· 用户授权属性
用户认证通过后,接入设备给用户下发授权属性。由于可配置的授权属性都有其明确的使用环境和用途,因此配置授权属性时要考虑该用户是否需要某些属性。例如,PPP接入用户不需要授权的目录,因此就不要设置PPP用户的工作目录属性。
本地用户的授权属性在用户组和本地用户视图下都可以配置,且本地用户视图下的配置优先级高于用户组视图下的配置。用户组的配置对组内所有本地用户生效。
· 密码管理属性
用户密码的安全属性,可用于对设备管理类本地用户的认证密码进行管理和控制。可设置的策略包括:密码老化时间、密码最小长度、密码组合策略、密码复杂度检查策略和用户登录尝试次数限制策略。
本地用户的密码管理属性在系统视图(具有全局性)、用户组视图和本地用户视图下都可以配置,其生效的优先级顺序由高到低依次为本地用户、用户组、全局。全局配置对所有本地用户生效,用户组的配置对组内所有本地用户生效。有关密码管理以及全局密码配置的详细介绍请参见“安全配置指导”中的“Password Control”。
本地用户配置任务如下:
(1)
(2) 配置本地用户属性
(3) (可选)配置用户组属性
(4) (可选)配置本地来宾用户管理功能
(5) (可选)配置用户组告警功能
(6) (可选)配置本地用户名的检查模式
使能全局密码管理功能(通过命令password-control enable)后,设备上将不显示配置的设备管理类本地用户密码,也不会将该密码保存在当前配置中。如果关闭了全局密码管理功能,已配置的密码将恢复在当前配置中。当前配置可通过display current-configuration命令查看。
授权属性和密码控制属性均可以在本地用户视图和用户组视图下配置,各视图下的配置优先级顺序从高到低依次为:本地用户视图-->用户组视图。
(1) 进入系统视图。
system-view
(2) 添加设备管理类本地用户,并进入设备管理类本地用户视图。
local-user user-name [ class manage ]
(3) 设置本地用户的密码。
password [ { hash | simple } string ]
可以不为本地用户设置密码。为提高用户账户的安全性,建议设置本地用户密码。
(4) 设置本地用户可以使用的服务类型。
service-type { ftp | { http | https | ssh | telnet | terminal } * }
缺省情况下,本地用户不能使用任何服务类型。
(5) (可选)设置本地用户的状态。
state { active | block }
缺省情况下,本地用户处于活动状态,即允许该用户请求网络服务。
(6) (可选)设置使用当前本地用户名接入设备的最大用户数。
access-limit max-user-number
缺省情况下,不限制使用当前本地用户名接入的用户数。
由于FTP/SFTP/SCP用户不支持计费,因此FTP/SFTP/SCP用户不受此属性限制。
(7) (可选)设置本地用户的授权属性。
authorization-attribute { idle-cut minutes | user-role role-name | work-directory directory-name } *
缺省情况下:
¡ 授权FTP/SFTP/SCP用户可以访问的目录为设备的根目录,但无访问权限。
¡ 由用户角色为network-admin或者level-15的用户创建的本地用户被授权用户角色network-operator。
(8) (可选)设置设备管理类本地用户的密码管理属性。请至少选择其中一项进行配置。
¡ 设置密码老化时间。
password-control aging aging-time
¡ 设置密码最小长度。
password-control length length
¡ 设置密码组合策略。
password-control composition type-number type-number [ type-length type-length ]
¡ 设置密码的复杂度检查策略。
password-control complexity { same-character | user-name } check
¡ 设置用户登录尝试次数以及登录尝试失败后的行为。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
缺省情况下,采用本地用户所属用户组的密码管理策略。
(9) (可选)设置本地用户所属的用户组。
group group-name
缺省情况下,本地用户属于用户组system。
配置网络接入类本地用户属性时,有以下配置限制和指导:
· 授权属性可以在本地用户视图和用户组视图下配置,各视图下的配置优先级顺序从高到低依次为:本地用户视图-->用户组视图。
(1) 进入系统视图。
system-view
(2) 添加网络接入类本地用户,并进入网络接入类本地用户视图。
local-user user-name class network
(3) (可选)设置本地用户的密码。
password { cipher | simple } string
(4) 设置本地用户可以使用的服务类型。
service-type { ipoe | lan-access | ppp }
缺省情况下,本地用户不能使用任何服务类型。
(5) (可选)设置本地用户的状态。
state { active | block }
缺省情况下,本地用户处于活动状态,即允许该用户请求网络服务。
(6) (可选)设置使用当前本地用户名接入设备的最大用户数。
access-limit max-user-number
缺省情况下,不限制使用当前本地用户名接入的用户数。
(7) (可选)设置本地用户的绑定属性。
bind-attribute { call-number call-number [ : subcall-number ] | location interface interface-type interface-number | mac mac-address | vlan vlan-id } *
缺省情况下,未设置本地用户的任何绑定属性。
(8) (可选)设置本地用户的授权属性。
authorization-attribute { acl acl-number | callback-number callback-number | idle-cut minutes | ip ipv4-address | ip-pool ipv4-pool-name | ipv6 ipv6-address | ipv6-pool ipv6-pool-name | ipv6-prefix ipv6-prefix prefix-length | netstream-sampler sampler-name [ inbound | outbound ] | { primary-dns | secondary-dns } { ip ip-address | ipv6 ipv6-address } | session-group-profile session-group-profile-name | session-timeout minutes | subscriber-id subscriber-id | url url-string | user-profile user-profile-name | vlan vlan-id | vpn-instance vpn-instance-name } *
缺省情况下,本地用户无授权属性。
请设置用户的闲置切断时间大于24分钟,会话超时时间大于30分钟,否则可能导致用户上线异常。
参数netstream-sampler仅在下表所列单板上配置生效。
表1-3 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG |
SPE单板 |
RX-SPE200、RX-SPE200-E |
(9) (可选)设置本地用户所属的用户组。
group group-name
缺省情况下,本地用户属于用户组system。
(10) (可选)配置设备管理类本地用户的有效期。
validity-datetime { from start-date start-time to expiration-date expiration-time | from start-date start-time | to expiration-date expiration-time }
缺省情况下,未限制设备管理类本地用户的有效期,该用户始终有效。
为使临时接入网络的访客可以通过本地认证并方便管理员对访客的访问权限进行管理,需要在设备上的本地用户数据库中添加相应的本地来宾用户表项。具体步骤是,创建一个本地来宾用户并进入本地来宾用户视图,然后在该视图下配置相应的来宾用户属性。完成本地来宾用户属性的配置后,可向来宾或来宾接待人发送包含用户名、密码、有效期的通知邮件。
本功能仅在standard模式下支持。
(1) 进入系统视图。
system-view
(2) 创建本地来宾用户,并进入本地来宾用户视图。
local-user user-name class network guest
(3) (可选)配置本地来宾用户的密码。
password { cipher | simple } string
(4) 配置本地来宾用户的基本信息。请至少选择其中一项进行配置。
¡ 配置本地来宾用户的描述信息。
description text
缺省情况下,未配置本地来宾用户的描述信息。
¡ 配置本地来宾用户的姓名。
full-name name-string
缺省情况下,未配置本地来宾用户的姓名。
¡ 配置本地来宾用户所属公司。
company company-name
缺省情况下,未配置本地来宾用户所属公司。
¡ 配置本地来宾用户的电话号码。
phone phone-number
缺省情况下,未配置本地来宾用户电话号码。
¡ 配置本地来宾用户的Email地址。
email email-string
缺省情况下,未配置本地来宾用户的Email地址。
¡ 配置本地来宾用户的接待人姓名。
sponsor-full-name name-string
缺省情况下,未配置本地来宾用户的接待人姓名。
¡ 配置本地来宾用户接待人所属部门。
sponsor-department department-string
缺省情况下,未配置本地来宾用户接待人所属部门。
¡ 配置本地来宾用户接待人的Email地址。
sponsor-email email-string
缺省情况下,未配置本地来宾用户接待人的Email地址。
(5) (可选)配置本地来宾用户的有效期。
validity-datetime start-date start-time to expiration-date expiration-time
缺省情况下,未限制本地来宾用户的有效期,该用户始终有效。
(6) (可选)配置本地来宾用户所属的用户组。
group group-name
缺省情况下,本地来宾用户属于系统默认创建的用户组system。
(7) (可选)配置本地来宾用户的状态。
state { active | block }
缺省情况下,本地来宾用户处于活动状态,即允许该用户请求网络服务。
为了简化本地用户的配置,增强本地用户的可管理性,引入了用户组的概念。用户组是一个本地用户属性的集合,某些需要集中管理的属性可在用户组中统一配置和管理,用户组内的所有本地用户都可以继承这些属性。
(1) 进入系统视图。
system-view
(2) 创建用户组,并进入用户组视图。
user-group group-name [ id id-number ]
缺省情况下,存在一个用户组,名称为system。
(3) (可选)配置用户组的描述信息。
description text
缺省情况下,未配置用户组的描述信息。
(4) 设置用户组的授权属性。
authorization-attribute { acl acl-number | callback-number callback-number | idle-cut minutes | ip-pool ipv4-pool-name | ipv6-pool ipv6-pool-name | ipv6-prefix ipv6-prefix prefix-length | { primary-dns | secondary-dns } { ip ipv4-address | ipv6 ipv6-address } | session-group-profile session-group-profile-name | session-timeout minutes | subscriber-id subscriber-id | url url-string | user-profile profile-name | vlan vlan-id | vpn-instance vpn-instance-name | work-directory directory-name } *
缺省情况下,未设置用户组的授权属性。
参数acl仅在standard模式下支持。
(5) (可选)设置用户组的密码管理属性。请至少选择其中一项进行配置。
¡ 设置密码老化时间。
password-control aging aging-time
¡ 设置密码最小长度。
password-control length length
¡ 设置密码组合策略。
password-control composition type-number type-number [ type-length type-length ]
¡ 设置密码的复杂度检查策略。
password-control complexity { same-character | user-name } check
¡ 设置用户登录尝试次数以及登录尝试失败后的行为。
password-control login-attempt login-times [ exceed { lock | lock-time time | unlock } ]
缺省情况下,采用全局密码管理策略。全局密码管理策略的相关配置请参见“安全配置指导”中的“Password Control”。
仅设备管理类的本地用户支持本地用户密码管理功能。
(6) (可选)配置PPPoE代拨转发策略。
pppoe-agency forward { ipv4 | ipv6 } acl { acl-number | name acl-name }
缺省情况下,未配置PPPoE代拨转发策略。
仅一体化PPPoE代拨场景需要配置本命令。本命令的详细介绍请参见“BRAS业务命令参考”中的“PPPoE”。PPPoE代拨网关模式下,不支持该配置。
(7) (可选)配置PPPoE代拨用户的认证域。
pppoe-agency authentication domain domain-name
缺省情况下,未配置PPPoE代拨用户的认证域。
仅一体化PPPoE代拨场景需要配置本命令。本命令的详细介绍请参见“BRAS业务命令参考”中的“PPPoE”。PPPoE代拨网关模式下,不支持该配置。
随着无线智能终端的快速发展,对于来公司参观的访客,公司需要提供一些网络服务。当访客用自己的手机、笔记本、IPAD等终端接入公司网络时,涉及到用户账号注册,以及访问权限控制的问题。为了对访客权限的管理控制,提供了本地来宾用户管理功能,具体包括:
· 邮件通知功能:向来宾、来宾接待人、来宾管理员发送账户审批、密码信息的邮件。
· 批量创建本地来宾用户:在设备上批量生成一系列本地来宾账户,这些账户的用户名和密码按照指定规律生成。
· 导入本地来宾用户信息:将指定路径CSV文件的本地来宾账户信息导入到设备上,并生成相应的本地来宾用户。导入操作成功后,该类账户可直接用于访问网络。
· 导出本地来宾用户信息:将设备上的本地来宾账户信息导出到指定路径CSV文件中供其它设备使用。
· 来宾用户过期自动删除功能:设备定时检查本地来宾用户是否过期并自动删除过期的用户。
本功能仅在standard模式下支持。
(1) 进入系统视图。
system-view
(2) 配置本地来宾用户的通知邮件属性。
a. 配置本地来宾用户通知邮件的主题和内容。
local-guest email format to { guest | manager | sponsor } { body body-string | subject sub-string }
缺省情况下,未配置本地来宾用户通知邮件的主题和内容。
b. 配置本地来宾用户通知邮件的发件人地址。
local-guest email sender email-address
缺省情况下,未配置本地来宾用户通知邮件的发件人地址。
c. 配置本地来宾用户发送Email使用的SMTP服务器。
local-guest email smtp-server url-string
缺省情况下,未配置本地来宾用户发送Email使用的SMTP服务器。
(3) (可选)从指定路径的文件中导入用户信息并创建本地来宾用户。
local-user-import class network guest url url-string validity-datetime start-date start-time to expiration-date expiration-time [ auto-create-group | override | start-line line-number ] *
(4) (可选)批量创建本地来宾用户。
local-guest generate username-prefix name-prefix [ password-prefix password-prefix ] suffix suffix-number [ group group-name ] count user-count validity-datetime start-date start-time to expiration-date expiration-time
本命令批量生成的本地来宾用户的用户名和密码等属性将按照指定规律生成。
(5) (可选)从设备导出本地来宾用户信息到指定路径的CSV文件。
local-user-export class network guest url url-string
(6) (可选)开启来宾用户过期自动删除功能。
local-guest auto-delete enable
缺省情况下,来宾用户过期自动删除功能处于关闭状态。
(7) (可选)向本地来宾用户邮箱和来宾接待人邮箱发送邮件。
a. 退回用户视图。
quit
b. 向相关人发送通知邮件,邮件中包含用户名、密码以及有效期信息。
local-guest send-email user-name user-name to { guest | sponsor }
开启用户组数目阈值告警功能后,系统将会生成以下几种告警信息:
· 当设备上配置的用户组数目达到允许的最大值时,将输出对应的告警信息。此时,系统中不允许配置新的用户组。
· 当设备上配置的用户组数目回落到最大值的90%以下时,将输出对应的恢复告警信息。
生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启用户组数目阈值告警功能。
snmp-agent trap enable user-group [ max-count-threshold ]
缺省情况下,用户组数目阈值告警功能处于关闭状态。
配置本功能后,创建本地用户时,设备将对本地用户名进行严格检查,即仅支持输入字母(区分大小写)、数字、以及符号“-”和“_”。当用户输入其他字符时,无法创建本地用户。
本功能仅对新创建的本地用户生效,对已创建的本地用户无影响。
(1) 进入系统视图。
system-view
(2) 配置本地用户名的检查模式。
local-user-name check-mode strict
缺省情况下,不对本地用户名进行严格检查。
完成上述配置后,在任意视图下执行display命令可以显示配置后本地用户及本地用户组的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除待审批来宾用户注册信息。
下表中guest、lan-access参数仅在standard模式下支持。
表1-4 本地用户及本地用户组显示和维护
操作 |
命令 |
显示本地用户的配置信息和在线用户数的统计信息 |
display local-user [ class { manage | network [ guest ] } | idle-cut { disable | enable } | service-type { ftp | http | https | ipoe | lan-access | ppp | ssh | telnet | terminal } | state { active | block } | user-name user-name class { manage | network [ guest ] } | vlan vlan-id ] [ brief ] |
显示本地用户组的相关配置 |
display user-group { all | name group-name } |
显示指定用户组的配置信息 |
display user-group name group-name |
RADIUS配置任务如下:
(1)
(2) 配置RADIUS服务器探测模板
若要对RADIUS认证服务器进行可达性探测,则需要配置RADIUS服务器探测模板,并在RADIUS认证服务器配置中引用该模板。
(3) 创建RADIUS方案
(4) 配置RADIUS认证服务器
(5) 配置RADIUS计费服务器
(6) 配置RADIUS报文的共享密钥
若配置RADIUS认证/计费服务器时未指定共享密钥,则可以通过本任务统一指定对所有认证/计费RADIUS服务器生效的共享密钥。
(7) 配置RADIUS方案所属的VPN
若配置RADIUS认证/计费服务器时未指定所属的VPN,则可以通过本任务统一指定所有认证/计费RADIUS服务器所属的VPN。
(8) (可选)配置RADIUS服务器的状态
(9) (可选)配置RADIUS服务器的定时器
(10) (可选)配置RADIUS报文交互参数
(11) (可选)配置RADIUS属性参数
¡ 配置RADIUS Attribute 25的CAR参数解析功能.
¡ 配置RADIUS Attribute 31中的MAC地址格式
¡ 配置RADIUS Remanent_Volume属性的流量单位
¡ 配置Vendor ID为2011的RADIUS服务器版本号
(12) (可选)配置RADIUS扩展功能
¡ 配置同时上传IPv4 NAS-IP地址和IPv6 NAS-IP地址
¡ 配置用户下线原因码和RADIUS协议下线原因码的映射关系
¡
RADIUS服务器探测功能是指,设备周期性发送探测报文探测RADIUS服务器是否可达:如果服务器不可达,则置服务器状态为block,如果服务器可达,则置服务器状态为active。该探测功能不依赖于实际用户的认证过程,无论是否有用户向RADIUS服务器发起认证,无论是否有用户在线,设备都会自动对指定的RADIUS服务器进行探测,便于及时获得该服务器的可达状态。
RADIUS服务器探测模板用于配置探测用户名以及探测周期,并且可以被RADIUS方案视图下的RADIUS服务器配置引用。
RADIUS服务器探测报文是一种模拟的认证请求报文,服务器探测模板中配置的探测用户名即为该探测报文中的认证用户名。设备会在配置的探测周期内选择随机时间点向引用了服务器探测模板的RADIUS服务器发送探测报文,且每次收到的探测应答消息仅能说明当前探测周期内该RADIUS服务器可达。
系统支持同时存在多个RADIUS服务器探测模板。
仅当RADIUS服务器配置中成功引用了一个已经存在的服务器探测模板,设备才会启动对该RADIUS服务器的探测功能。
服务器探测功能启动后,以下情况发生将会导致探测过程中止:
· 删除该RADIUS服务器配置;
· 取消对服务器探测模板的引用;
· 删除对应的服务器探测模板;
· 将该RADIUS服务器的状态手工置为block;
· 删除当前RADIUS方案。
(1) 进入系统视图。
system-view
(2) 配置RADIUS服务器探测模板。
radius-server test-profile profile-name username name [ interval [ second ] interval ]
系统最多支持配置16个RADIUS方案。一个RADIUS方案可以同时被多个ISP域引用。
(1) 进入系统视图。
system-view
(2) 创建RADIUS方案,并进入RADIUS方案视图。
radius scheme radius-scheme-name
由于RADIUS服务器的授权信息是随认证应答报文发送给RADIUS客户端的,RADIUS的认证和授权功能由同一台服务器实现,因此RADIUS认证服务器相当于RADIUS认证/授权服务器。通过在RADIUS方案中配置RADIUS认证服务器,指定设备对用户进行RADIUS认证时与哪些服务器进行通信。
一个RADIUS方案中最多允许配置一个主认证服务器和16个从认证服务器。缺省情况下,当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。
开启服务器负载分担功能后,设备会根据各服务器的权重以及服务器承载的用户负荷,按比例进行用户负荷分配并选择要交互的服务器。
建议在不需要备份的情况下,只配置主RADIUS认证服务器即可。
在实际组网环境中,可以指定一台服务器既作为某个RADIUS方案的主认证服务器,又作为另一个RADIUS方案的从认证服务器。
在同一个方案中指定的主认证服务器和从认证服务器的VPN、IP地址、端口号不能完全相同,并且各从认证服务器的VPN、IP地址、端口号也不能完全相同。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置主RADIUS认证服务器。
primary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | test-profile profile-name | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情况下,未配置主RADIUS认证服务器。
仅在RADIUS服务器负载分担功能处于开启状态下,参数weight才能生效。
(4) (可选)配置从RADIUS认证服务器。
secondary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | test-profile profile-name | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情况下,未配置从RADIUS认证服务器。
仅在RADIUS服务器负载分担功能处于开启状态下,参数weight才能生效。
通过在RADIUS方案中配置RADIUS计费服务器,指定设备对用户进行RADIUS计费时与哪些服务器进行通信。
一个RADIUS方案中最多允许配置一个主计费服务器和16个从计费服务器。缺省情况下,当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。开启服务器负载分担功能后,设备会根据各服务器的权重以及服务器承载的用户负荷,按比例进行用户负荷分配并选择要交互的服务器。
建议在不需要备份的情况下,只配置主RADIUS计费服务器即可。
在实际组网环境中,可以指定一台服务器既作为某个RADIUS方案的主计费服务器,又作为另一个RADIUS方案的从计费服务器。
在同一个方案中指定的主计费服务器和从计费服务器的VPN、IP地址、端口号不能完全相同,并且各从计费服务器的VPN、IP地址、端口号也不能完全相同。
目前RADIUS不支持对FTP/SFTP/SCP用户进行计费。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置主RADIUS计费服务器。
primary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情况下,未配置主RADIUS计费服务器。
仅在RADIUS服务器负载分担功能处于开启状态下,参数weight才能生效。
(4) (可选)配置从RADIUS计费服务器。
secondary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | vpn-instance vpn-instance-name | weight weight-value ] *
缺省情况下,未配置从RADIUS计费服务器。
仅在RADIUS服务器负载分担功能处于开启状态下,参数weight才能生效。
RADIUS客户端与RADIUS服务器使用MD5算法并在共享密钥的参与下生成验证字,接受方根据收到报文中的验证字来判断对方报文的合法性。只有在共享密钥一致的情况下,彼此才能接收对方发来的报文并作出响应。
由于设备优先采用配置RADIUS认证/计费服务器时指定的报文共享密钥,因此,本配置中指定的RADIUS报文共享密钥仅在配置RADIUS认证/计费服务器时未指定相应密钥的情况下使用。
必须保证设备上设置的共享密钥与RADIUS服务器上的完全一致。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置RADIUS报文的共享密钥。
key { accounting | authentication } { cipher | simple } string
缺省情况下,未配置RADIUS报文的共享密钥。
该配置用于为RADIUS方案下的所有RADIUS服务器统一指定所属的VPN。RADIUS服务器所属的VPN也可以在配置RADIUS服务器的时候单独指定,且被优先使用。未单独指定所属VPN的服务器,则属于所在RADIUS方案所属的VPN。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置RADIUS方案所属的VPN。
vpn-instance vpn-instance-name
缺省情况下,RADIUS方案属于公网。
RADIUS方案中各服务器的状态(active、block)决定了设备向哪个服务器发送请求报文,以及设备在与当前服务器通信中断的情况下,如何转而与另外一个服务器进行交互。在实际组网环境中,可指定一个主RADIUS服务器和多个从RADIUS服务器,由从服务器作为主服务器的备份。
当RADIUS服务器负载分担功能处于开启状态时,设备依据以下原则与服务器通信:
· 当前存在状态为active的认证/计费服务器时,设备仅根据当前各服务器承载的用户负荷来选择与之通信的服务器。
· 当认证服务器的状态均为block时,设备将向权重最高的认证服务器发送一次认证请求(若权重最高的服务器有多个,则设备尝试与最后一个配置的认证服务器通信),在该认证请求超时之后,会启动一个一分钟的定时器。在这一分钟内,如果没有认证服务器恢复为active,则设备不会尝试与认证服务器进行通信;如果一分钟内有认证服务器恢复为active,则设备尝试与该服务器通信。
· 当计费服务器的状态均为block时,设备会尝试与权重最高的计费服务器进行通信。若权重最高的服务器有多个,则设备尝试与最后一个配置的计费服务器通信。
当RADIUS服务器负载分担功能处于关闭状态时,设备上主从服务器的切换遵从以下原则:
· 当主服务器状态为active时,设备首先尝试与主服务器通信,若主服务器不可达,则按照从服务器的配置先后顺序依次查找状态为active的从服务器。
· 只要存在状态为active的服务器,设备就仅与状态为active的服务器通信,即使该服务器不可达,设备也不会尝试与状态为block的服务器通信。
· 当主/从认证服务器的状态均为block时,设备将向主认证服务器发送一次认证请求,若未配置主认证服务器,则尝试与首个配置的从认证服务器通信。在该认证请求超时之后,设备会启动一个一分钟的定时器。在这一分钟内,如果没有认证服务器恢复为active,则设备不会尝试与认证服务器进行通信;如果一分钟内有认证服务器恢复为active,则设备尝试与该服务器通信。
· 当主/从计费服务器的状态均为block时,设备会尝试与主计费服务器进行通信,若未配置主计费服务器,则设备尝试与首个配置的从计费服务器通信。
· 如果服务器不可达,则设备将该服务器的状态置为block,并启动该服务器的quiet定时器。当服务器的quiet定时器超时,或者手动将服务器状态置为active时,该服务器将恢复为active状态。
· 在一次认证或计费过程中,如果设备在尝试与从服务器通信时,之前已经查找过的服务器状态由block恢复为active,则设备并不会立即恢复与该服务器的通信,而是继续查找从服务器。如果所有已配置的服务器都不可达,则认为本次认证或计费失败。
· 如果在认证或计费过程中删除了当前正在使用的服务器,则设备在与该服务器通信超时后,将会立即从主服务器开始依次查找状态为active的服务器并与之进行通信。
· 一旦服务器状态满足自动切换的条件,则所有RADIUS方案视图下该服务器的状态都会相应地变化。
· 将认证服务器的状态由active修改为block时,若该服务器引用了RADIUS服务器探测模板,则关闭对该服务器的探测功能;反之,将认证服务器的状态由block更改为active时,若该服务器引用了一个已存在的RADIUS服务器探测模板,则开启对该服务器的探测功能。
· 缺省情况下,设备将配置了IP地址的各RADIUS服务器的状态均置为active,认为所有的服务器均处于正常工作状态,但有些情况下用户可能需要通过以下配置手工改变RADIUS服务器的当前状态。例如,已知某服务器故障,为避免设备认为其active而进行无意义的尝试,可暂时将该服务器状态手工置为block。
设置的服务器状态不能被保存在配置文件中,可通过display radius scheme命令查看。
设备重启后,各服务器状态将恢复为缺省状态active。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置RADIUS认证服务器的状态。请至少选择其中一项进行配置。
¡ 设置主RADIUS认证服务器的状态。
state primary authentication { active | block }
¡ 设置主RADIUS计费服务器的状态。
state primary accounting { active | block }
¡ 设置从RADIUS认证服务器的状态。
state secondary authentication [ { ipv4-address | ipv6 ipv6-address } [ port-number | vpn-instance vpn-instance-name ] * ] { active | block }
¡ 设置从RADIUS计费服务器的状态。
state secondary accounting [ { ipv4-address | ipv6 ipv6-address } [ port-number | vpn-instance vpn-instance-name ] * ] { active | block }
缺省情况下,RADIUS服务器的状态为active。
在与RADIUS服务器交互的过程中,设备上可启动的定时器包括以下几种:
· 服务器响应超时定时器(response-timeout):如果在RADIUS请求报文发送出去一段时间后,设备还没有得到RADIUS服务器的响应,则有必要重传RADIUS请求报文,以保证用户尽可能地获得RADIUS服务,这段时间被称为RADIUS服务器响应超时时间。
· 服务器恢复激活状态定时器(quiet):当服务器不可达时,设备将该服务器的状态置为block,并开启超时定时器,在设定的一定时间间隔之后,再将该服务器的状态恢复为active。这段时间被称为RADIUS服务器恢复激活状态时长。
· 实时计费间隔定时器(realtime-accounting):为了对用户实施实时计费,有必要定期向服务器发送实时计费更新报文,通过设置实时计费的时间间隔,设备会每隔设定的时间向RADIUS服务器发送一次在线用户的计费信息。
设置RADIUS服务器的定时器时,请遵循以下配置原则:
· 要根据配置的从服务器数量合理设置发送RADIUS报文的最大尝试次数和RADIUS服务器响应超时时间,避免因为超时重传时间过长,在主服务器不可达时,出现设备在尝试与从服务器通信的过程中接入模块(例如Telnet模块)的客户端连接已超时的现象。但是,有些接入模块的客户端的连接超时时间较短,在配置的从服务器较多的情况下,即使将报文重传次数和RADIUS服务器响应超时时间设置的很小,也可能会出现上述客户端超时的现象,并导致初次认证或计费失败。这种情况下,由于设备会将不可达服务器的状态设置为block,在下次认证或计费时设备就不会尝试与这些状态为block的服务器通信,一定程度上缩短了查找可达服务器的时间,因此用户再次尝试认证或计费就可以成功。
· 要根据配置的从服务器数量合理设置服务器恢复激活状态的时间。如果服务器恢复激活状态时间设置得过短,就会出现设备反复尝试与状态active但实际不可达的服务器通信而导致的认证或计费频繁失败的问题;如果服务器恢复激活状态设置的过长,则会导致已经恢复激活状态的服务器暂时不能为用户提供认证或计费服务。
· 实时计费间隔的取值对设备和RADIUS服务器的性能有一定的相关性要求,取值小,会增加网络中的数据流量,对设备和RADIUS服务器的性能要求就高;取值大,会影响计费的准确性。因此要结合网络的实际情况合理设置计费间隔的大小,一般情况下,建议当用户量比较大(大于等于1000)时,尽量把该间隔的值设置得大一些(大于15分钟)。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置RADIUS定时器参数。请至少选择其中一项进行配置。
¡ 设置服务器响应超时时间。
timer response-timeout seconds
缺省情况下,服务器响应超时定时器为3秒。
¡ 设置服务器恢复激活状态的时间。
timer quiet minutes
缺省情况下,服务器恢复激活状态前需要等待5分钟。
¡ 设置实时计费间隔。
timer realtime-accounting interval [ second ] [ hash ]
缺省情况下,实时计费间隔为12分钟。
当大量突发的实时计费报文超出计费服务器的处理能力时,会影响计费服务器的性能。为了避免这种情况的发生,可以配置hash参数对实时计费报文做散列处理。
RADIUS服务器上通过IP地址来标识接入设备,并根据收到的RADIUS报文的源IP地址是否与服务器所管理的接入设备的IP地址匹配,来决定是否处理来自该接入设备的认证或计费请求。因此,为保证RADIUS报文可被服务器正常接收并处理,接入设备上发送RADIUS报文使用的源IP地址必须与RADIUS服务器上指定的接入设备的IP地址保持一致。
设备按照以下顺序选择发送RADIUS报文实际使用的源IP地址:
(1) RADIUS方案视图下配置的源IP地址(通过source-ip命令)。
(2) 系统视图下的配置的源IP地址(通过radius source-ip命令)。
(3) RADIUS方案视图下配置的NAS-IP地址(通过nas-ip命令)。
(4) 系统视图下的配置的源NAS-IP地址(通过radius nas-ip命令)。
(5) 发送RADIUS报文的出接口的IP地址。
为避免物理接口故障时从服务器返回的报文不可达,推荐使用Loopback接口地址为发送RADIUS报文使用的源IP地址。
(1) 进入系统视图。
system-view
(2) 设置设备发送RADIUS报文使用的源IP地址。
radius source-ip { interface interface-type interface-number | { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }
缺省情况下,未指定发送RADIUS报文使用的源IP地址。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置设备发送RADIUS报文使用的源IP地址。
source-ip { interface interface-type interface-number | { ipv4-address | ipv6 ipv6-address } }
缺省情况下,未指定设备发送RADIUS报文使用的源IP地址,使用系统视图下由命令radius source-ip指定的源地址。
接入用户通常以“userid@isp-name”的格式命名,“@”后面的部分为ISP域名,设备通过该域名决定将用户归于哪个ISP域。由于有些较早期的RADIUS服务器不能接受携带有ISP域名的用户名,因此就需要设备首先将用户名中携带的ISP域名去除后再传送给该类RADIUS服务器。通过设置发送给RADIUS服务器的用户名格式,就可以选择发送RADIUS服务器的用户名中是否要携带ISP域名,以及是否保持用户输入的原始用户名格式。
设备通过发送计费报文,向RADIUS服务器报告在线用户的数据流量统计值,该值的单位可配。
如果要在两个乃至两个以上的ISP域中引用相同的RADIUS方案,建议设置该RADIUS方案允许用户名中携带ISP域名,使得RADIUS服务器端可以根据ISP域名来区分不同的用户。
为保证RADIUS服务器计费的准确性,设备上设置的发送给RADIUS服务器的数据流或者数据包的单位应与RADIUS服务器上的流量统计单位保持一致。
为保证PPPoE代拨流程的准确性,设备上设置的发送给RADIUS服务器的用户名格式需要为保持用户输入的原始用户名格式。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置发送给RADIUS服务器的用户名格式。
user-name-format { keep-original | with-domain | without-domain }
缺省情况下,发送给RADIUS服务器的用户名携带ISP域名。
(4) 设置发送给RADIUS服务器的数据流或者数据包的单位。
data-flow-format { data { byte | giga-byte | kilo-byte | mega-byte } | packet { giga-packet | kilo-packet | mega-packet | one-packet } } *
缺省情况下,数据流的单位为字节,数据包的单位为包。
由于RADIUS协议采用UDP报文来承载数据,因此其通信过程是不可靠的。如果设备在应答超时定时器规定的时长内(由timer response-timeout命令配置)没有收到RADIUS服务器的响应,则设备有必要向RADIUS服务器重传RADIUS请求报文。如果发送RADIUS请求报文的累计次数已达到指定的最大尝试次数而RADIUS服务器仍旧没有响应,则设备将尝试与其它服务器通信,如果不存在状态为active的服务器,则认为本次认证或计费失败。关于RADIUS服务器状态的相关内容,请参见“配置RADIUS服务器的状态”。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置发送RADIUS报文的最大尝试次数。
retry retries
缺省情况下,发送RADIUS报文的最大尝试次数为3次。
通过在设备上配置发起实时计费请求的最大尝试次数,允许设备向RADIUS服务器发出的实时计费请求没有得到响应的次数超过指定的最大值时切断用户连接。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置允许发起实时计费请求的最大尝试次数。
retry realtime-accounting retries
缺省情况下,允许发起实时计费请求的最大尝试次数为5。
DSCP携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。通过本命令可以指定设备发送的RADIUS报文携带的DSCP优先级的取值。配置DSCP优先级的取值越大,RADIUS报文的优先级越高。
(1) 进入系统视图。
system-view
(2) 配置RADIUS报文的DSCP优先级。
radius [ ipv6 ] dscp dscp-value
缺省情况下,RADIUS报文的DSCP优先级为0。
如果RADIUS服务器处理能力有限,不能并发处理过多的RADIUS请求报文,则可以通过本配置控制设备发送给RADIUS服务器的请求报文的速率。系统中存在两类Pending报文计数器,分别服务于RADIUS认证服务器和计费服务器,用于统计已发送给RADIUS服务器但还未收到响应的请求报文数,其最大值由本配置决定。在一个RADIUS方案下指定了认证/计费Pending报文计数器的最大值后,针对该方案下的每一个RADIUS认证/计费服务器,设备均会在向其发送首个认证/计费请求报文后启动一个Pending报文计数器。Pending报文计数器的具体工作机制如下:
(1) 设备向RADIUS服务器每发送一个请求报文后,都会将对应的Pending报文计数器加一,且在每收到一个响应报文或者该请求响应超时后,又将该Pending报文计数器减一。
(2) 当该计数器值达到最大值时,设备停止向对应的服务器发送请求报文,并将后续准备发送的请求报文缓存起来。
(3) 等到该计数器值低于最大值后,设备再按照缓存的先后顺序依次发送那些缓存的请求报文。当前可发送的请求报文数,取决于计数器值与最大值的差值。
本功能仅在standard模式下支持。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置发送给RADIUS服务器且未收到响应的请求报文的最大数目。
response-pending-limit { accounting | authentication } max-number
缺省情况下,未限制发送给RADIUS服务器且未收到响应的请求报文的最大数目。
RADIUS报文中携带的NAS-IP-Address或NAS-IPv6-Address属性内容,简称为NAS-IP地址,用于标识用户接入的设备,在RADIUS服务器上全局唯一。
另外,如果RADIUS服务器发送的DAE请求报文中携带该属性,则该属性将会作为接入设备查找用户的匹配条件之一,具体的用户查找规则请参见“配置RADIUS DAE服务器功能”。
接口视图、RADIUS方案视图和系统视图下均可以配置发送RADIUS报文携带的NAS-IP地址,具体生效情况如下:
· 接口视图下配置的NAS-IP地址(通过aaa nas-ip命令)只对在本接口上线的用户有效。
· RADIUS方案视图下配置的NAS-IP地址(通过nas-ip命令)只对本RADIUS方案有效。
· 系统视图下的配置的NAS-IP地址(通过radius nas-ip命令)对所有RADIUS方案有效。
· 以上各视图下的配置优先级从高到低依次为:接口视图->RADIUS方案视图->系统视图。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 配置设备的NAS-IP地址。
aaa nas-ip { interface interface-type interface-number | { ipv4-address | ipv6 ipv6-address } }
缺省情况下,未配置设备的NAS-IP地址。
(1) 进入系统视图。
system-view
(2) 设置RADIUS报文中携带的NAS-IP地址。
radius nas-ip { interface interface-type interface-number | { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }
缺省情况下,未设置RADIUS报文中携带的NAS-IP地址,设备将以发送RADIUS报文的接口的主IPv4地址或IPv6地址作为NAS-IP地址。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置RADIUS报文中携带的NAS-IP地址。
nas-ip { interface interface-type interface-number | { ipv4-address | ipv6 ipv6-address } }
缺省情况下,未设置RADIUS报文中携带的NAS-IP地址,使用系统视图下由命令radius nas-ip指定的NAS-IP地址。
在与不同厂商的设备对接时,通过配置自定义的RADIUS Attribute 5封装格式,以满足设备的NAS-Port属性按照不同厂商要求的格式进行封装。
RADIUS Attribute 5为NAS-Port属性。QinQ组网情况下,建议配置采用QinQ格式封装RADIUS Attribute 5。
如果配置了采用QinQ格式封装RADIUS Attribute 5,但实际用户接入网络为非QINQ组网,系统仍然会按照QinQ格式填充RADIUS Attribute 5,考虑到用户认证报文仅携带一层VLAN信息,S-VLAN区段将会用0填充。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置RADIUS Attribute 5的封装格式。
attribute 5 format { custom custom-format-string | mac32 | qinq }
缺省情况下,采用单层VLAN格式封装RADIUS Attribute 5,具体为:槽位号(8bit)+子槽位号(4bit)+端口号(8bit)+VLAN ID(12bit)。
RADIUS的6号属性是Service-Type属性。不同的RADIUS服务器对填充在RADIUS Attribute 6中的属性值有不同的要求,为了保证RADIUS报文的正常交互,设备发送给服务器的RADIUS Attribute 6号属性值必须与服务器的要求保持一致。
如果运营商希望设备发送的IPoE用户的认证请求报文和计费请求报文中的Service-Type属性值为Outbound(5),就需要在对应的RADIUS方案视图下配置attribute 6 value outbound user-type ipoe。如果还希望该设置对用户增值业务的RADIUS报文也生效,则需要该命令携带value-added-service参数。
本功能仅在standard模式下支持。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置RADIUS Attribute 6的值。
attribute 6 value outbound user-type ipoe [ value-added-service ]
缺省情况下,设备向服务器发送RADIUS报文时,针对不同的用户,RADIUS Attribute 6的取值不同:对于MAC地址认证用户,取值为CallCheck(10);对于设备管理用户,取值为Login(1);其他用户取值为Framed(2)。
RADIUS 15号属性为Login-Service属性,该属性携带在Access-Accept报文中,由RADIUS服务器下发给设备,表示认证用户的业务类型,例如属性值0表示Telnet业务。设备检查用户登录时采用的业务类型与服务器下发的Login-Service属性所指定的业务类型是否一致,如果不一致则用户认证失败 。由于RFC中并未定义SSH、FTP、Terminal这几种业务的Login-Service属性值,因此设备无法针对SSH、FTP、Terminal用户进行业务类型一致性检查,为了支持对这些业务类型的检查,H3C为Login-Service属性定义了表1-5所示的扩展取值。
属性值 |
描述 |
50 |
用户的业务类型为SSH |
51 |
用户的业务类型为FTP |
52 |
用户的业务类型为Terminal |
可以通过配置设备对RADIUS 15号属性的检查方式,控制设备是否使用扩展的Login-Service属性值对用户进行业务类型一致性检查。
· 严格检查方式:设备使用标准属性值和扩展属性值对用户业务类型进行检查,对于SSH、FTP、Terminal用户,当RADIUS服务器下发的Login-Service属性值为对应的扩展取值时才能够通过认证。
· 松散检查方式:设备使用标准属性值对用户业务类型进行检查,对于SSH、FTP、Terminal用户,在RADIUS服务器下发的Login-Service属性值为0(表示用户业务类型为Telnet)时才能够通过认证。
由于某些RADIUS服务器不支持自定义的属性,无法下发扩展的Login-Service属性,若要使用这类RADIUS服务器对SSH、FTP、Terminal用户进行认证,建议设备上对RADIUS 15号属性值采用松散检查方式。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置对RADIUS Attribute 15的检查方式。
attribute 15 check-mode { loose | strict }
缺省情况下,对RADIUS Attribute 15的检查方式为strict方式。
RADIUS的25号属性为class属性,该属性由RADIUS服务器下发给设备,但RFC中并未定义具体的用途,仅规定了设备需要将服务器下发的class属性再原封不动地携带在计费请求报文中发送给服务器即可,同时RFC并未要求设备必须对该属性进行解析。目前,某些RADIUS服务器利用class属性来对用户下发CAR参数,为了支持这种应用,可以通过本特性来控制设备是否将RADIUS 25号属性解析为CAR参数,解析出的CAR参数可被用来进行基于用户的流量监管控制。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 开启RADIUS Attribute 25的CAR参数解析功能。
attribute 25 car
缺省情况下,RADIUS Attribute 25的CAR参数解析功能处于关闭状态。
不同的RADIUS服务器对填充在RADIUS Attribute 31中的MAC地址有不同的格式要求,为了保证RADIUS报文的正常交互,设备发送给服务器的RADIUS Attribute 31号属性中MAC地址的格式必须与服务器的要求保持一致。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置RADIUS Attribute 31中的MAC地址格式。
attribute 31 mac-format section { six | three } separator separator-character { lowercase | uppercase }
缺省情况下,RADIUS Attribute 31中的MAC地址为大写字母格式,且被分隔符“-”分成6段,即为HH-HH-HH-HH-HH-HH的格式。
设备通过实时计费更新报文定期向RADIUS服务器发送在线用户的计费信息,发送周期可以通过RADIUS方案下的实时计费间隔命令设置(timer realtime-accounting),也可以由RADIUS服务器通过85号属性(Acct-Interim-Interval)下发。缺省情况下,如果RADIUS方案下配置了非0的实时计费间隔,则该值优先级高于服务器下发的实时计费间隔。如果需要支持服务器下发的配置优先级高于RADIUS方案下的配置,则可以通过本特性来实现。
对于已在线用户,在其使用的RADIUS方案视图下执行attribute 85 preferred命令后,用户的实时计费间隔保持不变,在其使用的RADIUS方案视图下执行undo attribute 85 preferred命令后,用户的实时计费间隔由本方案下的timer realtime-accounting配置决定。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置通过RADIUS Attribute 85号属性下发的实时计费间隔优先生效。
attribute 85 preferred
缺省情况下,RADIUS方案下配置的计费间隔优先级高于由RADIUS服务器通过Attribute 85号属性下发的实时计费间隔。
RADIUS Attribute 87为NAS-Port-ID属性。可通过本特性修改设备发送的RADIUS NAS-Port-ID属性的格式,具体情况如下:
· 如果采用指定设备厂商的属性格式,则NAS-Port-ID属性内容完全按照厂商要求填充。具体情填充情况请见AAA命令手册。
· 如果采用自定义属性格式,则NAS-Port-ID属性中可携带哪些属性字段、各字段之间使用的分隔符以及各字段的排列顺序,由attribute 87 format命令决定。其中,各字段的填充先后顺序,与该命令中对应关键字的配置顺序一致。
不同的RADIUS服务器对NAS-Port-ID属性的解析格式要求不同,为了保证RADIUS报文的正常交互,设备发送给服务器的NAS-Port-ID属性的格式必须与服务器的要求保持一致。
如果配置了本命令,则发送给RADIUS服务器的NAS-Port-ID属性的格式完全由本命令决定,接入模块定义的RADIUS NAS-Port-ID属性格式不再生效。
(1) 进入系统视图。
system-view
(2) (可选)设置NAS-Port-ID属性中携带的VLANID字符串为大写。
aaa nas-port-id vlanid uppercase
缺省情况下,NAS-Port-ID属性中携带的VLANID字符串为小写。
本配置决定了最终发送给服务器的NAS-Port-ID属性中携带的VLANID字符串的大小写情况。
(3) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(4) 配置RADIUS Attribute 87的格式。
attribute 87 format { custom { c-vid [ delimiter ] | interface-type [ de
limiter ] | port [ delimiter ] | s-vid [ delimiter ] | slot [ delimiter ] | string string [ delimiter ] | subslot [ delimiter ] | vxlan-id [ delimiter ] } * | vendor vendor-id }
缺省情况下,未配置RADIUS Attribute 87的格式,直接采用接入模块定义的RADIUS Attribute 87格式,具体格式介绍请见AAA命令手册。
Remanent_Volume属性为H3C自定义RADIUS属性,携带在RADIUS服务器发送给接入设备的认证响应或实时计费响应报文中,用于向接入设备通知在线用户的剩余流量值。
设备管理员设置的Remanent_Volume属性流量单位应与RADIUS服务器上统计用户流量的单位保持一致,否则设备无法正确使用Remanent_Volume属性值对用户进行计费。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置RADIUS Remanent_Volume属性的流量单位。
attribute remanent-volume unit { byte | giga-byte | kilo-byte | mega-byte }
缺省情况下,Remanent_Volume属性的流量单位是千字节。
当设备与Vendor ID为2011的RADIUS服务器交互时,需要保证本命令设置的服务器版本号与对端服务器的实际版本号一致,否则会导致部分RADIUS属性解析错误。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置Vendor ID为2011的RADIUS服务器版本号。
attribute vendor-id 2011 version { 1.0 | 1.1 }
缺省情况下,设备采用版本1.0与Vendor ID为2011的RADIUS服务器交互。
不同厂商的RADIUS服务器所支持的RADIUS属性集有所不同,而且相同属性的用途也可能不同。为了兼容不同厂商的服务器的RADIUS属性,需要开启RADIUS属性解释功能,并定义相应的RADIUS属性转换规则和RADIUS属性禁用规则。
开启RADIUS解释功能后,设备在发送和接收RADIUS报文时,可以按照配置的属性转换规则以及属性禁用规则对RADIUS报文中的属性进行不同的处理:
· 设备发送RADIUS报文时,将报文中匹配上禁用规则的属性从报文中删除,将匹配上转换规则的属性替换为指定的属性;
· 设备接收RADIUS报文时,不处理报文中匹配上禁用规则的属性,将匹配上转换规则的属性解析为指定的属性。
如果设备需要按照某种既定规则去处理一些无法识别的其他厂商的私有RADIUS属性,可以定义RADIUS扩展属性。通过自定义RADIUS扩展属性,并结合RADIUS属性转换功能,可以将系统不可识别的属性映射为已知属性来处理。
在一个RADIUS方案视图下,对于同一个RADIUS属性,存在以下配置限制:
· 如果已经配置了禁用规则,则不允许再配置转换规则;反之亦然。
· 基于方向(received、sent)的规则和基于报文类型(access-accept、access-request、accounting)的规则,不能同时配置,只能存在一种。
· 对于基于方向的规则,可以同时存在两条不同方向的规则;对于基于报文类型的规则,可以存在同时存在三条不同类型的规则。
(1) 进入系统视图。
system-view
(2) (可选)定义RADIUS扩展属性。
radius attribute extended attribute-name [ vendor vendor-id ] code attribute-code type { binary | date | integer | interface-id | ip | ipv6 | ipv6-prefix | octets | string }
(3) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(4) 开启RADIUS属性解释功能。
attribute translate
缺省情况下,RADIUS属性解释功能处于关闭状态。
(5) 配置RADIUS属性转换/禁用规则。请至少选择其中一项进行配置。
¡ 配置RADIUS属性转换规则。
attribute convert src-attr-name to dest-attr-name { { access-accept | access-request | accounting } * | { received | sent } * }
缺省情况下,未配置任何RADIUS属性转换规则。
¡ 配置RADIUS属性禁用规则。
attribute reject attr-name { { access-accept | access-request | accounting } * | { received | sent } * }
缺省情况下,未配置任何RADIUS属性禁用规则。
(1) 进入系统视图。
system-view
(2) (可选)定义RADIUS扩展属性。
radius attribute extended attribute-name [ vendor vendor-id ] code attribute-code type { binary | date | integer | interface-id | ip | ipv6 | ipv6-prefix | octets | string }
(3) 进入RADIUS DAE服务器视图。
radius dynamic-author server [ port port-number ]
除了在进入RADIUS DAE服务器视图时可以配置port参数之外,也可以在RADIUS DAE服务器视图下配置该参数,两者效果相同,后配置的生效。
(4) 开启RADIUS属性解释功能。
attribute translate
缺省情况下,RADIUS属性解释功能处于关闭状态。
(5) 配置RADIUS属性转换/禁用规则。请至少选择其中一项进行配置。
¡ 配置RADIUS属性转换。
attribute convert src-attr-name to dest-attr-name { { coa-ack | coa-request } * | { received | sent } * }
缺省情况下,未配置任何RADIUS属性转换。
¡ 配置RADIUS属性禁用。
attribute reject attr-name { { coa-ack | coa-request } * | { received | sent } * }
缺省情况下,未配置任何RADIUS属性禁用。
缺省情况下,设备基于当前交互的RADIUS服务器的IP地址协议类型,决定向RADIUS服务器发送NAS-IP地址的类型,即向IPv4 RADIUS服务器上传IPv4 NAS-IP地址(通过NAS-IP-Address属性),或者向IPv6 RADIUS服务器上传IPv6 NAS-IP地址(通过NAS-IPv6-Address属性)。
有些情况下,RADIUS服务器端希望同时记录设备的IPv4 NAS-IP地址和IPv6 NAS-IP地址,就需要开启本功能。
开启本功能后,设备向RADIUS服务器发送认证、计费请求时,将会同时向RADIUS服务器上传设备的IPv4 NAS-IP地址和IPv6 NAS-IP地址。当设备收到该RADIUS服务器发送的认证、计费请求响应时,会将已上传的IPv4 NAS-IP地址和IPv6 NAS-IP地址作为用户属性之一记录下来。
如果设备上开启了本功能,且处于DAE报文严格检查状态下,当设备收到RADIUS服务器发送的DAE请求报文时,除了对报文中携带的基本用户属性进行校验之外,还会对报文中携带的NAS-IP地址进行校验,如果报文携带的NAS-IP地址与本地记录的NAS-IP不匹配,则丢弃该DAE报文。
本功能对设备发送的accounting-on报文、accounting-off报文以及RADIUS探测请求报文不生效。
(1) 进入系统视图。
system-view
(2) 开启同时上传IPv4 NAS-IP地址和IPv6 NAS-IP地址的功能。
radius report-dual-nas-ip enable
缺省情况下,同时上传IPv4 NAS-IP地址和IPv6 NAS-IP地址功能处于关闭状态。
当RADIUS方案下的所有服务器都处于block状态后,设备收到用户的认证/计费请求时,有以下两种处理方式:
· Attempt方式:尝试向当前方案中的一个认证/计费服务器发送认证/计费请求(手工置于block状态的服务器除外)。具体的服务器选择机制请参见“配置RADIUS服务器的状态”中的相关描述。
· Skip方式:跳过当前方案中的所有服务器,直接使用为该用户配置的下一个认证/计费方法去处理这个请求。
Attempt方法保证了设备尽量优先使用第一个认证/计费方法处理用户请求,但同时会增加请求的响应时间。因此,对于对AAA响应时间要求比较高的场合,建议选择Skip方式。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 设置RADIUS服务器都处于block状态后的请求动作。
server-block-action { attempt | skip }
缺省情况下,所有RADIUS服务器都处于block状态后的请求动作为attempt。
当用户请求断开连接或者设备强行切断用户连接的情况下,设备会向RADIUS计费服务器发起停止计费请求。为了使得设备尽量与RADIUS服务器同步切断用户连接,可以开启对无响应的RADIUS停止计费报文缓存功能,将停止计费报文缓存在本机上,然后多次尝试向服务器发起停止计费请求。如果在发起停止计费请求的尝试次数达到指定的最大值后设备仍然没有收到响应,则将其从缓存中删除。
为了限制RADIUS停止计费报文对系统资源的占用,支持对设备可缓存的停止计费报文的最大数目进行设置。在网络连接质量不太稳定,且用户下线请求比较集中的环境中,建议提前规划并配置可缓存的报文数目,以避免用户下线业务短期内占用过多系统缓存资源。
当设备上已缓存的RADIUS停止计费报文数目达到最大值或设备产生一级内存告警时,对于新产生的需要缓存的停止计费报文,有两种处理方式供选择:
· 新增加的停止计费报文缓存失败。此方式为缺省方式,适用于对较早下线用户的计费准确度要求更高的场景。
· 新增加的停止计费报文覆盖原有已缓存的停止计费报文,且从缓存时间最久的停止计费报文开始覆盖。此方式适用于对较晚下线用户的计费准确度要求更高的场景。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 开启对无响应的RADIUS停止计费请求报文的缓存功能。
stop-accounting-buffer enable
缺省情况下,设备缓存未得到响应的RADIUS停止计费请求报文。
(4) (可选)设置发起RADIUS停止计费请求的最大尝试次数。
retry stop-accounting retries
缺省情况下,发起RADIUS停止计费请求的最大尝试次数为500。
(5) 退回系统视图。
quit
(6) 配置RADIUS停止计费报文的最大缓存数目。
radius stop-accounting-buffer cache max-packet-number
缺省情况下,设备允许缓存的最大停止计费报文个数为256000。
(7) 配置当RADIUS停止计费报文个数达到最大缓存数目或设备产生一级内存告警时,新产生的停止计费报文覆盖缓存时间最久的停止计费报文。
radius stop-accounting-buffer { exceed | memory-minor-threshold } overwrite-oldest
缺省情况下,当RADIUS停止计费报文个数达到最大缓存数目或设备产生一级内存告警时,新产生的停止计费报文缓存失败。
通常,RADIUS服务器在收到用户的计费开始报文后才会生成用户表项,但有一些RADIUS服务器在用户认证成功后会立即生成用户表项。如果设备使用该类RADIUS服务器进行认证/授权/计费,则在用户认证后,因为一些原因(比如授权失败)并未发送计费开始报文,则在该用户下线时设备也不会发送RADIUS计费停止报文,就会导致RADIUS服务器上该用户表项不能被及时释放,形成服务器和设备上用户信息不一致的问题。为了解决这个问题,建议开启本功能。
开启本功能后,只要用户使用RADIUS服务器进行计费,且设备未向RADIUS服务器发送计费开始报文,则在用户下线时设备会强制发送一个RADIUS计费停止报文给服务器,使得服务器收到此报文后及时释放用户表项。
本功能与负载分担功能(通过server-load-sharing enable命令开启)不能同时开启,否则可能导致计费停止报文无法发送。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置用户下线时设备强制发送RADIUS计费停止报文。
stop-accounting-packet send-force
缺省情况下,用户下线时设备不会强制发送计费停止报文。
缺省情况下,RADIUS服务器的调度采用主/从模式,即设备优先与主服务器交互,当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。
RADIUS方案中开启了服务器负载分担功能后,设备会根据各服务器的权重以及服务器承载的用户负荷,按比例进行用户负荷分配并选择要交互的服务器。
设备支持两种负载分担方式选择向该方案中的哪个认证服务器发送认证请求报文:
· 基于会话负载分担:根据各认证服务器当前承载的并发会话数,基于权重比例调度服务器。每当设备向某服务器发送一个认证请求报文后,该服务器承载的会话数增加一;若设备收到该服务器的认证响应报文,则会将它承载的会话数减去一。因此,该方式适用于并发用户数大且各服务器性能较为均衡的情况。
· 基于报文负载分担:根据各认证服务器已承载的请求报文数,基于权重比例调度服务器。每当设备向某服务器发送一个认证请求报文后,该服务器承载的请求报文数增加一;若设备重启,则所有服务器承载的请求报文数将被清零。这种方式可以满足希望用户认证报文均匀分配到各服务器上,避免某一个服务器一直处于工作状态的需求。
负载分担模式下,某台计费服务器开始对某用户计费后,该用户后续计费请求报文均会发往同一计费服务器。如果该计费服务器不可达,则直接返回计费失败。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 开启RADIUS服务器负载分担功能。
server-load-sharing enable
缺省情况下,RADIUS服务器负载分担功能处于关闭状态。
(4) 配置RADIUS认证服务器的负载分担方式。
server-load-sharing mode { packet-based | session-based }
缺省情况下,RADIUS认证服务器的负载分担方式为session-based。
开启accounting-on功能后,整个设备会在重启后主动向RADIUS服务器发送accounting-on报文来告知自己已经重启,并要求RADIUS服务器停止计费且强制通过本设备上线的用户下线。该功能可用于解决设备重启后,重启前的原在线用户因被RADIUS服务器认为仍然在线而短时间内无法再次登录的问题。若设备发送accounting-on报文后RADIUS服务器无响应,则会在按照一定的时间间隔(interval interval)尝试重发几次(send send-times)。
accounting-on扩展功能是为了适应分布式架构而对accounting-on功能的增强。
accounting-on扩展功能适用于lan-access用户,该类型的用户数据均保存在用户接入的单板上。开启accounting-on扩展功能后,当有用户发起接入认证的单板重启时(整机未重启),设备会向RADIUS服务器发送携带单板标识的accounting-on报文,用于通知RADIUS服务器对该单板的用户停止计费且强制用户下线。如果自上一次重启之后,单板上没有用户接入认证的记录,则该单板再次重启,并不会触发设备向RADIUS服务器发送携带单板标识的accounting-on报文。
本功能仅在standard模式下支持。
只有在accounting-on功能处于开启状态,且和H3C iMC服务器配合使用的情况下,accounting-on扩展功能才能生效。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 开启accounting-on功能。
accounting-on enable [ interval interval | send send-times ] *
缺省情况下,accounting-on功能处于关闭状态。
(4) (可选)开启accounting-on扩展功能。
accounting-on extended
缺省情况下,accounting-on扩展功能处于关闭状态。
H3C的iMC RADIUS服务器使用session control报文向设备发送授权信息的动态修改请求以及断开连接请求。开启RADIUS session control功能后,设备会打开知名UDP端口1812来监听并接收RADIUS服务器发送的session control报文。
当设备收到session control报文时,通过session control客户端配置验证RADIUS session control报文的合法性。
需要注意的是,该功能仅能和H3C的iMC RADIUS服务器配合使用。缺省情况下,为节省系统资源,设备上的RADIUS session control功能处于关闭状态。因此,在使用iMC RADIUS服务器且服务器需要对用户授权信息进行动态修改或强制用户下线的情况下,必须开启此功能。
RADIUS代理功能缺省使用UDP端口1812监听认证请求报文,若要同时使用RADIUS session control功能,请保证这两个功能使用了不同的监听端口。
(1) 进入系统视图。
system-view
(2) 开启RADIUS session control功能。
radius session-control enable
缺省情况下,RADIUS session control功能处于关闭状态。
(3) 指定session control客户端。
radius session-control client { ip ipv4-address | ipv6 ipv6-address } [ key { cipher | simple } string | vpn-instance vpn-instance-name ] *
缺省情况下,未指定session control客户端。
DAE(Dynamic Authorization Extensions,动态授权扩展)协议是RFC 5176中定义的RADIUS协议的一个扩展,它用于强制认证用户下线,或者更改在线用户授权信息。DAE采用客户端/服务器通信模式,由DAE客户端和DAE服务器组成。
· DAE客户端:用于发起DAE请求,通常驻留在一个RADIUS服务器上,也可以为一个单独的实体。
· DAE服务器:用于接收并响应DAE客户端的DAE请求,通常为一个NAS(Network Access Server,网络接入服务器)设备。
DAE报文包括以下两种类型:
· DMs(Disconnect Messages):用于强制用户下线。通常情况下,DAE客户端通过向NAS设备发送DM请求报文,请求NAS设备按照指定的匹配条件强制用户下线。PPPoE代拨场景下,代拨设备会通过DM请求报文向RADIUS服务器应答代拨结果(PPPoE代拨用户上线成功、PPPoE代拨用户上线失败、PPPoE代拨用户下线)。
· COA(Change of Authorization)Messages:用于更改用户授权信息。DAE客户端通过向NAS设备发送COA请求报文,请求NAS设备按照指定的匹配条件更改用户授权信息。
在设备上开启RADIUS DAE服务后,设备将作为RADIUS DAE服务器在指定的UDP端口监听指定的RADIUS DAE客户端发送的DAE请求消息,然后根据请求消息查找用户、进行用户授权信息的修改、断开用户连接或关闭/重启用户接入端口,并向RADIUS DAE客户端发送DAE应答消息。
设备查找用户的依据是DAE请求报文中携带的用户标识信息,包括用户名、用户IP地址、Acct-Session-Id、Acct-Multi-Session-Id和EDSG策略名。如果设备没有查找到对应的用户,则不处理该DAE请求。缺省情况下,设备对DAE请求报文中的所有用户标识信息都进行校验,只有在设备上查找到了严格匹配所有信息的用户才会处理该DAE请求。如果设备上开启了宽松检查功能,则设备只会校验DAE报文中的部分用户标识信息,包括用户IP地址、Acct-Session-Id以及Acct-Multi-Session-Id。
由于缺省情况下,设备作为DAE服务器和DAE代理时均使用UDP端口3799来监听DAE报文,因此,当设备上的DAE功能和DAE代理功能均开启时,请保证这两种功能配置了不同的监听端口,以避免DAE报文会被随机接收而处理不当。关于DAE代理功能的相关介绍请参见“安全配置指导”中的“DAE代理”。
PPPoE代拨过程中,代拨设备发送DM请求报文的目的端口必须为RADIUS服务器监听DAE请求消息的端口。
(1) 进入系统视图。
system-view
(2) 开启RADIUS DAE服务,并进入RADIUS DAE服务器视图。
radius dynamic-author server
缺省情况下, RADIUS DAE服务处于关闭状态。
(3) 指定RADIUS DAE客户端。
client { ip ipv4-address | ipv6 ipv6-address } [ key { cipher | simple } string | vendor-id 2011 version { 1.0 | 1.1 } | vpn-instance vpn-instance-name ] *
缺省情况下,未指定RADIUS DAE客户端。
(4) (可选)指定RADIUS DAE服务端口。
port port-number
缺省情况下,RADIUS DAE服务端口为3799。
(5) (可选)指定免校验的RADIUS DAE客户端的IP。
(IPv4网络)
trust ip ipv4-address [ vpn-instance vpn-instance-name ]
(IPv6网络)
trust ipv6 ipv6-address [ vpn-instance vpn-instance-name ]
缺省情况下,未指定免校验的RADIUS DAE客户端的IP地址。
(6) (可选)开启DAE报文的宽松检查功能
dae-loose-check enable
缺省情况下,DAE报文的宽松检查功能处于关闭状态。
有些DAE客户端上记录的用户以及设备信息可能与设备上用户的实际信息不完全一致,为了避免DAE客户端发送的DAE请求因无法进行完全匹配式校验而被丢弃,建议在这种情况下开启本功能。
(7) (可选)PPPoE代拨过程中,服务器监听代拨应答报文的目的端口。
pppoe-agency reply-port port-number
缺省情况下,PPPoE代拨过程中,服务器监听代拨应答报文的目的为3799。
接入模块发起的RADIUS请求包括RADIUS认证请求、RADIUS计费开始请求、RADIUS计费更新请求和RADIUS计费结束请求。缺省情况下,设备依次处理各接入模块发起的所有类型的RADIUS请求。此时,如果有大量用户下线后立即再次上线的情况发生,则会由于设备首先处理较早的停止计费请求,而导致处理后续的认证请求时,接入模块的认证请求已经超时。认证请求超时后,用户认证失败。为了解决这个问题,建议在有大量用户频繁上下线的组网环境中开启本功能,使得设备优先处理RADIUS认证请求,从而保证用户可以正常上线。
当RADIUS服务器上以用户名标识用户,并且不允许相同用户名的用户重复认证的情况下,不建议开启此功能,否则可能会导致用户下线后再次认证失败。
当设备上有用户在线时,不建议修改此配置。
(1) 进入系统视图。
system-view
(2) 开启RADIUS认证优先功能。
radius authentication-request first
缺省情况下,RADIUS 认证请求优先功能处于关闭状态。
若RADIUS服务器分多次向在线用户授权下发流量配额,则需要通过本特性设置用户剩余流量阈值,以便提前向服务器申请新的流量配额。例如,RADIUS服务器上设置某用户可用的总流量为50M,且每次向用户下发的流量配额为10M,若设备上配置的剩余流量阈值为2M,则当该用户剩余流量为2M时,设备会向RADIUS服务器发起实时计费请求来获取新的配额。之后,RADIUS服务器再次向用户授权下发10M的配额,此过程循环进行,直到用户耗尽所有可用流量配额。
用户剩余流量阈值的单位由attribute remanent-volume unit命令决定。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置用户剩余流量阈值。
threshold remanent-volume threshold-value
缺省情况下,用户剩余流量阈值为0。
在某些运营商组网环境中,RADIUS服务器希望接入设备在用户认证成功后采用指定的用户名进行后续的AAA处理,该用户名与用户认证时采用的用户名不同。因此,需要设备端可以接受这种用户名,并且使用此用户名进行计费、用户信息的查询和显示等AAA处理。
配置设备接受RADIUS服务器下发的用户名后,如果RADIUS服务器发送给设备的认证应答报文中携带了User-Name属性,则设备会将此属性的内容告知给接入模块,且在后续的AAA处理过程中使用服务器下发的用户名进行处理。例如,这种情况下,设备发送给RADIUS服务器的计费开始请求报文中将会携带服务器下发的用户名,具体封装在User-Name属性中的内容需要结合RADIUS方案中的用户名格式(通过user-name-format配置)进行处理:
· 如果用户名格式为keep-original,则User-Name属性内容为服务器下发的用户名。
· 如果用户名格式为without-domain,则将服务器下发的用户名去掉域名后封装在User-Name属性中。
· 如果用户名格式为with-domain,则首先将服务器下发的用户名中的域名替换为认证时采用的域名,然后将此用户名封装在User-Name属性中。
目前,本功能仅对IPoE用户生效。
(1) 进入系统视图。
system-view
(2) 进入RADIUS方案视图。
radius scheme radius-scheme-name
(3) 配置设备接受RADIUS服务器下发的用户名。
username-authorization apply
缺省情况下,不接受RADIUS服务器下发的用户名,而是采用用户认证时使用的用户名进行AAA处理。
开启PPP用户下线原因转换功能后,握手失败导致的PPP用户下线原因(Lost Carrier)将被转换为用户请求下线原因(User Request)上报给RADIUS服务器。
请按照RADIUS服务器对用户下线原因的具体定义和要求,慎重选择是否开启本功能。
本功能仅用于转换携带在RADIUS报文中上报给服务器的下线原因,不改变设备上通过其它途径显示的此类错误原因。
(1) 进入系统视图。
system-view
(2) 开启PPP用户下线原因转换功能。
radius offline-reason-convert user-type ppp
缺省情况下,PPP用户下线原因转换功能处于关闭状态。
当用户上线失败,正常或异常下线时,设备会通过原因码对每个用户下线原因进行标识。原因码需要根据映射关系转换为满足RADIUS服务器要求的原因码。在用户下线时,设备向RADIUS服务器发送计费停止请求报文,并在计费停止请求报文中携带转换后的原因码,告知RADIUS服务器用户下线的原因,该原因码被封装在49号属性Acct-Terminate-Cause中。
缺省情况下,设备存在一套用户下线原因码和RADIUS协议用户下线原因码的映射关系,用户无需手动配置。当用户使用的RADIUS服务器有特殊要求时,管理员可以根据RADIUS服务器的实际情况,通过本命令重新指定用户下线原因码和RADIUS协议用户下线原因码的映射关系。
当前设备的用户下线原因和RADIUS协议用户下线原因的映射关系,以及具体释义可以通过display aaa online-offline-reason命令实时查看。
(1) 进入系统视图。
system-view
(2) 配置用户下线原因码和RADIUS协议下线原因码的映射关系。
radius offline-reason-mapping start-reason [ end-reason ] reason-code mapping-reason
缺省情况下,未配置自定义的用户下线原因码和RADIUS协议下线原因码的映射关系。
开启相应的RADIUS告警功能后,RADIUS模块会生成告警信息,用于报告该模块的重要事件:
· NAS产生一级内存告警,且开始丢弃已缓存或待缓存的RADIUS停止计费报文时,会发送告警信息。
· 当NAS上已缓存的RADIUS停止计费报文数目与radius stop-accounting-buffer cache命令配置的最大缓存数目的比值达到指定的百分比时,将发送相应的告警信息:
¡ 当该比值首次达到指定的上限阈值(upper-threshold),或者从低于等于恢复阈值增长到上限阈值时,将触发上限告警。
¡ 当该比值从大于等于上限阈值下降到恢复阈值时(lower-threshold),将触发输出恢复告警。
· 当NAS向RADIUS服务器发送计费或认证请求没有收到响应时,会重传请求,当重传次数达到最大传送次数时仍然没有收到响应时,NAS认为该服务器不可达,并发送表示RADIUS服务器不可达的告警信息。
· 当timer quiet定时器设定的时间到达后,NAS将服务器的状态置为激活状态并发送表示RADIUS服务器可达的告警信息。
· 当NAS发现认证失败次数与认证请求总数的百分比超过阈值时,会发送表示认证失败次数超过阈值的告警信息。
生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
需要按照NMS(Network Management System,网络管理系统)的要求,选择设备发送RADIUS服务器状态变化告警信息时采用的MIB节点版本。不同版本的MIB节点定义不同,具体请见AAA命令手册。
(1) 进入系统视图。
system-view
(2) 开启RADIUS告警功能。
snmp-agent trap enable radius [ accounting-cache-discard | accounting-cache-lower-threshold | accounting-cache-upper-threshold | accounting-server-down | accounting-server-up | authentication-error-threshold | authentication-server-down | authentication-server-up ] *
缺省情况下,所有类型的RADIUS 告警功能均处于关闭状态。
(3) (可选)配置发送RADIUS告警信息采用的MIB节点版本。
radius trap-version { v1 | v2 } [ accounting-server-down | accounting-server-up | authentication-server-down | authentication-server-up ] *
缺省情况下,使用v1版本的MIB节点发送RADIUS告警信息。
(4) (可选)配置RADIUS停止计费报文缓存告警阈值。
radius stop-accounting-buffer warning-threshold upper upper-threshold lower lower-threshold
缺省情况下,未配置RADIUS停止计费报文缓存告警阈值。
完成上述配置后,在任意视图下执行display命令可以显示配置后RADIUS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相关统计信息。
表1-6 RADIUS显示和维护
操作 |
命令 |
显示所有或指定RADIUS方案信息 |
display radius scheme [ radius-scheme-name ] |
显示全局缓存的RADIUS报文的相关信息 |
display radius buffer |
显示RADIUS服务器的负载统计信息 |
display radius server-load statistics |
显示RADIUS报文的统计信息 |
display radius statistics [ server { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ] { accounting | authentication } ] [ last-30-minutes ] |
显示缓存的RADIUS停止计费请求报文的相关信息 |
display stop-accounting-buffer { radius-scheme radius-scheme-name | session-id session-id | time-range start-time end-time | user-name user-name | count radius } |
清除所有RADIUS服务器的历史负载统计信息 |
reset radius server-load statistics |
清除RADIUS报文的统计信息 |
reset radius statistics [ server { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ] { accounting | authentication } ] |
清除缓存的RADIUS停止计费请求报文 |
reset stop-accounting-buffer { radius-scheme radius-scheme-name | session-id session-id | time-range start-time end-time | user-name user-name } |
HWTACACS配置任务如下:
(1) 创建HWTACACS方案
(2) 配置HWTACACS认证服务器
(3) 配置HWTACACS授权服务器
(4) 配置HWTACACS计费服务器
若配置HWTACACS服务器时未指定共享密钥,则可以通过本任务统一指定对所有认证/计费HWTACACS服务器生效的共享密钥。
若配置HWTACACS服务器时未指定所属的VPN,则可以通过本任务统一指定所有HWTACACS服务器所属的VPN。
(7) (可选)配置HWTACACS服务器的定时器
(8) (可选)配置HWTACACS报文交互参数
¡ 配置发送给HWTACACS服务器的用户名格式和数据统计单位
(9) (可选)配置HWTACACS计费报文缓存功能
(10) (可选)修改HWTACACS服务器上存储的用户密码
系统最多支持配置16个HWTACACS方案。一个HWTACACS方案可以同时被多个ISP域引用。
(1) 进入系统视图。
system-view
(2) 创建HWTACACS方案,并进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
通过在HWTACACS方案中配置HWTACACS认证服务器,指定设备对用户进行HWTACACS认证时与哪个服务器进行通信。
一个HWTACACS方案中最多允许配置一个主认证服务器和16个从认证服务器。当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。
建议在不需要备份的情况下,只配置主HWTACACS认证服务器即可。
在实际组网环境中,可以指定一台服务器既作为某个HWTACACS方案的主认证服务器,又作为另一个HWTACACS方案的从认证服务器。
在同一个方案中指定的主认证服务器和从认证服务器的VPN、IP地址、端口号不能完全相同,并且各从认证服务器的VPN、IP地址、端口号也不能完全相同。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置主HWTACACS认证服务器。
primary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情况下,未配置主HWTACACS认证服务器。
(4) (可选)配置从HWTACACS认证服务器。
secondary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情况下,未配置从HWTACACS认证服务器。
通过在HWTACACS方案中配置HWTACACS授权服务器,指定设备对用户进行HWTACACS授权时与哪个服务器进行通信。
一个HWTACACS方案中最多允许配置一个主授权服务器和16个从授权服务器。当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。
建议在不需要备份的情况下,只配置主HWTACACS授权服务器即可。
在实际组网环境中,可以指定一台服务器既作为某个HWTACACS方案的主授权服务器,又作为另一个HWTACACS方案的从授权服务器。
在同一个方案中指定的主授权服务器和从授权服务器的VPN、IP地址、端口号不能完全相同,并且各从授权服务器的VPN、IP地址、端口号也不能完全相同。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置主HWTACACS授权服务器。
primary authorization { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情况下,未配置主HWTACACS授权服务器。
(4) (可选)配置从HWTACACS授权服务器。
secondary authorization { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情况下,未配置从HWTACACS授权服务器。
通过在HWTACACS方案中配置HWTACACS计费服务器,指定设备对用户进行HWTACACS计费时与哪个服务器进行通信。
一个HWTACACS方案中最多允许配置一个主计费服务器和16个从计费服务器。当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。
建议在不需要备份的情况下,只配置主HWTACACS计费服务器即可。
在实际组网环境中,可以指定一台服务器既作为某个HWTACACS方案的主计费服务器,又作为另一个HWTACACS方案的从计费服务器。
在同一个方案中指定的主计费服务器和从计费服务器的VPN、IP地址、端口号不能完全相同,并且各从计费服务器的VPN、IP地址、端口号也不能完全相同。
目前HWTACACS不支持对FTP/SFTP/SCP用户进行计费。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置主HWTACACS计费服务器。
primary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情况下,未配置主HWTACACS计费服务器。
(4) (可选)配置从HWTACACS计费服务器。
secondary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | single-connection | vpn-instance vpn-instance-name ] *
缺省情况下,未配置从HWTACACS计费服务器。
HWTACACS客户端与HWTACACS服务器使用MD5算法并在共享密钥的参与下加密HWTACACS报文。只有在密钥一致的情况下,彼此才能接收对方发来的报文并作出响应。
由于设备优先采用配置HWTACACS认证/授权/计费服务器时指定的报文共享密钥,因此,本配置中指定的HWTACACS报文共享密钥仅在配置HWTACACS认证/授权/计费服务器时未指定相应密钥的情况下使用。
必须保证设备上设置的共享密钥与HWTACACS服务器上的完全一致。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置HWTACACS认证、授权、计费报文的共享密钥。
key { accounting | authentication | authorization } { cipher | simple } string
缺省情况下,未设置HWTACACS报文的共享密钥。
该配置用于指定HWTACACS方案所属的VPN,即为HWTACACS方案下的所有HWTACACS服务器统一指定所属的VPN。HWTACACS服务器所属的VPN也可以在配置HWTACACS服务器的时候单独指定,且被优先使用。未单独指定所属VPN的服务器,则属于所在HWTACACS方案所属的VPN。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 配置HWTACACS方案所属的VPN。
vpn-instance vpn-instance-name
缺省情况下,HWTACACS方案属于公网。
在与HWTACACS服务器交互的过程中,设备上可启动的定时器包括以下几种:
· 服务器响应超时定时器(response-timeout):如果在HWTACACS请求报文传送出去一段时间后,设备还没有得到HWTACACS服务器的响应,则会将该服务器的状态置为block,并向下一个HWTACACS服务器发起请求,以保证用户尽可能得到HWTACACS服务,这段时间被称为HWTACACS服务器响应超时时长。
· 实时计费间隔定时器(realtime-accounting):为了对用户实施实时计费,有必要定期向服务器发送用户的实时计费信息,通过设置实时计费的时间间隔,设备会每隔设定的时间向HWTACACS服务器发送一次在线用户的计费信息。
· 服务器恢复激活状态定时器(quiet):当服务器不可达时,设备将该服务器的状态置为block,并开启超时定时器,在设定的一定时间间隔之后,再将该服务器的状态恢复为active。这段时间被称为服务器恢复激活状态时长。
HWTACACS方案中各服务器的状态(active、block)决定了设备向哪个服务器发送请求报文,以及设备在与当前服务器通信中断的情况下,如何转而与另外一个服务器进行交互。在实际组网环境中,可指定一个主HWTACACS服务器和多个从HWTACACS服务器,由从服务器作为主服务器的备份。通常情况下,设备上主从服务器的切换遵从以下原则:
· 当主服务器状态为active时,设备首先尝试与主服务器通信,若主服务器不可达,则按照从服务器的配置先后顺序依次查找状态为active的从服务器进行认证或者计费。
· 只要存在状态为active的服务器,设备就仅与状态为active的服务器通信,即使该服务器不可达,设备也不会尝试与状态为block的服务器通信。
· 当主/从服务器的状态均为block时,设备尝试与主服务器进行通信,若未配置主服务器,则设备尝试与首个配置的从服务器通信。
· 如果服务器不可达,则设备将该服务器的状态置为block,同时启动该服务器的quiet定时器。当服务器的quiet定时器超时,该服务器将恢复为active状态。
· 在一次认证或计费过程中,如果设备在尝试与从服务器通信时,之前已经查找过的服务器状态由block恢复为active,则设备并不会立即恢复与该服务器的通信,而是继续查找从服务器。如果所有已配置的服务器都不可达,则认为本次认证或计费失败。
· 如果在认证或计费过程中删除了当前正在使用的服务器,则设备在与该服务器通信超时后,将会立即从主服务器开始依次查找状态为active的服务器并与之进行通信。
· 一旦服务器状态满足自动切换的条件,则所有HWTACACS方案视图下该服务器的状态都会相应地变化。
需要注意的是,实时计费间隔的取值对设备和HWTACACS服务器的性能有一定的相关性要求,取值越小,对设备和HWTACACS服务器的性能要求越高。建议当用户量比较大(大于等于1000)时,尽量把该间隔的值设置得大一些(大于15分钟)。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 设置HWTACACS定时器参数。请至少选择其中一项进行配置。
¡ 设置HWTACACS服务器响应超时时间。
timer response-timeout seconds
缺省情况下,服务器响应超时时间为5秒。
¡ 设置实时计费的时间间隔。
timer realtime-accounting minutes
缺省情况下,实时计费间隔为12分钟。
¡ 设置服务器恢复激活状态的时间。
timer quiet minutes
缺省情况下,服务器恢复激活状态前需要等待5分钟。
HWTACACS服务器上通过IP地址来标识接入设备,并根据收到的HWTACACS报文的源IP地址是否与服务器所管理的接入设备的IP地址匹配,来决定是否处理来自该接入设备的认证、授权或计费请求。若HWTACACS服务器收到的HWTACACS认证或计费报文的源地址在所管理的接入设备IP地址范围内,则会进行后续的认证或计费处理,否则直接丢弃该报文。
设备发送HWTACACS报文时,根据以下顺序查找使用的源地址:
(1) 当前所使用的HWTACACS方案中配置的发送HWTACACS报文使用源地址。
(2) 根据当前使用的服务器所属的VPN查找系统视图下通过hwtacacs nas-ip命令配置的私网源地址,对于公网服务器则直接查找该命令配置的公网源地址。
(3) 通过路由查找到的报文出接口地址。
发送给HWTACACS报文使用的源地址在系统视图和HWTACACS方案视图下均可以进行配置,系统视图下的配置将对所有HWTACACS方案生效,HWTACACS方案视图下的配置仅对本方案有效,并且具有高于前者的优先级。
为保证认证、授权和计费报文可被服务器正常接收并处理,接入设备上发送HWTACACS报文使用的源地址必须与HWTACACS服务器上指定的接入设备的IP地址保持一致。
通常,该地址为接入设备上与HWTACACS服务器路由可达的接口IP地址,为避免物理接口故障时从服务器返回的报文不可达,推荐使用Loopback接口地址为发送HWTACACS报文使用的源IP地址。但在一些特殊的组网环境中,例如在接入设备使用VRRP进行双机热备应用时,可以将该地址指定为VRRP上行链路所在备份组的虚拟IP地址。
(1) 进入系统视图。
system-view
(2) 设置设备发送HWTACACS报文使用的源地址。
hwtacacs nas-ip { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]
缺省情况下,未设置发送HWTACACS报文使用的源地址,设备将以发送报文的接口主IP地址作为源地址。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 设置设备发送HWTACACS报文使用的源地址。
nas-ip { ipv4-address | ipv6 ipv6-address }
缺省情况下,使用系统视图下由命令hwtacacs nas-ip指定的源地址,若系统视图下未指定源地址,则使用发送HWTACACS报文的接口主IP地址。
接入用户通常以“userid@isp-name”的格式命名,“@”后面的部分为ISP域名,设备通过该域名决定将用户归于哪个ISP域的。由于有些HWTACACS服务器不能接受携带有ISP域名的用户名,因此就需要设备首先将用户名中携带的ISP域名去除后再传送给该类HWTACACS服务器。通过设置发送给HWTACACS服务器的用户名格式,就可以选择发送HWTACACS服务器的用户名中是否要携带ISP域名。
设备通过发送计费报文,向HWTACACS服务器报告在线用户的数据流量统计值,该值的单位可配。
如果要在两个乃至两个以上的ISP域中引用相同的HWTACACS方案,建议设置该HWTACACS方案允许用户名中携带ISP域名,使得HWTACACS服务器端可以根据ISP域名来区分不同的用户。
为保证HWTACACS服务器计费的准确性,设备上设置的发送给HWTACACS服务器的数据流或者数据包的单位应与HWTACACS服务器上的流量统计单位保持一致。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 设置发送给HWTACACS服务器的用户名格式。
user-name-format { keep-original | with-domain | without-domain }
缺省情况下,发送给HWTACACS服务器的用户名携带ISP域名。
(4) 设置发送给HWTACACS服务器的数据流或者数据包的单位。
data-flow-format { data { byte | giga-byte | kilo-byte | mega-byte } | packet { giga-packet | kilo-packet | mega-packet | one-packet } } *
当用户请求断开连接或者设备强行切断用户连接的情况下,设备会向HWTACACS计费服务器发送停止计费请求报文,通过开启对无响应的HWTACACS停止计费请求报文的缓存功能,将其缓存在本机上,然后发送直到HWTACACS计费服务器产生响应,或者在发起停止计费请求报文的尝试次数达到指定的最大值后将其丢弃。
(1) 进入系统视图。
system-view
(2) 进入HWTACACS方案视图。
hwtacacs scheme hwtacacs-scheme-name
(3) 开启对无响应的HWTACACS停止计费请求报文的缓存功能。
stop-accounting-buffer enable
缺省情况下,设备缓存未得到响应的HWTACACS停止计费请求报文。
(4) (可选)设置发起HWTACACS停止计费请求的最大尝试次数。
retry stop-accounting retries
缺省情况下,发起HWTACACS停止计费请求的最大尝试次数为100。
管理用户可以通过在设备上执行hwtacacs-user change-password命令主动修改远程HWTACACS认证服务器上存储的用户密码。
执行本命令后,设备会根据设置的服务器参数,向指定的HWTACACS方案下对应的HWTACACS认证服务器发起连接请求。若此服务器可达,设备会提示用户输入待修改的用户信息(用户名、旧密码、新密码、确认密码,具体信息形式各服务器实现不同),然后使用该用户信息向服务器发起密码修改请求,完成对应的用户密码修改操作。设置的服务器参数不同,密码修改流程有所不同:
· 如果设置了server-ip参数,设备将使用用户输入的信息与指定的一个认证服务器交互,完成其上指定用户密码的修改。
· 如果设置了first-server参数,设备将使用用户输入的信息与方案下首个可达的认证服务器交互修改用户密码,然后结束整个过程。若方案下的首个认证服务器不可达,设备会遍历查找该方案下的其他认证服务器来执行修改动作,直到遍历完毕或遇到可达的认证服务器为止。
· 如果设置了all-servers参数,设备将使用用户输入的信息与该方案下的认证服务器交互修改用户密码,如果当前服务器上的密码修改成功,则立即提示用户是否继续修改下一个服务器上的用户密码,每次提示等待3秒:
¡ 如果3秒内用户选择继续修改,或未输入任何信息,则直接使用相同的用户信息轮询下一个服务器。
¡ 如果3秒内用户选择不继续修改,则整个过程结束。
如果某个服务器不可达或密码修改失败,则同上提示,并根据用户选择决定是否跳过此服务器继续后续的过程。
执行本命令的用户必须是经过HWTACACS认证登录设备的用户。仅network-admin、level-15角色的用户可以通过本命令修改其他HWTACACS用户的密码,其它角色的用户仅具有修改自身密码的权限。
执行本命令修改已过期的用户密码时,HWTACACS认证服务器将返回用户密码过期错误信息,且不允许更改该用户密码。
修改用户密码的过程中,如果设备等待超过30秒后,用户仍未按照系统提示输入用户名、旧密码、新密码或确认密码,当前的密码修改过程将自动终止。
请在用户视图下执行以下命令,修改HWTACACS服务器上存储的用户密码。
hwtacacs-user change-password hwtacacs-scheme hwtacacs-scheme-name { all-servers | first-server | server-ip { ipv4-address | ipv6 ipv6-address } [ port-number | vpn-instance vpn-instance-name ] * }
可以通过输入Ctrl+C终止当前的密码修改流程。
完成上述配置后,在任意视图下执行display命令可以显示配置后HWTACACS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相关统计信息。
表1-7 HWTACACS显示和维护
操作 |
命令 |
查看所有或指定HWTACACS方案的配置信息或统计信息 |
display hwtacacs { scheme [ hwtacacs-scheme-name [ statistics ] ] | statistics } |
显示缓存的HWTACACS停止计费请求报文的相关信息 |
display stop-accounting-buffer hwtacacs-scheme hwtacacs-scheme-name |
清除HWTACACS协议的统计信息 |
reset hwtacacs statistics { accounting | all | authentication | authorization } |
清除缓存的HWTACACS停止计费请求报文 |
reset stop-accounting-buffer hwtacacs-scheme hwtacacs-scheme-name |
LDAP配置任务如下:
(1) 配置LDAP服务器
a. 创建LDAP服务器
c. (可选)配置LDAP版本号
d. (可选)配置LDAP服务器的连接超时时间
f. 配置LDAP用户属性参数
(2) (可选)配置LDAP属性映射表
(3) 创建LDAP方案
(4) 指定LDAP认证服务器
(5) (可选)指定LDAP授权服务器
(6) (可选)引用LDAP属性映射表
(1) 进入系统视图。
system-view
(2) 创建LDAP服务器,并进入LDAP服务器视图。
ldap server server-name
LDAP服务器视图下仅能同时存在一个IPv4地址类型的LDAP服务器或一个IPv6地址类型的LDAP服务器。多次配置,后配置的生效。
(1) 进入系统视图。
system-view
(2) 进入LDAP服务器视图。
ldap server server-name
(3) 配置LDAP服务器IP地址。
{ ip ipv4-address | ipv6 ipv6-address } [ port port-number ] [ vpn-instance vpn-instance-name ]
缺省情况下,未配置LDAP服务器IP地址。
目前设备仅支持LDAPv2和LDAPv3两个协议版本。
Microsoft的LDAP服务器只支持LDAPv3版本。
设备上配置的LDAP版本号需要与服务器支持的版本号保持一致。
(1) 进入系统视图。
system-view
(2) 进入LDAP服务器视图。
ldap server server-name
(3) 配置LDAP版本号。
protocol-version { v2 | v3 }
缺省情况下,LDAP版本号为LDAPv3。
设备向LDAP服务器发送绑定请求、查询请求,如果经过指定的时间后未收到LDAP服务器的回应,则认为本次认证、授权请求超时。若使用的ISP域中配置了备份的认证、授权方案,则设备会继续尝试进行其他方式的认证、授权处理,否则本次认证、授权失败。
(1) 进入系统视图。
system-view
(2) 进入LDAP服务器视图。
ldap server server-name
(3) 配置LDAP服务器的连接超时时间。
server-timeout time-interval
缺省情况下,LDAP服务器的连接超时时间为10秒。
配置LDAP认证过程中绑定服务器所使用的用户DN和用户密码,该用户具有管理员权限。
(1) 进入系统视图。
system-view
(2) 进入LDAP服务器视图。
ldap server server-name
(3) 配置具有管理员权限的用户DN。
login-dn dn-string
缺省情况下,未配置具有管理员权限的用户DN。
配置的管理员权限的用户DN必须与LDAP服务器上管理员的DN一致。
(4) 配置具有管理员权限的用户密码。
login-password { ciper | simple } string
缺省情况下,未配置具有管理权限的用户密码。
要对用户进行身份认证,就需要以用户DN及密码为参数与LDAP服务器进行绑定,因此需要首先从LDAP服务器获取用户DN。LDAP提供了一套DN查询机制,在与LDAP服务器建立连接的基础上,按照一定的查询策略向服务器发送查询请求。该查询策略由设备上指定的LDAP用户属性定义,具体包括以下几项:
· 用户DN查询的起始节点(search-base-dn)
· 用户DN查询的范围(search-scope)
· 用户名称属性(user-name-attribute)
· 用户名称格式(user-name-format)
· 用户对象类型(user-object-class)
LDAP服务器上的目录结构可能具有很深的层次,如果从根目录进行用户DN的查找,耗费的时间将会较长,因此必须配置用户查找的起始点DN,以提高查找效率。
(1) 进入系统视图。
system-view
(2) 进入LDAP服务器视图。
ldap server server-name
(3) 配置用户查询的起始DN。
search-base-dn base-dn
缺省情况下,未指定用户查询的起始DN。
(4) (可选)配置用户查询的范围。
search-scope { all-level | single-level }
缺省情况下,用户查询的范围为all-level。
(5) (可选)配置用户查询的用户名属性。
user-parameters user-name-attribute { name-attribute | cn | uid }
缺省情况下,用户查询的用户名属性为cn。
(6) (可选)配置用户查询的用户名格式。
user-parameters user-name-format { with-domain | without-domain }
缺省情况下,用户查询的用户名格式为without-domain。
(7) (可选)配置用户查询的自定义用户对象类型。
user-parameters user-object-class object-class-name
缺省情况下,未指定自定义用户对象类型,根据使用的LDAP服务器的类型使用各服务器缺省的用户对象类型。
在用户的LDAP授权过程中,设备会通过查询操作得到用户的授权信息,该授权信息由LDAP服务器通过若干LDAP属性下发给设备。若设备从LDAP服务器查询得到某LDAP属性,则该属性只有在被设备的AAA模块解析之后才能实际生效。如果某LDAP服务器下发给用户的属性不能被AAA模块解析,则该属性将被忽略。因此,需要通过配置LDAP属性映射表来指定要获取哪些LDAP属性,以及LDAP服务器下发的这些属性将被AAA模块解析为什么类型的AAA属性,具体映射为哪种类型的AAA属性由实际应用需求决定。
每一个LDAP属性映射表项定义了一个LDAP属性与一个AAA属性的对应关系。将一个LDAP属性表在指定的LDAP方案视图中引用后,该映射关系将在LDAP授权过程中生效。
(1) 进入系统视图。
system-view
(2) 创建LDAP的属性映射表,并进入属性映射表视图。
ldap attribute-map map-name
(3) 配置LDAP属性映射表项。
map ldap-attribute ldap-attribute-name [ prefix prefix-value delimiter delimiter-value ] aaa-attribute { user-group | user-profile }
系统最多支持配置16个LDAP方案。一个LDAP方案可以同时被多个ISP域引用。
(1) 进入系统视图。
system-view
(2) 创建LDAP方案,并进入LDAP方案视图。
ldap scheme ldap-scheme-name
(1) 进入系统视图。
system-view
(2) 进入LDAP方案视图。
ldap scheme ldap-scheme-name
(3) 指定LDAP认证服务器。
authentication-server server-name
缺省情况下,未指定LDAP认证服务器。
(1) 进入系统视图。
system-view
(2) 进入LDAP方案视图。
ldap scheme ldap-scheme-name
(3) 指定LDAP授权服务器。
authorization-server server-name
缺省情况下,未指定LDAP授权服务器。
在使用LDAP授权方案的情况下,可以通过在LDAP方案中引用LDAP属性映射表,将LDAP授权服务器下发给用户的LDAP属性映射为AAA模块可以解析的某类属性。
一个LDAP方案视图中只能引用一个LDAP属性映射表,后配置的生效。
(1) 进入系统视图。
system-view
(2) 进入LDAP方案视图。
ldap scheme ldap-scheme-name
(3) 引用LDAP属性映射表。
attribute-map map-name
缺省情况下,未引用任何LDAP属性映射表。
完成上述配置后,在任意视图下执行display命令可以显示配置后LDAP的运行情况,通过查看显示信息验证配置的效果。
表1-8 LDAP显示和维护
操作 |
命令 |
查看所有或指定LDAP方案的配置信息 |
display ldap scheme [ ldap-scheme-name ] |
在多ISP的应用环境中,不同ISP域的用户有可能接入同一台设备。而且各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能不相同,因此有必要通过设置ISP域把它们区分开,并为每个ISP域单独配置一套认证、授权、计费方法及ISP域的相关属性。
对于设备来说,每个接入用户都属于一个ISP域。系统中最多可以同时存在1024个ISP域,包括一个系统缺省存在的名称为system的ISP域。该缺省ISP域中存在一组缺省的认证、授权、计费方法,分别为本地认证、本地授权和本地计费。系统缺省的ISP域也可以手工修改为其它的ISP域。
通常,用户认证时,设备将按照如下先后顺序为其选择认证域:接入模块指定的认证域-->用户名中指定的ISP域-->系统缺省的ISP域。当系统为用户最终选择的认证域在设备上不存在时,可以使用未知域名用户的ISP域。
对于接口上的PPP、IPoE、lan-access网络接入类用户,设备还支持在接口上配置认证域以及认证域的过滤条件,该类用户所属认证域的综合选择原则请见“管理接口上的用户认证域”。
一个ISP域被配置为缺省的ISP域后,将不能够被删除,必须首先使用命令undo domain default enable将其修改为非缺省ISP域,然后才可以被删除。
系统缺省存在的system域只能被修改,不能被删除。
如果一个ISP域中使用RADIUS方案对用户进行认证、授权或计费,请合理规划域名的长度,并保证设备发送给RADIUS服务器的整体用户名长度不超过253字符,否会导致认证、授权或计费失败。
如果一个ISP域中使用RADIUS方案对用户进行计费,请保证设备发送给RADIUS服务器的用户名中携带的域名长度不超过247个字符,否会导致计费失败。
(1) 进入系统视图。
system-view
(2) 创建ISP域并进入其视图。
domain name isp-name
缺省情况下,存在一个的ISP域,名称为system。
(1) 进入系统视图。
system-view
(2) 配置系统缺省的ISP域。
domain default enable isp-name
缺省情况下,系统缺省的ISP域为system。
(1) 进入系统视图。
system-view
(2) 配置未知域名的用户的ISP域。
domain if-unknown isp-name
缺省情况下,没有为未知域名的用户指定ISP域。
可以通过配置ISP域的状态来控制该域是否可以为用户提供网络服务:
· 活动状态:系统允许该域下的用户请求网络服务。
· 阻塞状态:系统不允许该域下的用户请求网络服务,用户不能通过该域进行AAA处理。若需要在指定的时间段内拒绝该域中的用户请求网络服务,则可以配置在指定的时间段内,该域自动进入阻塞状态。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置ISP域的状态。
state { active | block [ time-range ][ offline ] }
缺省情况下,当前ISP域处于活动状态,即允许任何属于该域的用户请求网络服务。
若指定offline参数,则该域从活动状态切换为阻塞状态后,通过该域接入的网络接入类(包括IPoE、PPP)用户将被强制下线。
(4) 设置ISP域处于阻塞状态的时间段。
state block time-range name time-range-name
缺省情况下,未配置ISP域处于阻塞的时间段。
ISP域下可配置如下授权属性:
· ACL:用户认证成功后,将仅被授权访问匹配指定ACL的网络资源。
· CAR:用户认证成功后,其流量将受到指定的监管动作控制。
· 用户闲置切断时间:用户上线后,设备会周期性检测用户的流量,若ISP域内某用户在指定的闲置检测时间内产生的流量小于指定的数据流量,则会被强制下线。
· IP地址池:认证成功的用户可以从指定的地址池中分配得到一个IP地址。
· IP地址池组:认证成功的PPP/IPoE用户可以从指定的地址池组中分配得到一个IP地址。
· User Profile:用户认证成功后,其访问行为将受到该User Profile中预设配置的限制。
· Session Group Profile:用户认证成功后,其访问行为将受到该Session Group Profile中预设配置的限制。
· 可控组播User Profile:IPoE、PPP用户认证成功后,其组播业务流量将受到该User Profile中预设配置的限制。该属性与接口上的可控组播功能配合使用。
· 会话超时时间:如果用户在线时长超过该值,设备会强制该用户下线。
· IPv6地址前缀:认证成功的用户使用该前缀作为自己的IPv6地址前缀。
· IPv6地址池:认证成功的用户可以从指定的地址池中分配得到一个IPv6地址。
· IPv6地址池组:认证成功的PPP/L2TP/IPoE用户可以从指定的地址池组中分配得到一个IPv6地址。
· ND前缀池:IPv6 PPP/IPoE用户认证成功后,将被分配该IPv6地址池中的ND前缀。
· ND前缀池组:IPv6 PPP/IPoE用户认证成功后,将被分配该IPv6地址池组中的ND前缀。
· DNS服务器地址:认证成功的用户使用该DNS服务器提供的DNS服务。
· 重定向URL:用于向PPP、L2TP、IPoE用户推送Web页面,例如,用户认证成功后首次访问网络时用于推送广告、通知类页面,或者用户欠费时将用于推送欠费提醒页面。
· 重定向次数:用于限制对PPP、L2TP、IPoE用户的Web访问请求进行重定向的次数,配合重定向URL使用。
· 用户组:用户认证成功后,将继承该用户组中的所有属性。
· VPN实例:用户认证成功后,将被授权允许访问指定VPN中的网络资源。此属性只对PPP和IPoE用户生效。
· 点播的最大节目数:PPP或IPoE用户认证成功后,用户可以同时点播的最大节目数受此限制。
· 用户优先级:该用户优先级通过QoS优先级映射之后,可用于指定用户报文进入的优先级队列,高优先级队列中的用户报文在流量拥塞处理时优先得到处理。
对于IPoE Web认证用户,首先会通过认证前域的认证处理,通过认证前域认证之后,将获得IP地址,并被授予指定认证前域中配置的相关授权属性。
用户认证成功之后,优先采用服务器下发的属性值(闲置切断属性除外),其次采用ISP域下配置的属性值。
设备配置承诺信息速率最小为8kbps。
设备上指定用户所属的用户组时,请确保该用户组为已创建的用户组。用户在线过程中,不能删除该用户组,否则会导致该用户组不生效。
对于IPoE和PPP用户,若被授权了用户组,则并不会继承该用户组中的授权属性。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置当前ISP域下的用户授权属性。
authorization-attribute { acl acl-number | car inbound cir committed-information-rate [ pir peak-information-rate ] outbound cir committed-information-rate [ pir peak-information-rate ] | idle-cut minutes [ flow ] [ traffic { both | inbound | outbound } ] | igmp max-access-number number | ip-pool ipv4-pool-name | ip-pool-group ipv4-pool-group-name | { ipv4 | ipv6 } multicast-user-profile profile-name | ipv6-nd-prefix-pool ipv6-prefix-pool-name | ipv6-nd-prefix-pool-group ipv6-prefix-pool-group-name | ipv6-pool ipv6-pool-name | ipv6-pool-group ipv6-pool-group-name | ipv6-prefix ipv6-prefix prefix-length | mld max-access-number number | { primary-dns | secondary-dns } { ip ipv4-address | ipv6 ipv6-address } | redirect-times times | session-group-profile session-group-profile-name | session-timeout timeout | url url-string [ unlimited ] | user-group user-group-name | user-priority { inbound | outbound } priority | user-profile [ inbound | outbound ] profile-name | vpn-instance vpn-instance-name }
缺省情况下,当前ISP域下的用户闲置切断功能处于关闭状态,IPv4用户可以同时点播的最大节目数为4,IPv6用户可以同时点播的最大节目数为4,Web访问请求进行重定向的次数为2,无其它授权属性。
请设置用户的闲置切断时间大于24分钟,会话超时时间大于30分钟,否则可能导致用户上线异常。
参数acl、user-group仅在standard模式下支持。
参数user-priority仅在下表所列单板上配置生效。
表1-9 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G |
SPE单板 |
RX-SPE200、RX-SPE200-E |
如下用户所在域发生切换的场景下,若希望对用户重新授权,则需要指定新域中可生效的授权属性:
· 认证服务器恢复可达时用户进入到新域
逃生用户在原认证域的RADIUS认证服务器恢复可达后进入到指定的逃生恢复域时,如果希望用户在逃生恢复域中获取一定的授权属性,则需要在逃生恢复域下执行dynamic-authorization effect-attribute命令指定要生效的授权属性。
· 用户业务发生切换时服务器下发新域
设备上开启RADIUS DAE服务后,设备将在指定的UDP端口监听指定的RADIUS服务器发送的COA(Change of Authorization)请求消息,根据请求消息查找用户,进行用户授权信息的修改。若服务器通过COA下发新的授权域来修改在线用户的访问权限,则需要在该授权域下执行dynamic-authorization effect-attribute命令指定要生效的授权属性。
这些要生效的授权属性取值由该域下的authorization-attribute以及web-server { ip | ipv6 }、web-server { url }、web-server url-parameter、users-per-account命令指定。
如果以上场景下的新域中未指定任何要生效的授权属性,则:
· 对于进入到逃生恢复域中的用户,将没有授权属性。
· 对于通过COA授权新域的用户,其授权属性将保持之前所在域的状态。
本功能仅在standard模式下支持。
本配置仅适用于IPoE网络接入类用户。
如果通过COA授权的新域中指定了要生效的属性,则用户的这些授权属性状态会发生相应的变化:
· 如果服务器没有通过COA授权这些属性,则新域中指定的属性将以域中设置的授权属性值生效。如果域中未设置该授权值,则该授权属性保持之前所在域的状态。
· 只要服务器通过COA授权了某属性,则服务器授权的属性值将优先于指定的授权属性值生效。
对于授权属性user-group,设备基于用户所属的NAT实例查询新域中与之绑定的负载分担用户组进行授权:
· 如果新域下查询到该NAT实例绑定的负载分担用户组,则授权该用户组;若未查询到该NAT实例绑定的负载分担用户组,则不授权用户组。
· 如果用户没有所属的NAT实例,则采用新域中设置的负载分担用户组(通过load-sharing user-group命令设置)。若新域中没有设置负载分担用户组,则采用该域中设置的授权用户组。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 指定用户切换域后需要生效的授权属性。
dynamic-authorization effective-attribute { car | session-group-profile | session-timeout | url | user-group | user-priority | user-profile | web-server | users-per-account } *
缺省情况下,未指定用户切换域后需要生效的授权属性。
缺省情况下,认证用户的授权属性可由服务器下发或在ISP域下由authorization-attribute命令设置,设备并未区分该用户使用的认证方法。为了满足采用none认证方法时设置用户授权属性的灵活性,可以配置本特性。目前,本特性仅支持对用户会话超时时间属性进行设置。
对于采用none认证方法的用户,通过本功能设置的授权属性优先级高于ISP域下由authorization-attribute命令设置的对应授权属性。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置采用none认证方法时的用户会话超时时间。
authentication-method none authorization-attribute session-timeout timeout
缺省情况下,ISP域下的用户授权属性由服务器授权,若服务器未授权该属性,则采用ISP域下的授权属性设置。
可通过本配置对ISP域下允许接入的用户数进行限制,且不区分接入用户的类型,只要接入用户总数达到限定值,新接入的用户将被拒绝认证。
对于login用户,还需要受到系统视图下aaa session-limit的限制。
在线用户重认证时,不受所在域的最大用户数限制。
ITA以及ESDG类增值业务用户数不受所在域的最大用户数限制。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置ISP域下允许接入的最大用户数。
access-limit limit-number
缺省情况下,该域下未限制接入的用户数。
设备上传到服务器的用户在线时间中保留闲置切断时间:当用户异常下线时,上传到服务器上的用户在线时间中包含了一定的闲置切断检测间隔或用户在线探测间隔。该闲置切断时间在用户认证成功后由AAA授权。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置设备上传到服务器的用户在线时间中保留闲置切断时间。
session-time include-idle-time
缺省情况下,设备上传到服务器的用户在线时间中扣除闲置切断时间。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置当前ISP域下的用户地址类型。
user-address-type { ds-lite | ipv6 | nat64 | private-ds | private-ipv4 | public-ds | public-ipv4 }
缺省情况下,未配置用户地址类型。
可以根据是否需要主机进行有状态自动配置,来设置通告给主机的RA消息中的相关参数。当主机接收到RA消息后,将采用这些参数进行相应操作:
· RA消息中的被管理地址配置标志位(M flag)用于确定主机是否采用有状态自动配置获取IPv6地址:
¡ 如果设置M flag标志位为1,主机将通过有状态自动配置(例如DHCPv6服务器)来获取IPv6地址。
¡ 如果设置M flag标志位为0,则主机将通过无状态自动配置获取IPv6地址。
· RA消息中的其他信息配置标志位(O flag)用于确定主机是否采用有状态自动配置获取除IPv6地址外的其它信息:
¡ 如果设置O flag标志位为1,主机将通过有状态自动配置(例如DHCPv6服务器)来获取除IPv6地址外的其他信息。
¡ 如果设置O flag标志位为0,则主机将通过无状态自动配置获取其他信息。
ISP域下的本配置只针对于PPP用户生效。
PPP用户对应的VT接口视图下也可以设置RA消息中的参数。只要域视图和VT接口视图中任意一个视图下将M flag或O flag配置为1,则通告给用户的RA消息中的相应标志位就为1。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置RA消息中的被管理地址的配置标志位(M flag)为1。
ipv6 nd autoconfig managed-address-flag
缺省情况下,被管理地址的配置标志位为0,即主机通过无状态自动配置获取IPv6地址。
(4) 配置RA消息中的其他信息配置标志位(O flag)为1。
ipv6 nd autoconfig other-flag
缺省情况下,其他信息配置标志位为0,即主机通过无状态自动配置获取其他信息。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置当前ISP域的业务类型。
service-type { hsi | stb | voip }
缺省情况下,当前ISP域的业务类型为hsi。
用户采用的ITA业务策略,用于实现根据用户访问的不同目的地址进行不同级别的流量计费。
本功能仅在standard模式下支持。
用户优先采用AAA服务器授权的ITA业务策略,其次采用ISP域下配置的ITA业务策略。
若RADIUS服务器为当前用户授权了EDSG业务策略但未授权ITA业务策略,则ISP域中指定的ITA业务策略将不会生效。
本功能仅在下表所列单板上配置生效。
表1-10 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG |
SPE单板 |
RX-SPE200、RX-SPE200-E |
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置当前ISP域采用的ITA业务策略。
ita-policy policy-name
缺省情况下,当前ISP域中未采用ITA业务策略。
设备可根据用户所属ISP域下的EDSG业务流量限速模式对用户的EDSG业务带宽进行控制:
· merge:带内限速,即在用户可用总带宽内,对EDSG业务流量和普通业务流量同时限速,且优先保证EDSG业务带宽。
· separate:带外限速,即对EDSG业务流量进行独立限速,用户普通业务流量带宽不受影响。
本功能仅在standard模式下支持。
本功能仅在下表所列单板上配置生效。
表1-11 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG |
SPE单板 |
RX-SPE200、RX-SPE200-E |
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置EDSG业务流量限速模式。
service rate-limit mode { merge | separate }
缺省情况下,仅对EDSG业务流量限速,且不影响普通业务流量带宽。
若在IPoE用户的认证前域中指定了Web服务器的IPv4,则用户在认证之前发送的目的端口为80的IPv4 HTTP请求和目的端口为443的HTTPS请求,将被分别重定向到指定的Web服务器IPv4,该URL向用户提供Web认证页面。为了提高重定向的可靠性,还可以分别指定备用的Web服务器URL页面,并通过关联Track项来及时确定重定向URL的可用性。关于IPoE用户Web认证流程的详细介绍,请参见“BRAS业务配置指导”中的“IPoE”。
本功能仅在standard模式下支持。
如果需要在重定向给用户的Web服务器的URL中携带用户的SSID信息,还需要在用户接入的接口上通过aaa ssid命令配置SSID。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 指定重定向给用户的Web服务器的URL。
web-server { url ipv4-url-string } [ secondary ] [ track track-entry-number ]
缺省情况下,未指定重定向给用户的Web服务器的URL。
(4) (可选)指定Web服务器的IP地址。
(主用Web服务器)
web-server { ip ipv4-address | ipv6 ipv6-address } [ secondary ]
(备用Web服务器)
secondary-web-server [ secondary ] { ip ipv4-address | ipv6 ipv6-address }
缺省情况下,未指定Web服务器的IP地址。
若用户的Web请求URL中携带了本命令指定的IP地址,则该Web请求报文将不会被重定向,而是直接转发。若在实际组网环境中,提供Web认证页面的服务器有两个且互为备份,则可以通过以上命令指定主备Web服务器的IP地址。若某Web服务器拥有两个IP地址,则可通过secondary参数来指定这个备份IP地址。
(5) (可选)配置设备重定向给用户的Web服务器的URL中携带的参数信息。
web-server url-parameter param-name { nas-id | nas-port-id | original-url | remote-id | source-address | source-mac [ encryption { aes | des } key { cipher | simple } string ] [ section { 1 | { 3 | 6 } [ separator separator-character ] } { lowercase | uppercase } ] | ssid | user-location | value expression }
缺省情况下,未配置设备重定向给用户的Web服务器的URL中携带的参数信息。
设备重定向给用户的Web服务器的URL中可携带多个参数信息。
PPP/IPoE用户认证成功后首次访问网络时,服务器可以通过向用户推送Web重定向URL来强制用户访问指定业务站点页面、广告等通知类页面,或者在用户欠费时推送欠费提醒页面。在实际组网中,用户端的部分应用程序(比如输入法软件)会在后台自动发起访问指定服务器Web页面的请求,提前触发了设备对该用户的Web重定向操作,减少了服务器对用户强推Web页面的机会,导致用户主动发起的Web访问请求有可能不会被重定向。为了避免此问题的发生,可以配置向用户推送Web重定向URL的有效时长,使得自服务器或ISP域向用户下发重定向URL属性起(包括用户上线时或服务器后续进行COA授权时),在该时长内用户端发起的所有HTTP访问请求都会被重定向。
本配置仅在以下两种情况下生效:
· 服务器向用户下发了重定向URL,且下发了限定次数重定向属性。如果在ISP域下配置了accounting quota-out redirect-url命令,则当用户的计费配额耗尽后,服务器向用户下发的是永久重定向的URL,即一直对用户的Web访问请求进行重定向,不受本功能的影响,直到用户重新获得计费配额。
· 服务器未向用户下发了重定向URL,但用户认证域下配置了url属性,且未携带unlimited参数。
如果用户的认证域下同时配置了重定向次数(通过authorization-attribute redirect-times命令)以及本配置,则本配置的优先级高,重定向次数不会生效。因此,如果需要限定对用户的Web重定向次数,则必须确保该域下未进行本配置。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置推送Web重定向URL有效时长
redirect active-time time
缺省情况下,未配置推送Web重定向URL的有效时长。
当AAA授权给用户的重定向URL中未携带服务器的IP地址时,可通过本配置直接指定该URL对应的服务器IP地址,以提高设备对PPP/IPoE用户进行Web重定向时的效率和准确度。当设备需要对用户的Web访问请求进行重定向时,首先判断该用户的Web访问请求报文的目的地址是否为本命令配置的服务器IP地址,如果是,则直接允许其访问该地址,否则向其推送授权的重定向URL。
· 如果授权的重定向URL中未携带服务器的IP地址,则使用本配置指定的服务器IP地址作为重定向的目的IP地址。
· 如果授权的重定向URL中携带了服务器的IP地址,但与本配置指定的服务器IP地址不同,则使用本配置指定的服务器IP地址作为重定向的目的IP地址。
· 如果授权的重定向URL中未携带服务器的IP地址,且设备上未配置提供Web重定向页面的服务器IP地址,则可能会因为无法获取重定向服务器IP地址而导致该重定向操作失败。
一个ISP域下,只能配置一个Web重定向服务器IPv4地址,以及一个Web重定向服务器IPv6地址。
为达到本配置的使用效果,请保证本配置指定的服务器IP地址与授权重定向URL解析出的服务器IP地址保持一致。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置推送Web重定向页面的服务器IP地址
redirect server { ip ip-address | ipv6 ipv6-address }
缺省情况下,未配置推送Web重定向页面的服务器IP地址。
缺省情况下,设备向用户发送HTTP/HTTPS重定向报文时采用Java Script的方式携带重定向URL,用户终端通过解析HTTP/HTTPS报文中Java Script来获取重定向URL。如果用户访问网络的终端(例如APP)不支持解析HTTP/HTTPS报文中Java Script,将无法获取重定向URL,也就无法完成设备预期的重定向行为。这种情况下,可以开启暂时重定向功能,改变设备发送HTTP/HTTPS重定向报文时携带重定向URL的方式来适配这些终端。
开启暂时重定向功能后,设备将通过发送状态码为302的暂时重定向响应报文向用户终端推送重定向URL。
仅当网络中存在不支持解析HTTP/HTTPS报文中Java Script的终端时,才建议开启本功能。
目前,本功能仅对PPP和IPoE用户生效。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 开启暂时重定向功能。
redirect move-temporarily enable
缺省情况下,暂时重定向功能处于关闭状态。
缺省情况下,如果PPP用户上线后没有获取到相应业务类型对应的IP地址,设备将会强制其下线。
当PPPoE/L2TP用户可能请求多种IP地址类型的业务,且并非所有IP类型的业务均为其主业务时,为了保证非主业务的IP地址获取失败的情况下用户也能够上线,则需要通过本特性来满足该需求。
当配置主业务依赖于某IP类型时,如果该IP类型的地址分配失败,则不允许用户上线。
该特性仅在设备作为PPPoE Server或L2TP LNS时有效。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置PPPoE/L2TP用户主业务依赖的IP地址类型。
basic-service-ip-type { ipv4 | ipv6 | ipv6-pd } *
缺省情况下,PPPoE/L2TP用户主业务不依赖于任何IP地址类型。
PPPoE/L2TP用户与设备完成IPv6CP协商之后,如果在一定的时长内未能成功分配到主业务依赖类型的IPv6地址/PD,则被强制下线,否则使用分配到的IPv6地址上线。
实际应用中,需要通过本特性来合理调整此等待时长以保障用户的正常上线。例如,当设备与某ISP域PPPoE/L2TP用户连接所在网络质量比较差,使用DHCPv6为用户分配IPv6地址,或者某ISP域接入的PPPoE/L2TP用户数量比较大时,可以适当增加此等待时长避免用户因为地址分配失败而下线。
该特性仅在设备作为PPPoE Server或L2TP LNS时有效。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 设置PPPoE/L2TP用户等待分配IPv6地址/PD的最大时长。
dhcpv6-follow-ipv6cp timeout delay-time
缺省情况下,PPPoE/L2TP接入用户等待分配IPv6地址/PD的最大时长为60秒。
缺省情况下,PPP用户认证成功后,可以由设备本地的L2TP配置或RADIUS服务器授权来决定该用户是否作为L2TP用户进行后续的L2TP处理,以及决定建立L2TP隧道使用的相关属性参数。其中,RADIUS服务器的授权优先级高。
如果网络管理员希望仅由RADIUS服务器来决定该用户是否为作为L2TP用户,则需要在用户认证域下开启RADIUS服务器授权L2TP用户功能。开启本功能后,若RADIUS服务器通过64号标准属性为用户下发了隧道类型L2TP,则表示该用户为L2TP用户,且需要进行后续的L2TP处理。该功能可以实现对L2TP用户的集中授权,以及多域L2TP隧道参数的统一规划。
ISP域下开启了RADIUS服务器授权L2TP用户功能后,被授权的L2TP用户将优先使用服务器授权的L2TP隧道相关属性建立L2TP隧道。当RADIUS服务器下发的L2TP属性不完备时,设备将从RADIUS服务器授权的L2TP组(通过183号私有属性Tunnel-Group-Name下发)或用户认证域下指定的L2TP组中获取其它的L2TP属性,并使用这些属性建立L2TP隧道。其中,服务器授权下发的L2TP组的优先级高于ISP域下指定L2TP组。如果RADIUS服务器既未授权L2TP属性和L2TP组,域下也未指定L2TP组,则该用户上线失败。关于L2TP组及相关L2TP隧道属性的具体介绍,请参见“BRAS业务配置指导” 中的“L2TP”。
本配置仅对PPP接入用户生效。
若用户认证域下未配置l2tp-user radius-force命令,但设备上开启了L2TP功能,则只要存在如下情况之一,PPP用户也可被判定为L2TP用户:
(1) RADIUS服务器为其授权了L2TP组。
(2) 认证域下指定了L2TP组。
(3) 用户的完整用户名或认证域匹配上了本地某L2TP组中设置的隧道建立触发条件。
判定成功之后,L2TP用户将获取所需的L2TP属性来建立L2TP隧道,属性获取方式优先级从高到低依次为:RADIUS服务器授权的L2TP属性->RADIUS授权的L2TP组->认证域下指定的L2TP组->触发条件匹配上的L2TP组。
开启L2TP功能,否则L2TP用户上线失败。
创建待关联的L2TP组,并设置建立L2TP隧道所需的参数,否则L2TP隧道无法成功建立。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 开启RADIUS服务器授权L2TP用户功能。
l2tp-user radius-force
缺省情况下,RADIUS服务器授权L2TP用户功能处于关闭状态。
如果不希望使用RADIUS服务器授权L2TP用户,请不要开启本功能。
(4) (可选)指定L2TP用户使用的L2TP组。
l2tp-group { group-name group-name | group-number group-number }
缺省情况下,未指定L2TP用户使用的L2TP组。
一个ISP域下只支持配置一个L2TP组。
配置本功能后,PPP用户进行IPv6CP协商时,设备将忽略用户报文中携带的接口ID。若RADIUS服务器授权了接口ID,则采用RADIUS服务器授权的接口ID;若RADIUS服务器没有授权接口ID,则由设备自动为其生成一个接口ID。通常,如果网络运营商希望对PPP用户的接口ID统一管理,建议配置本功能。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain isp-name
(3) 配置IPv6CP协商时,由设备强制为PPP用户分配接口ID,不接受用户报文携带的非0且不冲突接口ID。
ipv6cp assign-interface-id
缺省情况下,IPv6CP协商时接受用户报文携带的非0且不冲突接口ID。
在一个ISP域视图下,将任意一个用户组配置为负载分担用户组后,该域的用户组负载分担功能将处于开启状态。一个ISP域中,可以配置多个负载分担用户组,采用该域认证上线的用户将会加入到当前用户数最少的负载分担用户组中。
负载分担用户组用于配合业务模块实现分担用户业务流量的目的。
本用户组负载分担功能与NAT业务配合时,仅适用于基于接口配置NAT的组网环境中。
一个ISP域视图下最多配置32个负载分担用户组。
指定的用户组必须已经存在,否则负载分担用户组的配置不生效。
用户最终加入的用户组与实际配置相关,各类型用户组的生效先后顺序依次为:服务器下发的授权用户组、ISP域中配置的负载分担用户组、ISP域中配置的授权用户组。
开启本功能后,上线用户所属的负载分担用户组和该用户在其他场景中所属的用户组可能不同。
由于ISP域视图下的user-group name group-name bind nat-instance命令与load-sharing user-group命令互斥,因此在进行下面的配置步骤之前,请确保该域中没有user-group name group-name bind nat-instance的配置存在。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置负载分担用户组,且开启用户组负载分担功能。
load-sharing user-group group-name
缺省情况下,未配置负载分担用户组,用户组负载分担功能处于关闭状态。
在采用全局NAT且NAT与BRAS联动的场景中,ISP域视图下配置了负载分担用户组和NAT实例的绑定关系后,该域下的用户组负载分担功能会同时开启。接入用户认证时,接入设备将依据以下原则将其加入一个负载分担用户组,并为其分配一个NAT实例进行NAT处理:
· 如果AAA服务器为接入用户授权了用户组,则该用户组就是用户的负载分担用户组,接入设备会根据认证域中配置的负载分担用户组与NAT实例的绑定关系为其分配一个NAT实例。如果认证域下未查询到与AAA服务器授权的用户组所绑定的NAT实例,则无NAT实例分配给该用户,用户将无法上线。
· 如果AAA服务器没有给接入用户授权用户组,则接入设备将从认证域中指定的负载分担用户组中为其选择一个用户组,并将与其绑定的NAT实例分配给该用户。选择负载分担用户组的机制为:首先,选择认证域中当前UP在线用户数最少且有效的NAT实例。如果有多个NAT实例满足要求,则选择其中字典序最大的用户组对应的NAT实例。接下来,判断该NAT实例是否与多个用户组绑定。如果是这样,则选择字典序最大且在线用户数最少的用户组,同时确保该用户组有效。
· 如果AAA服务器没有给接入用户授权用户组,且认证域下也没有指定负载分担用户组,则无NAT实例分配给该用户。对于未分配到NAT实例的用户,如果该域下配置了user-address-type private-ipv4,则无法上线,否则将以非CGN用户上线。
关于全局NAT以及NAT实例的相关介绍,请参见““NAT配置指导””中的“NAT”。
系统中,可以存在多条负载分担用户组和NAT实例的绑定关系,实际配置约束如下:
· 一个ISP域视图下最多配置32条绑定关系。
· 一个用户组只能绑定一个NAT实例。假设ISP域a下已经存在用户组1和NAT实例1的绑定关系,则ISP域a以及其它ISP域下均不能存在用户组1和其它NAT实例的绑定关系。
· 多个用户组可以绑到同一个NAT实例。
指定的用户组必须已经存在,否则负载分担用户组的配置不生效。
绑定的NAT实例必须是有效的,否则用户上线可能会失败。
在IPoE Web与NAT联动组网中,配置负载分担用户组与NAT实例绑定时,要求前域下指定的负责分担用户组和后域下指定的负载分担用户组必须绑定相同的NAT实例。
对于已经获得域下绑定的NAT实例在线用户,不支持RADIUS服务器通过COA请求动态修改用户的用户组。
由于ISP域视图下的user-group name group-name bind nat-instance命令与load-sharing user-group命令互斥,因此在进行下面的配置步骤之前,请确保该域中没有load-sharing user-group的配置存在。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 指定负载分担用户组,并配置负载分担用户组和NAT实例的绑定关系。
user-group name group-name bind nat-instance instance-name
缺省情况下,未配置负载分担用户组与NAT实例的绑定关系,用户组负载分担功能处于关闭状态。
ISP域下配置了单个用户名允许接入的最大用户数后,该域内使用同一账户接入的用户数受限,同时这些用户只能共享指定带宽,即这些用户的总业务流量将受到该账户的授权流量监管参数的限制。这类用户被简称为共享账户用户。
目前,该特性仅适用于PPPoE、IPoE和L2TP用户。
共享账户的用户必须拥有相同的用户名和授权域名,其中的授权域是指服务器给用户授权的域。如果服务器未给用户授权域,则选用该用户的认证域作为授权域。
对于共享账户用户,授权闲置切断功能不生效。
如果RADIUS服务器下发了最大用户数(通过标准属性62号属性Port-Limit),则服务器的配置优先。如果RADIUS服务器下发最大用户数大于512,实际生效为512。
本功能仅在standard模式下支持。
建议配置单个账号允许接入的最大用户数不超过16个。
共享帐号的双协议栈用户计费方式(由accounting dual-stack命令配置),与第一个上线的用户的计费方式一致。若当前存在使用该共享账号上线的用户,则不允许修改用户的计费方式。
如果用户通过聚合接口接入,上行流量可能无法按照同一帐号进行管理。
对于通过下表所列单板接入的共享账号用户,需要注意的是:
· 所有用户共同进行AAA计费,不能独立进行AAA计费。
· 授权闲置切断功能不生效。
· 流量配额耗尽策略(traffic-quota-out命令)配置不生效。
· ITA业务流量配额耗尽策略配置不生效。
表1-12 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG |
SPE单板 |
RX-SPE200、RX-SPE200-E |
对于同一账户接入的用户共享指定带宽,需要注意是:
· 仅通过上表接入的用户支持共享带宽。
· IPoE L2VPN专线、IPoE接口专线和子网专线用户不支持共享带宽。
· L3VE接口或子接口上的用户不支持共享带宽。
· 应用了共享带宽功能后,用户队列调度参数(通过qos user-queue命令)、配置User Profile出方向的调度权重(qos weight weight-value outbound命令)、授权Session Group Profile、EDSG功能、最大用户连接数(通过connection-limit amount命令)和最大用户新建连接速率(通过connection-limit rate命令)等配置不生效。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置单个用户名允许接入的最大用户数。
users-per-account max-user-number [ case-insensitive ]
缺省情况下,ISP域下的用户不共享账号,每个用户独享各自的授权流量监管参数。
对于IPoE静态接入用户,设备支持三种方式为其分配上线后所属的VPN实例:用户的IPoE静态会话配置中绑定VPN实例、AAA授权VPN实例、用户上线的接口上绑定VPN实例。如果IPoE用户认证成功后,要求具备相同VPN配置和VPN授权情况的用户才能上线,则需要在用户认证域下开启本功能。
缺省情况下,静态IPoE用户上线时,设备根据不同的VPN配置和VPN授权情况为用户分配不同的VPN实例:
· 若用户的IPoE静态会话未绑定VPN实例、AAA未授权VPN实例,则用户上线后属于接口绑定的VPN实例。若接口未绑定VPN实例,则用户上线后属于公网。
· 若用户的IPoE静态会话绑定VPN实例,或者AAA授权了VPN实例,用户上线后属于对应的VPN实例。该情况下,接口上是否绑定了VPN实例不影响用户的VPN归属。
· 若用户的IPoE静态会话绑定VPN实例,且AAA授权了相同的VPN实例,则用户上线后属于该VPN实例。若两种方式指定的VPN实例不同,则不允许用户上线。
本功能开启后,当该域的静态IPoE用户上线时,设备会检查用户上线接口绑定的VPN实例与用户被授权的VPN实例、用户IPoE静态会话绑定的VPN实例是否一致,并严格按照统一的VPN分配策略,控制用户报文走私网路由还是走公网路由:
· 若用户的IPoE静态会话未绑定VPN实例、AAA未授权VPN实例,则用户上线后属于接口绑定的VPN实例。若接口未绑定VPN实例,则用户上线后属于公网。
· 若用户的IPoE静态会话绑定VPN实例,或者AAA授权了VPN实例,且与接口绑定的VPN实例相同,用户上线后属于对应的VPN实例。若检查结果不一致,则不允许用户上线。
· 若用户的IPoE静态会话绑定VPN实例,且AAA授权了VPN实例,在两者均与接口绑定的VPN实例相同的情况下,用户上线后属于对应的VPN实例。若三种方式指定的VPN实例不同,则不允许用户上线。
本功能只对IPoE静态接入用户(包括静态个人接入用户和静态专线用户)生效。关于IPoE静态接入用户的详细介绍,请参见“BRAS业务配置指导”中的“IPoE”。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 开启对用户上线接口的VPN配置进行严格一致性检查功能。
strict-check access-interface vpn-instance
缺省情况下,对用户上线接口的VPN配置进行严格一致性检查功能处于关闭状态。
在DHCPv4/DHCPv6/IPv6 ND RS用户接入场景中,设备重启或单板、子卡、接口故障会导致用户异常下线,用户信息丢失。如果客户端未感知到此故障,待故障恢复后,客户端并不会重新向设备发起认证请求,而设备会因为查寻不到该用户信息而不允许这些用户上线。开启用户信息自动备份功能,且接入模块配置了允许自动备份的最大用户数目的情况下(通过ip subscriber auto-save max-user命令),用户认证通过后,设备会向接入模块下发一个授权指令,通知接入模块将该用户的认证信息备份到内存中。
为了避免设备重启后备份信息的丢失,还可以通过执行ip subscriber save-file命令将当前备份到内存中的用信息保存到非易失存储介质中。之后,当单板、子卡、接口发生故障并恢复正常时,接入模块将直接使用内存中备份的用户信息直接为这些用户重新发起认证。如果设备重启了,就需要使用从非易失存储介质中恢复到内存中的用户信息为用户重新发起认证。
本功能只对IPoE用户生效。关于IPoE接入用户自动备份功能的详细介绍,请参见“BRAS业务配置指导”中的“IPoE”。
建议在系统刚启动或业务轻载时开启本功能,避免后续业务繁忙时内存空间紧张导致本配置失败。
当设备内存空间紧张时,开启用户信息自动备份功能,可能会影响其它业务,请谨慎使用。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 开启用户信息自动备份功能。
access-user auto-save enable
缺省情况下,用户信息自动备份功能处于开启状态。
不同的组网环境中,对于用户认证失败后的处理策略有所不同。缺省情况下,用户将会直接下线。但如果希望用户在首次认证失败后,还有机会尝试其它的认证/授权/计费方案,则可以使其保持在线,并转至指定的认证失败域内重新进行认证/授权/计费。
以下情况不会采用认证失败域:
· 管理类用户认证失败。
· 因认证超时导致的认证失败,例如认证服务器无响应、无本地用户等。
· 因认证域的状态为block或认证域属于接口下指定的deny域而引起的认证失败。
· 域内的接入用户数已经达到最大值而引起的认证失败。
· 用户认证失败后转到证失败域内重新认证仍然失败。
· 用户重认证失败。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 配置用户认证失败后采取的处理策略。
authen-fail { offline | online domain new-isp-name }
缺省情况下,用户认证失败后采取的处理策略是直接下线。
配置ISP域的AAA认证方法时,需要注意的是:
· 为了提高可靠性,可以指定多个备选的认证方法,在当前的认证方法无效时设备将按照配置顺序尝试使用备选的方法完成认证。例如,radius-scheme radius-scheme-name local none表示,先进行RADIUS认证,若RADIUS认证无效则进行本地认证,若本地认证也无效则不进行认证。远程认证无效是指,指定的认证方案不存在、认证报文发送失败或者服务器无响应。本地认证无效是指没有找到对应的本地用户配置。
· 当选择了RADIUS协议的认证方案以及非RADIUS协议的授权方案时,AAA只接受RADIUS服务器的认证结果,RADIUS授权的信息虽然在认证成功回应的报文中携带,但在认证回应的处理流程中不会被处理。
· 当使用HWTACACS方案进行用户角色切换认证时,系统使用用户输入的用户角色切换用户名进行角色切换认证。
· 当使用RADIUS方案进行用户角色切换认证时,系统使用RADIUS服务器上配置的“$enabn$”形式的用户名进行用户角色切换认证。
¡ 当用户要切换到level-n的用户角色时,要求RADIUS服务器上存在用户名为“$enabn$”的用户,其中n为用户希望切换到的用户角色level-n中的n。
¡ 当用户要切换到非level-n的用户角色时,要求RADIUS服务器上存在用户名为“$enab0$”的用户,且该用户配置了取值为allowed-roles=”role”的自定义属性(其中role为要切换的目的用户角色名称)。
· 当采用本地认证方法为主认证方案,且配置了备选认证方法时,仅当AAA本地认证处理过程异常或者没有本地用户配置的情况下,用户本地认证失败后才会尝试使用备选方法进行认证,其它情况下不会转换认证方法,直接认为认证失败。
· 802.1X用户认证的过程中,如果最终生效的认证方法为none,则设备会直接向802.1X客户端响应认证成功报文,最终802.1X用户是否成功上线,将由802.1X客户端自身的实现决定。
配置前的准备工作:
· 确定要配置的接入方式或者服务类型。AAA可以对不同的接入方式和服务类型配置不同的认证方案。
· 确定是否为所有的接入方式或服务类型配置缺省的认证方法,缺省的认证方法对所有接入用户都起作用,但其优先级低于为具体接入方式或服务类型配置的认证方法。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) (可选)为当前ISP域配置缺省的认证方法。
authentication default { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | local [ ldap-scheme ldap-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,当前ISP域的缺省认证方法为local。
(4) 为指定类型的用户或服务配置认证方法。
¡ 为IPoE用户配置认证方法。
authentication ipoe { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-proxy [ radius-scheme radius-scheme-name | local ] * [ none ] | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情况下,IPoE用户采用缺省的认证方法。
¡ 为lan-access用户配置认证方法。
authentication lan-access { ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ ldap-scheme ldap-scheme-name | radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情况下,lan-access用户采用缺省的认证方法。
本功能仅在standard模式下支持。
¡ 为login用户配置认证方法。
authentication login { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | ldap-scheme ldap-scheme-name [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | local [ ldap-scheme ldap-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,login用户采用缺省的认证方法。
¡ 为PPP用户配置认证方法。
authentication ppp { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,PPP用户采用缺省的认证方法。
¡ 配置用户角色切换认证方法。
authentication super { hwtacacs-scheme hwtacacs-scheme-name | radius-scheme radius-scheme-name } *
缺省情况下,用户角色切换认证采用缺省的认证方法。
配置ISP域的AAA授权方法时,需要注意的是:
· 为了提高可靠性,可以指定多个备选的授权方法,在当前的授权方法无效时设备将按照配置顺序尝试使用备选的方法完成授权。例如,radius-scheme radius-scheme-name local none表示,先进行RADIUS授权,若RADIUS授权无效则进行本地授权,若本地授权也无效则不进行授权。远程授权无效是指,指定的授权方案不存在、授权报文发送失败或者服务器无响应。本地授权无效是指没有找到对应的本地用户配置。
· 目前仅SSL VPN 用户支持使用LDAP进行授权。
· 在一个ISP域中,只有RADIUS授权方法和RADIUS认证方法引用了相同的RADIUS方案,RADIUS授权才能生效。若RADIUS授权未生效或者RADIUS授权失败,则用户认证会失败。
· 当采用本地授权方法为主授权方法,且配置了备选授权方法时,仅当AAA本地授权处理过程异常或者没有本地用户配置的情况下,用户本地授权失败后才会尝试使用备选方法进行授权,其它情况下不会转换授权方法,直接认为授权失败。
配置前的准备工作:
· 确定要配置的接入方式或者服务类型,AAA可以按照不同的接入方式和服务类型进行AAA授权的配置。
· 确定是否为所有的接入方式或服务类型配置缺省的授权方法,缺省的授权方法对所有接入用户都起作用,但其优先级低于为具体接入方式或服务类型配置的授权方法。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) (可选)为当前ISP域配置缺省的授权方法。
authorization default { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,当前ISP域的缺省授权方法为local。
(4) 为指定类型的用户或服务配置授权方法。
¡ 配置命令行授权方法。
authorization command { hwtacacs-scheme hwtacacs-scheme-name [ local ] [ none ] | local [ none ] | none }
缺省情况下,命令行授权采用缺省的授权方法。
¡ 为IPoE用户配置授权方法。
authorization ipoe { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-proxy [ radius-scheme radius-scheme-name | local ] * [ none ] | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情况下,IPoE用户采用缺省的授权方法。
¡ 为lan-access用户配置授权方法。
authorization lan-access { local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情况下,lan-access用户采用缺省的授权方法。
本功能仅在standard模式下支持。
¡ 为login用户配置授权方法。
authorization login { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,login用户采用缺省的授权方法。
¡ 为PPP用户配置授权方法。
authorization ppp { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,PPP用户采用缺省的授权方法。
配置ISP域的AAA计费方法时,需要注意的是:
· 为了提高可靠性,可以指定多个备选的计费方法,在当前的计费方法无效时设备将按照配置顺序尝试使用备选的方法完成计费。例如,radius-scheme radius-scheme-name local none表示,先进行RADIUS计费,若RADIUS计费无效则进行本地计费,若本地计费也无效则不进行计费。远程计费无效是指,指定的计费方案不存在、计费报文发送失败或者服务器无响应。本地计费无效是指没有找到对应的本地用户配置。
· 不支持对FTP/SFTP/SCP类型login用户进行计费。
· 本地计费仅用于配合本地用户视图下的access-limit命令来实现对本地用户连接数的限制功能。
· 当采用本地计费方案为主计费方法,且配置了备选计费方法时,仅当AAA本地计费处理过程异常或者没有本地用户配置的情况下,用户本地计费失败后才会尝试使用备选方法进行计费,其它情况下不会转换计费方法,直接认为计费失败。
· 对于PPPoE代拨用户,可选择配置RADIUS计费,也可以选择不计费。如果校方希望使用校园网内的AAA服务器对学生访问运营商网络的外网流量进行同步监管,则建议配置RADIUS计费方案。如果PPPoE代拨用户使用的认证域下(仅一体化PPPoE代拨模式支持),没有设置PPPoE代拨用户的计费方案,则使用域下的缺省计费方法进行计费,如果域下的缺省计费方法不为radius-scheme或none,则计费失败。
配置前的准备工作:
· 确定要配置的接入方式或者服务类型,AAA可以按照不同的接入方式和服务类型进行AAA计费的配置。
· 确定是否为所有的接入方式或服务类型配置缺省的计费方法,缺省的计费方法对所有接入用户都起作用,但其优先级低于为具体接入方式或服务类型配置的计费方法。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) (可选)为当前ISP域配置缺省的计费方法。
accounting default { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,当前ISP域的缺省计费方法为local。
(4) 为指定类型的用户配置计费方法。
¡ 配置命令行计费方法。
accounting command hwtacacs-scheme hwtacacs-scheme-name
缺省情况下,命令行计费采用缺省的计费方法。
¡ 为IPoE用户配置计费方法。
accounting ipoe { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ no-accounting-update ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情况下,IPoE用户采用缺省的计费方法。
¡ 为lan-access用户配置计费方法。
accounting lan-access { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ no-accounting-update ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name ] [ none ] | none | radius-scheme radius-scheme-name [ local ] [ none ] }
缺省情况下,lan-access用户采用缺省的计费方法。
本功能仅在standard模式下支持。
¡ 为login用户配置计费方法。
accounting login { hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,login用户采用缺省的计费方法。
¡ 为PPP用户配置计费方法。
accounting ppp { broadcast radius-scheme radius-scheme-name1 radius-scheme radius-scheme-name2 [ no-accounting-update ] [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] | hwtacacs-scheme hwtacacs-scheme-name [ radius-scheme radius-scheme-name ] [ local ] [ none ] | local [ radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name ] * [ none ] | none | radius-scheme radius-scheme-name [ hwtacacs-scheme hwtacacs-scheme-name ] [ local ] [ none ] }
缺省情况下,PPP用户采用缺省的计费方法。
¡ 为PPPoE代拨用户配置计费方法。
accounting pppoea { none | radius-scheme radius-scheme-name [ none ] }
缺省情况下,PPPoE代拨用户采用缺省的计费方法。
(5) (可选)配置扩展计费策略。
¡ 配置用户计费开始失败策略。
accounting start-fail { offline | online }
缺省情况下,如果用户计费开始失败,则允许用户保持在线状态。
¡ 配置用户计费更新失败策略。
accounting update-fail { [ max-times times ] offline | online }
缺省情况下,如果用户计费更新失败,允许用户保持在线状态。
¡ 配置用户计费配额(流量或时长)耗尽策略。
accounting quota-out { offline | online | redirect-url url-string [ stop-accounting ] [ user-profile profile-name ] } [ no-accounting-update ]
缺省情况下,用户的当前计费配额耗尽后,设备会向服务器发送计费更新报文来获取新的配额,若计费回应报文未携带新的配额,则该用户被强制下线。
¡ 配置双协议栈用户的计费方式。
accounting dual-stack { merge | separate }
缺省情况下,双协议栈用户的计费方式为统一计费。
¡ 配置发送计费开始请求报文的延迟时间。
accounting start-delay delay-time
缺省情况下,计费开始请求报文不延迟发送。
完成上述配置后,在任意视图下执行display命令可以显示配置后AAA的运行情况,通过查看显示信息验证配置的效果。
表1-13 ISP域显示和维护
操作 |
命令 |
显示指定ISP域的配置信息 |
display domain isp-name |
显示所有或指定ISP域的配置信息 |
display domain [ name isp-name ] |
显示ISP域的在线接入用户统计信息 |
display domain [ name isp-name ] access-user statistics |
在用户认证过程中,如果出现认证方案下的所有RADIUS服务器不可达状况,设备发出的RADIUS认证请求报文将无法得到回应,用户无法正常上线。AAA用户逃生功能为网络管理员提供了一套RADIUS服务器不可达时针对在线用户的紧急处理方案,具体包括以下两个处理机制:
(1) 通过在用户认证域下配置逃生域,允许用户在RADIUS服务器不可达时 “逃离”当前域,在新域中进行上线。通常情况下,逃生行为只是一个应急措施,因此用户可以无需再次认证而直接上线。
(2) 当原认证域中的任一RADIUS服务器恢复可达时,对于已逃生的用户,有两种处理策略:
¡ 如果希望用户重新进行认证/授权/计费,则可以直接使其下线。
¡ 如果希望用户还能返回到原认证域中,则可以使其保持在线,并将该逃生恢复域指定为用户首次认证所在的域。该处理策略下,用户进入逃生恢复域后,不会重新进行认证/授权/计费,但可以获得逃生恢复域中指定生效的一些授权属性(通过dynamic-authorization effective-attribute命令设置)。
为了使得设备能够及时感知到RADIUS服务器实际状态的变化,系统将以指定的时间间隔定期检查各RADIUS方案下的RADIUS认证服务器的状态,并通知接入模块将存在可达认证服务器的RADIUS方案下的已逃生用户取消逃生。
本功能仅在standard模式下支持。
本功能仅适用于IPoE、PPPoE用户。
关于逃生域,需要注意的是:
· 如果逃生域中配置了非none的认证/授权/计费方案,用户将不会使用该域的方案重新进行认证、授权,而是保持在线的情况下使用该域的计费方案进行计费。
· 逃生域不支持嵌套配置,包括两种情况:逃生域中配置的逃生域不会生效,已经配置了逃生域的认证域被指定为其它认证域的逃生域时不会生效。
关于逃生恢复域,需要注意的是:
· 如果用户逃生之前所在的原认证域中,为RADIUS认证方案配置了none备份方案,则RADIUS服务器从不可达恢复为可达时,用户也会进入配置的逃生恢复域。
· 为了准确地判断RADIUS认证服务器是否可达,使得逃生恢复措施及时生效,建议配置RADIUS服务器探测功能。
对于RADIUS认证服务器状态检查的时间间隔,需要注意的是:
· 如果设置的状态检查时间间隔过小,将会占用接入业务处理的系统资源;如果设置的状态检查时间间隔过大,对于服务器实际状态变化的感知将不够及时。
· 在有大量用户集中上线的情况下,建议综合考虑接入业务的处理效率和逃生处理的准确性。
(1) 进入系统视图。
system-view
(2) (可选)设置RADIUS认证服务器状态检查的时间间隔。
radius-server authen-state-check interval interval
缺省情况下,RADIUS认证服务器状态检查的时间间隔默认为10分钟。
(3) 进入ISP域视图。
domain name isp-name
(4) 配置用户认证过程中,RADIUS服务器不可达时的逃生域。
authen-radius-unavailable online domain new-isp-name
缺省情况下,未指定用户认证过程中RADIUS服务器不可达时的逃生域。
(5) 指定当用户因为RADIUS服务器不可达逃生后,在服务器恢复可达时的处理策略。
authen-radius-recover { offline | online domain new-isp-name }
缺省情况下,未指定用户因为RADIUS服务器不可达逃生后,在服务器又恢复可达时的处理策略。
对于接口上的PPP、IPoE、lan-access网络接入类用户,设备支持在接入模块、用户接入接口以及系统范围内对此类用户的认证域进行不同维度的配置和管理,以便满足不同的接入管理需求以及适应灵活的AAA服务提供策略。
经由系统选择的认证前域和认证域如果为接口上允许用户接入的ISP域,则该域中配置的AAA方法才会对用户生效,否则用户认证失败。
认证前域是指用户在认证上线之前所在的域,用户在该域中通过认证后,才可以获取后续上线时需要的网络资源。
认证前域的选择流程遵从以下次序:
(1) 接入模块指定的认证前域。若指定的认证前域不存在,则跳转到步骤(4)。
(2) aaa default-domain pre-authentication命令指定的接口缺省认证前域。
(3) domain default enable命令指定的系统缺省域。
(4) domain if-unknown命令指定的域。若指定的域不存在,则认证失败。
用户上线时使用的认证域的选择流程如下图所示:
图1-19 用户认证域选择流程图
可以通过本配置在接口上设置用户接入时使用的缺省认证域,具体包含以下几种类型:
· 缺省认证前域:用户认证前使用的域,主要用于为未认证用户分配IP地址,通过aaa default-domain pre-authentication命令配置。
· 缺省认证域:用户认证时使用的域,仅适用于用户名中不携带域名的用户,通过aaa default-domain authentication命令配置。
· 缺省强制认证域:用户认证时强制使用的域,但不使用它替换用户原始域名,通过aaa default-domain authentication force命令配置。
· 缺省强制替换认证域:用户认证时强制使用的域,且会使用它替换用户原始域名,通过aaa default-domain authentication replace命令配置。
本配置仅适用于PPP、IPoE、lan-access网络接入类用户。其中,认证前域仅适用于IPoE用户。在同一个接口上,缺省认证域、缺省强制认证域和缺省强制替换认证域不能同时配置,且各类域最多只能配置一个,后配置的会覆盖已有的配置。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 配置接口上的缺省ISP域。
aaa default-domain { authentication [ force | replace ] isp-name | pre-authentication isp-name } *
缺省情况下,接口上未配置缺省认证域。
如果从接口上线的用户需要使用用户名中携带的域进行认证,但该域在设备上不存在,则可以通过接口上指定的漫游域作为用户的归属域进行认证。
本配置仅适用于PPP、IPoE、lan-access网络接入类用户。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 配置接口上的漫游域。
aaa roam-domain isp-name
缺省情况下,接口上未配置漫游域。
如果希望仅允许某些域的用户可以接入某接口,则可以通过本配置实现。
本配置仅适用于IPoE网络接入类用户。
同一个接口下,最多可配置16个允许接入的域。
同一个接口下,aaa permit-domain命令不能与aaa deny-domain命令同时配置。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 配置接口上允许用户接入的ISP域。
aaa permit-domain isp-name
缺省情况下,接口上未限制用户接入的ISP域。
如果希望禁止某些域的用户接入某接口,则可以通过本配置实现。如果指定接口下配置禁止接入的域,则该接口使用此认证域接入的用户不能够进行AAA处理。
本配置仅适用于PPP、IPoE、lan-access网络接入类用户。
同一个接口下,最多可配置16个禁止接入的域。
同一个接口下,aaa deny-domain命令不能与aaa permit-domain命令同时配置。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 配置接口上禁止用户接入的ISP域。
aaa deny-domain isp-name
缺省情况下,接口上未限制用户接入的ISP域。
通过配置同时在线的最大用户连接数,可以限制采用指定登录方式(FTP、SSH、Telnet等)同时接入设备的在线用户数。
该配置对于通过任何一种认证方式(none、password或者scheme)接入设备的用户都生效。
可以对SSH用户和各类SSH子服务用户(NETCONF over SSH/SCP/SFTP/Stelnet用户)分别设置最大连接数。对于SSH子服务用户,需要受子服务用户最大连接数和SSH用户最大连接数的双重限制。子服务用户上线时,系统首先检查在线的SSH子服务用户连接数之和是否已经达到了SSH用户的最大连接数,然后再检查对应的子服务连接数是否已经达到该服务的最大连接数。
(1) 进入系统视图。
system-view
(2) 配置同时在线的最大用户连接数。
aaa session-limit { ftp | http | https | ssh [ service-type { netconf | scp | sftp | stelnet } ] | telnet } max-sessions
缺省情况下,最大用户连接数为32。
若RADIUS服务器为用户下发了最大用户数(通过标准属性62号属性Port-Limit),或者用户使用的ISP域下限制了单个用户名允许接入的最大用户数(通过配置users-per-account命令),则共享此账户的所有用户将作为家庭用户共享指定带宽。如果实际应用中,只希望限制使用同一账号的用户数量,但这些用户不共享指定带宽,则需要通过本功能将这类用户配置为非家庭用户。每个非家庭用户的带宽均由上网用户名的授权流量监管参数单独限制。
目前,本特性仅适用于PPPoE、IPoE和L2TP用户。
本功能仅在standard模式下支持。
本功能仅在下表所列单板上配置生效。
表1-14 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG |
SPE单板 |
RX-SPE200、RX-SPE200-E |
本特性生效的前提是,RADIUS服务器为用户下发了Port-Limit属性或者该用户使用的ISP域下配置了users-per-account命令。
(1) 进入系统视图。
system-view
(2) 配置使用相同账号的用户为非家庭用户。
aaa shared-account-user no-family
缺省情况下,使用相同账号的用户为家庭用户。
用户认证上线后,设备支持通过命令行向该用户下发相应的流量采样规则对指定方向的用户流量进行Netstream采样。这种基于用户名的流量统计方式,便于网络管理员对在线用户的业务流量进行实时的统计和分析。
对某在线用户下发相应的流量采样规则之后,系统将会立即启动Netstream采样,除非用户下线、下发新的规则或管理员通过命令行取消该采样规则,否则采样过程持续进行。
本特性仅对PPP、IPoE用户生效。
本功能仅在standard模式下支持。
本功能仅在下表所列单板上配置生效。
表1-15 单板信息一览表
单板类型 |
单板丝印 |
CEPC单板 |
CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L |
CSPEX单板 |
CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1802X、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG |
SPE单板 |
RX-SPE200、RX-SPE200-E |
对用户下发的流量采样规则可独立生效,不依赖于任何NetStream的相关配置。如果用户上线的接口上存在其它方式的NetStream采样配置,则该用户的流量仅依据本特性下发的规则采样,接口上的其它流量会依据其它规则采样。
请在用户视图下执行以下命令,为指定用户授权Netstream采样规则,并启动Netstream采样。
aaa authorize user-name user-name netstream-sampler sampler-name [ inbound | outbound ]
请在用户视图下执行以下命令,取消为指定用户授权的Netstream采样规则。
aaa de-authorize user-name user-name netstream-sampler [ inbound | outbound ]
本地话单缓存功能是指,在AAA服务器不能提供计费服务时(例如AAA 服务器不可达),为保证用户话单不丢失、不出错,由设备将用户停止计费时产生的话单暂时保存在本地。缓存在本地的用户话单可以通过FTP和TFTP协议上传到一个指定路径上保存,然后待AAA服务器的计费功能恢复正常后,再上传到计费服务器。本功能可以支持对lan-access、PPP、IPoE用户进行本地话单缓存。
开启本地话单缓存功能后,有以下两种方式上传话单:
· 系统自动上传:通过指定合法的上传URL,由系统定期或当本地缓存话单数目达到系统设定的阈值时,向该指定路径上进行话单上传。每次话单信息上传完成之后,系统将自动清除当前本地话单缓存中的所有话单信息。
· 手动上传:通过命令行手动执行上传话单操作,且可通过参数指定是否清除本地缓存中的话单信息。在自动上传路径不可达(例如存储话单的服务器故障)、有临时审计、数据分析等需求的情况下,建议进行手工上传话单。
通过开启本地话单上传缓存告警功能,当系统自动上传话单到指定路径失败时,设备会生成表示本地话单上传失败的告警信息。
(1) 进入系统视图。
system-view
(2) 开启本地话单缓存功能。
local-bill enable
缺省情况下,本地话单缓存功能处于关闭状态。
(3) 指定用于上传本地缓存话单的URL。
local-bill export-url url
缺省情况下,未指定本地缓存话单上传URL。
(4) (可选)配置本地缓存话单自动上传间隔。
local-bill export-interval interval
缺省情况下,自动上传话单的间隔为1440分钟。
(5) (可选)开启本地话单缓存告警功能。
snmp-agent trap enable local-bill
缺省情况下,本地话单缓存告警功能处于开启状态。
手动上传操作仅能同时在一个用户线上执行。某用户线上的用户执行了该操作后,系统需要一定的时间进行上传,在此期间,该用户线上的用户必须等待上传结果,不能执行命令行操作,且正在进行的自动上传也会暂停等待。同时,其它用户线上的用户执行手动上传话单命令时,系统会提示当前正在处理手动上传话单不能执行本次命令。
(1) 进入系统视图。
system-view
(2) 开启本地话单缓存功能。
local-bill enable
缺省情况下,本地话单缓存功能处于关闭状态。
(3) 执行上传话单操作。
local-bill export [ url ] [ clear-cache ]
完成上述配置后,在任意视图下执行display命令可以显示本地缓存话单的相关信息。
表1-16 本地缓存话单显示和维护
操作 |
命令 |
显示指定起始位置和个数的话单信息 |
display local-bill verbose start-number count count |
显示话单缓存使用情况 |
display local-bill cache-usage |
用户进行RADIUS认证时,系统会获取设备的NAS-ID来设置RADIUS报文中的NAS-Identifier属性,该属性用于向RADIUS服务器标识用户的接入位置。设备支持多种途径配置NAS-ID,按照获取优先级从高到低的顺序依次包括:
(1)
(2) 与用户接入VLAN绑定的NAS-ID。
(3) 接口视图下的NAS-ID。
(4) ISP域视图下的NAS-ID
若以上配置都不存在,则使用设备的名称(由sysname命令指定)作为设备的NAS-ID。
若在实际网络中,用户的接入VLAN可以标识用户的接入位置,则可通过建立用户接入VLAN与指定的NAS-ID之间的绑定关系来实现接入位置信息的映射。
NAS-ID Profile中定义的NAS-ID 与VLAN的绑定关系仅对PPP和IPoE用户有效。
NAS-ID Profile可直接在接口上通过aaa nas-id-profile命令指定。
一个NAS-ID profile中可以指定多组NAS-ID和VLAN绑定。
一个NAS-ID可以与多个VLAN进行绑定,一个VLAN只能绑定一个NAS-ID。
(1) 进入系统视图。
system-view
(2) 创建NAS-ID Profile,并进入NAS-ID-Profile视图。
aaa nas-id profile profile-name
(3) 设置NAS-ID 与VLAN的绑定关系。
nas-id nas-identifier bind { { c-vid vlan-id | s-vid vlan-id } * | vlan vlan-id }
QinQ组网情况下,建议指定s-vid和c-vid参数或两者之一;非QinQ组网情况下,只能指定vlan参数。
接口上配置的NAS-ID和NAS-ID Profile仅对PPP和IPoE用户有效。
若接口上同时配置了NAS-ID和NAS-ID Profile,则NAS-ID Profile中定义的绑定关系优先生效。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 在接口上配置NAS-ID。
aaa nas-id nas-identifier
缺省情况下,接口上未配置NAS-ID。
(4) (可选)指定接口引用的NAS-ID Profile。
aaa nas-id-profile profile-name
缺省情况下,未指定引用的NAS-ID Profile。
(1) 进入系统视图。
system-view
(2) 进入ISP域视图。
domain name isp-name
(3) 在ISP域视图下配置NAS-ID。
nas-id nas-identifier
缺省情况下,未配置ISP域下的NAS ID。
在用户通过无线方式接入的组网环境中,可通过在用户接入的接口上配置SSID名称来标识用户所属的SSID,该名称将会作用于如下过程:
· 携带于设备重定向给用户的Web服务器的URL中。
· 填充在接入设备发送的RADIUS认证请求报文中的30号标准属性Called-Station-Id中,格式为:00-00-00-00-00-00:SSID。
本功能仅在standard模式下支持。
接入设备重定向给用户的Web服务器的URL中是否携带SSID信息,由用户认证域下的web-server url-parameter命令中是否指定了ssid参数决定。
如果用户不属于无线方式接入,则不建议通过本命令在接口上配置SSID。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 在接口上配置SSID。
aaa ssid ssid-name
缺省情况下,接口上未配置SSID。
RADIUS计费过程使用Acct-Session-Id属性作为用户的计费ID。设备使用系统时间、随机数以及设备ID为每个在线用户生成一个唯一的Acct-Session-Id值。
(1) 进入系统视图。
system-view
(2) 配置设备ID。
aaa device-id device-id
缺省情况下,设备ID为0。
为了提高系统的安全性,用户通过Telnet、SSH、NETCONF over SSH、NETCONF over SOAP方式登录设备时,系统会根据指定的安全要求对用户密码进行检查。为了及时提醒用户修改不符合系统要求的密码,建议开启密码修改周期性提醒日志功能。
开启本功能后,系统将每隔24小时,对所有不符合密码检查策略的用户打印日志,提醒这些用户尽快修改当前密码。除了周期性提醒之外,系统还会在每个用户登录时,针对不符合密码检查策略的情况立即打印日志进行提醒。
· 对于通过Telnet、SSH方式登录设备的用户,如果用户密码为弱密码,且系统在用户登录时未要求其立即更改密码,系统会打印此提醒日志。弱密码是指不符合如下任意一项要求的密码:
¡ 密码组合检测策略。
¡ 密码最小长度限制。
¡ 密码复杂度检查策略。
· 对于通过NETCONF over SSH、NETCONF over SOAP方式登录设备的用户,如果出现以下情况,系统会打印此提醒日志:
¡ 用户密码为弱密码。
¡ 用户密码为缺省密码。
¡ 全局密码管理功能开启后,用户首次登录或使用被更改过的密码。
¡ 用户密码已经过期。
仅当以下情况发生时,系统才会停止打印此提醒日志:
· 关闭了密码修改周期性提醒日志功能。
· 用户密码修改为符合系统安全要求的密码。
· 密码检查策略相关功能的开启状态发生变化,使得密码检查策略变得宽松。
· 密码检查策略的参数设置发生变化。
当前系统中的密码检查策略可通过display password-control命令查看。弱密码检查使用的密码组合检测策略、密码最小长度限制、密码复杂度检查策略可分别通过password-control composition、password-control length、password-control complexity命令修改。关于密码检查策略的具体介绍,请参见“安全命令参考”的“Password Control”。
(1) 进入系统视图。
system-view
(2) 开启密码修改周期性提醒日志功能。
local-server log change-password-prompt
缺省情况下,密码修改周期性提醒日志功能处于开启状态。
用户上下线记录功能是指当接入用户上线失败、正常或异常下线后,设备记录并保存相关用户信息,以便管理员进行用户管理以及对用户上下线故障进行快速定位。关闭本功能后,系统将停止记录用户上下线信息,可提高当前可用内存容量,但管理员将看不到用户上下线信息。
本功能仅支持对PPP、IPoE、Login、lan-access接入用户的上下线信息进行记录。
在PPP或IPoE支持EDSG的应用环境中,本功能对EDSG业务不生效。
(1) 进入系统视图。
system-view
(2) 开启用户上线失败记录功能。
aaa online-fail-record enable
缺省情况下,用户上线失败记录功能处于开启状态。
(3) 配置设备上用户上线失败记录的记录模式。
aaa online-fail-record mode { compress | normal }
缺省情况下,用户上线失败记录的记录模式为普通模式。
(4) 配置设备上用户上线失败记录的最大数目。
aaa online-fail-record max-number max-number
缺省情况下,用户上线失败记录的最大数目为128000。
(1) 进入系统视图。
system-view
(2) 开启用户下线记录功能。
aaa offline-record enable
缺省情况下,用户下线记录功能处于开启状态。
只有本功能处于开启状态,用户正常下线记录功能和用户异常下线记录功能才能生效。
(3) 开启用户正常下线记录功能。
aaa normal-offline-record enable
缺省情况下,用户正常下线记录功能处于开启状态。
(4) 开启用户异常下线记录功能。
aaa abnormal-offline-record enable
缺省情况下,用户异常下线记录功能处于开启状态
(5) 配置设备上用户正常下线记录的记录模式。
aaa normal-offline-record mode { compress | normal }
缺省情况下,用户正常下线记录的记录模式为普通模式。
(6) 配置设备上用户正常下线记录的最大数目。
aaa normal-offline-record max-number max-number
缺省情况下,用户上线失败记录的最大数目为128000。
(7) 配置设备上用户异常下线记录的记录模式。
aaa abnormal-offline-record mode { compress | normal }
缺省情况下,用户异常下线记录的记录模式为普通模式。
(8) 配置设备上用户异常下线记录的最大数目。
aaa abnormal-offline-record max-number max-number
缺省情况下,用户上线失败记录的最大数目为128000。
(1) 进入系统视图。
system-view
(2) 开启AAA用户上下线记录的实时备份功能
aaa { abnormal-offline-record | normal-offline-record | online-fail-record } * realtime-backup enable
缺省情况下,AAA用户上下线记录的实时备份功能处于关闭状态。
完成上述配置后,在任意视图下执行display命令可以显示用户上下线记录。
下表中,参数lan-access、idle-cut、quota-out、realtime-acct-fail和session-timeout仅在standard模式下支持。
在用户视图下执行reset命令可以清除用户上下线记录。
表1-17 用户上下线记录显示和维护
操作 |
命令 |
显示用户异常下线记录 |
(独立运行模式) display aaa abnormal-offline-record { access-type { ipoe | lan-access | login | ppp } | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | slot slot-number | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa abnormal-offline-record offline-reason { idle-cut | quota-out | realtime-acct-fail | session-timeout | user-detect-fail } [ brief ] display aaa abnormal-offline-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa abnormal-offline-record (IRF模式) display aaa abnormal-offline-record { access-type { ipoe | lan-access | login | ppp } | chassis chassis-number slot slot-number | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa abnormal-offline-record offline-reason { idle-cut | quota-out | realtime-acct-fail | session-timeout | user-detect-fail } [ brief ] display aaa abnormal-offline-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa abnormal-offline-record |
显示用户正常下线记录 |
(独立运行模式) display aaa normal-offline-record { access-type { ipoe | lan-access | login | ppp } | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | slot slot-number | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa normal-offline-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa normal-offline-record (IRF模式) display aaa normal-offline-record { access-type { ipoe | lan-access | login | ppp } | chassis chassis-number slot slot-number | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa normal-offline-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa normal-offline-record |
显示用户下线记录 |
(独立运行模式) display aaa offline-record { access-type { ipoe | lan-access | login | ppp } | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | slot slot-number | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa offline-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa offline-record (IRF模式) display aaa offline-record { access-type { ipoe | lan-access | login | ppp } | chassis chassis-number slot slot-number | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa offline-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa offline-record |
显示用户上线失败记录 |
(独立运行模式) display aaa online-fail-record { access-type { ipoe | lan-access | login | ppp } | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | slot slot-number | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa online-fail-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa online-fail-record (IRF模式) display aaa online-fail-record { access-type { ipoe | lan-access | login | ppp } | chassis chassis-number slot slot-number | domain domain-name | interface interface-type interface-number | { ip ipv4-address | ipv6 ipv6-address } | mac-address mac-address | s-vlan svlan-id [ c-vlan cvlan-id ] | username user-name [ fuzzy-match ] | reason-code code } * [ time begin-time end-time [ date begin-date end-date ] ] [ brief | count count ] display aaa online-fail-record time begin-time end-time [ date begin-date end-date ] [ brief ] display aaa online-fail-record |
显示用户上下线原因码的描述信息和对应的RADIUS协议原因码 |
display aaa online-offline-reason [ code code-id ] |
显示在线用户数的历史峰值信息 |
display aaa max-online-users [ domain isp-name ] |
清除当前所有用户异常下线记录 |
reset aaa abnormal-offline-record |
清除当前所有用户正常下线记录 |
reset aaa normal-offline-record |
清除当前所有用户下线记录 |
reset aaa offline-record |
清除当前所有用户上线失败记录 |
reset aaa online-fail-record |
清除在线用户数的历史峰值记录 |
reset aaa max-online-users [ all-domain | domain isp-name ] |
AAA请求测试功能是指,通过执行测试命令,由设备向指定的AAA服务器发起一次测试请求来模拟一个用户的认证/计费过程。本功能主要用于排查设备与AAA服务器交互时的故障原因,目前仅支持对RADIUS服务器发起测试。
当故障发生时,管理员可在设备上执行测试命令发起一次RADIUS请求,并通过查看打印出的认证/计费请求结果以及报文交互信息,来快速定位故障发生的关键环节,以及及时排查影响认证/计费结果的RADIUS属性。
基本的AAA请求测试原则如下:
· 整个测试过程不受服务器状态(是否为active状态)以及工作模式(是否为负载分担模式)的影响,所有在测试命令中指定的RADIUS服务器都有可能作为测试对象。
· 如果测试命令中未指定具体的RADIUS服务器,设备将对测试命令中指定的RADIUS方案中的所有服务器轮询测试。轮询测试过程中,设备按照认证请求测试->计费开始请求测试->计费结束请求测试的顺序依次进行,具体测试过程如下:
a. 设备向主认证服务器发送一个认证请求报文,请求报文携带的用户名和密码在测试命令中指定。如果设备收到应答报文(无论认证结果为成功或失败),或最终测试完所有认证服务器后都未收到应答报文,则停止测试认证服务器,并开始测试计费服务器。如果RADIUS方案中未配置认证服务器,则直接进入下个测试环节。
b. 设备开始发送计费开始请求报文,其测试原则与认证服务器的测试原则类似,收到应答或所有服务器都未响应时,则停止测试计费服务器,并进入下个测试环节。
c. 设备向曾经发送过计费开始请求报文的服务器发送计费停止报文,收到应答或所有服务器都未响应时,结束本次测试。
· 如果测试命令中指定了具体的RADIUS服务器,且该服务器参数能够与测试命令中指定的RADIUS方案中的某服务器参数完全匹配,则设备将对该认证/计费服务器发起一次认证/计费请求。
缺省情况下,设备在测试过程中发送的RADIUS请求报文会携带一些属性,如表1-18所示。为了便于辅助排查认证/计费故障,设备还支持由用户通过配置来选择这些RADIUS请求报文中最终要携带的属性,以及允许自定义所携带属性的取值。
表1-18 RADIUS请求报文中缺省携带的属性
报文类型 |
缺省携带的RADIUS属性 |
RADIUS认证请求 |
User-Name、CHAP-Password(或User-Password)、CHAP-Challenge、NAS-IP-Address(或NAS-IPv6-Address)、Service-Type、Framed-Protocol、NAS-Identifier、NAS-Port-Type、Acct-Session-Id |
RADIUS计费请求 |
User-Name、Acct-Status-Type、NAS-IP-Address(NAS-IPv6-Address)、NAS-Identifier、Acct-Session-Id、Acct-Delay-Time、Acct-Terminate-Cause |
关于测试过程,需要关注的是:
· 由于测试期间不能保证设备与AAA服务器可以正常通信,因此不建议同时允许用户进行正常的上线、下线操作。
· 测试过程中,如果引用的RADIUS方案配置发生变化,则仅在下次测试中生效,不对本次测试产生影响。
· 仅允许在同一时间内存在一个测试过程,下一次测试只能在当前测试过程完成后执行。
关于RADIUS报文中携带的属性,需要关注的是:
· 如果一个属性已经被配置为不能携带在RADIUS报文中(通过exclude命令),则需要先执行undo exclude命令取消该配置,才能将其配置为携带在RADIUS报文中。
· 如果一个属性已经被配置为需要携带在RADIUS报文中(通过include命令),则需要先执行undo include命令取消该配置,才能将其配置为不携带在RADIUS报文中。
完成待测试的RADIUS服务器所属RADIUS方案的配置,该RADIUS方案中至少需要配置一个RADIUS服务器。
由于设备按照配置的先后顺序在RADIUS报文中添加属性,且RADIUS报文最大长度为4096个字节,如果配置了过多的RADIUS属性,则在报文长度超过最大值后,部分属性将不会被添加在报文中。因此,请合理规划要添加的RADIUS报文属性数目。
(1) (可选)配置RADIUS属性测试组来调整携带在RADIUS报文中的属性。
a. 进入系统视图。
system-view
b. 创建RADIUS属性测试组,并进入RADIUS属性测试组视图。
radius attribute-test-group attr-test-group-name
系统支持配置多个RADIUS属性测试组。
c. 配置RADIUS报文中携带的属性。
include { accounting | authentication } { name attribute-name | [ vendor vendor-id ] code attribute-code } type { binary | date | integer | interface-id | ip | ipv6 | ipv6-prefix | octets | string } value attribute-value
对于RADIUS报文中缺省携带的属性,可通过本命令来修改属性取值;对于RADIUS报文中非缺省携带的属性,可通过本命令将其添加在RADIUS报文中。
d. 配置RADIUS报文中不能携带的属性。
exclude { accounting | authentication } name attribute-name
可通过本命令排除掉RADIUS报文中携带的一些缺省属性,来辅助排查认证/计费故障。
e. 退回系统视图。
quit
(2) 退回用户视图。
quit
(3) 请在用户视图下执行本命令,发起一次AAA请求测试。
test-aaa user user-name password password radius-scheme radius-scheme-name [ radius-server { ipv4-address | ipv6 ipv6-address } port-number [ vpn-instance vpn-instance-name ] ] [ chap | pap ] [ attribute-test-group attr-test-group-name ] [ trace ]
· 执行test-aaa命令后,如果打印认证/计费请求已超时的提示信息,则可能的原因有:
¡ 设备和RADIUS服务器之间路由不可达。
该情况下,需要排查设备和服务器中间通信故障问题。
¡ 设备上配置的认证/计费服务器的UDP端口号以及认证/计费报文的共享密钥与RADIUS服务器上的配置不一致。
该情况下,需要检查用户认证域下引用的RADIUS方案,并在方案下配置与服务器匹配的端口号以及共享密钥。
¡ RADIUS服务器上没有添加接入设备的IP地址或者添加的IP地址不正确。
该情况下,需要在服务器上添加正确的接入设备IP地址,该地址要与设备发送RADIUS报文的源地址保持一致。
¡ RADIUS服务器上的认证或计费端口号被其它程序占用。
该情况下,需要在服务器上检查该端口是否被其它程序占用,若被占用,请将占用端口的程序关闭。
· 执行test-aaa命令后,如果打印RADIUS服务器拒绝此认证请求的提示信息,则需要继续查看RADIUS服务器上记录的认证日志,并结合打印的拒绝原因以及认证日志中描述的失败原因进行相应的处理。比如,RADIUS服务器的数据库中没有该用户信息,用户密码错误。
· 执行test-aaa命令后,如果打印指定的RADIUS方案中未配置要探测的认证/计费服务器的提示信息,则可能的原因有:
¡ test-aaa命令中指定的RADIUS方案下,不存在任何RADIUS服务器的配置。
¡ test-aaa命令中指定的RADIUS方案下,不存在与该命令中指定的RADIUS服务参数匹配的RADIUS服务器。
以上两种情况下,需要保证待测试的RADIUS服务器所属的RADIUS方案中至少配置一个RADIUS服务器,然后重新执行test-aaa命令,并指定正确的RADIUS服务器参数。
开启ISP域告警功能后,ISP域下发生的指定类型的重要事件将会生成告警信息。生成的告警信息将被送到设备的SNMP模块,通过设置SNMP中的告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
目前,支持对域下授权IPv4地址池/IPv4地址池组的IPv4地址使用率事件、对域下授权IPv6地址池/IPv6地址池组/ND前缀地址池/ND前缀地址池组的IPv6地址和前缀使用率事件生成告警信息,以及支持对域下Web服务器URL可用情况变化告警。
· 地址/前缀使用率告警的具体实现为,DHCP模块会定期检查域下这类授权IPv4地址使用率、授权IPv6地址和前缀的使用率,并在下述情况下输出相应的告警信息和日志信息:
¡ 若IPv4地址使用率首次达到或超过告警上限阈值,则触发一次上限告警。之后,当IPv4地址使用率<=(上限阈值–告警差值)时,触发一次上限恢复告警。
¡ 若IPv4地址使用率首次达到或低于告警下限阈值,则触发一次下限告警。之后,当IPv4地址使用率>=(下限阈值+告警差值)时,触发一次下限恢复告警。
¡ 若IPv6地址或前缀使用率首次达到或超过告警上限阈值,则触发一次上限告警。之后,当IPv6地址或前缀使用率<=(上限阈值–告警差值)时,触发一次上限恢复告警。
¡ 若IPv6地址或前缀使用率首次达到或低于告警下限阈值,则触发一次下限告警。之后,当IPv6地址或前缀使用率>=(下限阈值+告警差值)时,触发一次下限恢复告警。
其中,告警差值=(上限阈值–下限阈值)*10%。如果仅配置了上限阈值,则计算告警差值时下限阈值取值为0;如果仅配置了下限阈值,则计算告警差值时上限阈值取值为100。
· Web服务器IPv4/IPv6 URL可用情况变化告警是指,当ISP域下重定向给用户的Web服务器的IPv4/IPv6 URL状态由不可用变为可用或由可用变为不可用,以及可用的Web服务器的IPv4/IPv6 URL发生变化时,产生对应的告警信息。
本功能针对的授权IPv4地址必须为最终通过DHCP地址池分配的IPv4地址。
当设备作为DHCP中继时,为保证本功能生效,还需要在使用的中继地址池内通过network命令配置和中继地址池关联的服务器相同的网段信息。
首次触发上限或下限告警后,若配置不发生变化,且使用率并未恢复,则不再重复触发告警。当如下配置发生变化时,告警的生成会发生相应的变化:
· 取消域下的某授权IPv4地址使用率告警阈值配置后,如果此前已经触发过相应的告警且使用率并未恢复,则在DHCP模块再次检查地址使用率时触发一次恢复告警,否则不会触发任何告警。
· 修改域下的授权IPv4地址使用率告警阈值配置、修改域引用的授权IPv4地址池/IPv4地址池组或者修改引用的授权IPv4地址池/IPv4地址池组中的配置后,DHCP模块再次检查地址使用率时,将使用修改后的配置判断是否触发告警。
· 取消域下的某授权IPv6地址和前缀使用率告警阈值配置后,如果此前已经触发过相应的告警且使用率并未恢复,则会触发一次恢复告警,否则不会触发任何告警。
· 修改域下的授权IPv6地址和前缀使用率告警阈值配置、修改域引用的授权IPv6地址池/IPv6地址池组/ND前缀地址池/ND前缀地址池组或者修改引用的IPv6地址池/IPv6地址池组/ND前缀地址池/ND前缀地址池组中的配置后,DHCP模块再次检查地址使用率时,将使用修改后的配置判断是否触发告警。
若要更好地使用Web服务器IPv4/IPv6 URL可用情况变化告警功能,在ISP域下配置Web服务器IPv4/IPv6 URL时,建议配置关联Track项与HTTP类型的NQA测试组联动,由NQA测试组来判断Web重定向服务器的连通性及性能。
(1) 进入系统视图。
system-view
(2) 开启ISP域告警功能。
snmp-agent trap enable domain { ip-usage-warning | ipv6-usage-warning | web-server-ipv6-url-warning | web-server-url-warning } *
缺省情况下,ISP域告警功能处于关闭状态。
(3) 进入ISP域视图。
domain name isp-name
(4) 配置授权IPv4地址使用率告警阈值。
ip-usage-warning { high-threshold high-value | low-threshold low-value }
缺省情况下,未设置授权IPv4地址使用率告警阈值,系统不会对该域的授权IPv4地址池/IPv4地址池组中的地址使用情况进行告警。
(5) 配置授权IPv6地址和前缀使用率告警阈值。
ipv6-usage-warning { high-threshold high-value | low-threshold low-value }
缺省情况下,未设置授权IPv6地址和前缀使用率告警阈值,系统不会对该域的授权IPv6地址池/IPv6地址池组/ND前缀地址池/ND前缀地址池组中的IPv6地址及前缀使用情况进行告警。
开启设备管理类用户登录失败频率阈值告警功能后,系统将会生成以下几种告警信息:
· 设备管理类用户登录失败频率到达上限阈值时的告警:使用命令aaa login-failed threshold-alarm配置了管理类用户登录失败次数阈值和统计周期时长后,当周期时长内管理类用户登录失败次数首次到达上限阈值,或从低于恢复阈值增长到上限阈值时,将输出相应的告警信息。
· 设备管理类用户登录失败频率回落到恢复阈值时的告警:使用命令aaa login-failed threshold-alarm配置了管理类用户登录失败次数阈值和统计周期时长后,当周期时长内管理类用户登录失败次数从大于等于上限阈值下降到小于恢复阈值时,将输出相应的告警信息。
生成的告警信息将发送到设备的SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 开启设备管理类用户登录失败频率阈值告警功能。
snmp-agent trap enable aaa [ login-failed-threshold ]
缺省情况下,设备管理类用户登录失败频率阈值告警功能处于关闭状态。
(3) 配置设备管理类用户登录失败次数告警参数。
aaa login-failed alarm-threshold trigger-threshold trigger-threshold clear-threshold clear-threshold period period
缺省情况下,如果5分钟内的设备管理类用户登录失败次数等于或大于30,则产生上限告警;如果5分钟内的设备管理类用户登录失败次数小于20,则产生恢复告警。
RADIUS代理功能的典型组网应用如图1-20所示。该组网环境中,BRAS上开启IPoE认证功能对用户提供接入服务,AC旁路部署于BRAS侧对无线客户端进行802.1X认证,这样会导致有线和无线用户的认证信息存在于不同的设备上,造成用户信息管理复杂以及用户接入策略不统一的问题。通过在BRAS上部署RADIUS代理,可以有效得避免上述问题。
在BRAS上部署了RADIUS代理功能之后,由RADIUS代理接收AC发送的RADIUS请求报文,并转发给对应的RADIUS服务器去处理。同时,RADIUS代理设备负责接收RADIUS服务器的响应报文,并转发给AC。这样,就能实现在BRAS上统一完成两种不同接入方式的用户认证工作。
图1-20 RADIUS代理典型组网应用图
以上组网环境中,无线客户端接入时,RADIUS代理的工作过程如下:
(2) 无线客户端接入网络时,由AC对其进行802.1X认证。AC作为RADIUS客户端,会向RADIUS服务器发送认证请求报文。为了配合BRAS实现RADIUS代理功能,需要提前在AC上将无线用户认证、计费使用的RADIUS服务器指定为BRAS。
(3) BRAS上开启RADIUS代理功能后,将通过指定端口监听RADIUS客户端发送的认证请求报文。RADIUS代理收到RADIUS客户端发送的认证请求报文后,首先根据报文的源IP地址、VPN属性与已有的RADIUS客户端配置进行匹配,并对报文进行验证,然后把校验通过的报文转发至指定的RADIUS服务器。
(4) RADIUS代理监听RADIUS服务器的响应报文,并为认证成功的用户新建一个本地代理用户表项,记录用户MAC地址、用户名、用户IP地址、客户端信息、授权属性。同时,RADIUS代理会为该首次认证的用户表项创建一个老化定时器。之后,RADIUS代理重新组装RADIUS响应报文,并转发至RADIUS客户端。
(5) RADIUS客户端收到RADIUS响应报文后,如果认证结果为通过,则RADIUS客户端向RADIUS服务器发送计费开始请求报文。
(6) RADIUS代理收到RADIUS客户端发送的计费开始请求报文,会根据报文的源IP地址、VPN属性与已有的RADIUS客户端配置进行匹配,并对报文进行验证。RADIUS代理不会把开始计费报文转发至RADIUS服务器,而是根据报文验证结果直接回应计费成功或失败。后续的实时计费更新报文处理也相同。
(7) 无线客户端向BRAS发送DHCP请求报文获取IP地址或直接发送数据流量,将触发BRAS上的IPoE认证。RADIUS代理根据该用户的MAC地址查询本地代理用户信息表项中保存的账号授权信息:
¡ 如果该用户账号的授权信息存在,则使用保存的授权信息为IPoE用户授权,并基于授权信息给客户端分配IP地址。与此同时,RADIUS代理将该IPoE用户的会话ID记录在本地代理用户信息表项中,且暂停对应的本地代理用户信息表项的老化定时器。之后,BRAS向RADIUS服务器发送IPoE计费开始请求报文,对客户端进行计费。
¡ 如果RADIUS代理功能未开启或未查询到匹配的本地代理用户表项,则使用备选的代理认证方案进行认证/授权。如果尝试备用认证方案后,IPoE用户认证仍然失败,则IPoE用户无法上线。
此过程无线客户端无感知,不需要重复输入用户名和密码。
(8) 无线客户端在线过程中,如果DAE客户端(RADIUS服务器)向RADIUS代理发送了DAE请求,则RADIUS代理会处理该请求,并同时将其转发到RADIUS客户端。之后,RADIUS代理监听DAE响应报文,并转发至DAE客户端。
(9) 当无线客户端需要停止计费时(例如主动下线或发生漫游),RADIUS客户端向BRAS发送计费停止请求报文。RADIUS代理直接响应该请求,并根据当前的配置做相应的处理:
¡ 清除对应的本地代理用户表项,并通知IPoE对用户进行下线处理,但不通知IPoE删除对应的IPoE会话。
¡ 忽略此停止计费请求报文,不删除本地代理用户表项。此时,对应的本地代理用户表项以及与之关联的IPoE会话仍然存在。
(10) 当IPoE用户下线时(例如释放IP地址),BRAS向RADIUS服务器发送计费停止请求报文,并删除对应的IPoE会话。RADIUS代理根据当前的配置重新启动对应的本地代理用户表项的老化定时器。
本功能仅在standard模式下支持。
RADIUS代理组网环境中,不建议在RADIUS客户端上无线客户端使用的RADIUS方案下配置代理设备之外的其它RADIUS服务器。同时,该方案下的RADIUS请求报文最大尝试次数(通过retry命令配置)和服务器响应超时时间(通过timer response-timeout命令配置)的乘积要大于RADIUS代理设备上配置的RADIUS请求报文最大尝试次数、服务器响应超时时间和服务器数量三者的乘积。以上措施可以避免RADIUS代理已经收到RADIUS服务器的响应并生成本地代理用户表项时,因RADIUS客户端切换为与其它服务器通信而未接收到RADIUS代理的回应,造成用户认证失败以及RADIUS代理上残留用户信息的问题。
RADIUS代理对RADIUS客户端发送的计费报文处理比较特殊,请遵循以下配置指导:
· 由于RADIUS代理并不会真正得处理RADIUS客户端的计费报文,而是直接给予回应,因此非IPoE+无线802.1X的应用场景中,不建议在BRAS上开启RADIUS代理功能,避免接入用户的计费报文无法正常处理。
· RADIUS客户端上为无线客户端配置的认证/授权/计费RADIUS方案必须相同,这样才能保证RADIUS代理可以监听到在线用户的计费停止请求报文,从而能够及时清理对应的本地代理用户表项、减少内存占用。同时,建议在RADIUS客户端上配置stop-accounting-packet send-force命令,使得无线客户端下线时RADIUS客户端会强制发送一个RADIUS计费停止请求报文给RADIUS代理,及时清理RADIUS代理设备上的残留用户信息。
· 在RADIUS代理设备上,为无线客户端配置的IPoE接入时使用的计费服务器必须与RADIUS代理视图下为该客户端指定的认证方案中的认证服务器相同,否则会导致计费异常。
无线客户端在RADIUS代理上进行IPoE计费时,不采用RADIUS代理上配置的IPoE用户名,而是根据授权情况采用指定的用户名:
· 如果认证服务器没有为无线客户端授权用户名,则直接使用在RADIUS客户端上进行802.1X认证的用户名。此时,RADIUS代理上和RADIUS客户端上将会查看到相同名称的在线用户。
· 如果认证服务器给无线客户端授权了用户名,则使用授权的用户名。由于802.1X认证不支持授权用户名,因此RADIUS代理上和RADIUS客户端上查看到的在线用户名将会不同。
基于以上处理,需要注意的是,如果认证服务器为无线客户端授权了用户名,则DAE客户端向RADIUS代理发送的DAE请求将会无法得到成功响应,因为RADIUS客户端上查询不到该授权用户名对应的用户信息。
RADIUS代理不支持向RADIUS客户端转发session control报文。
无线客户端采用CHAP认证方式的情况下,如果RADIUS代理与RADIUS客户端上配置的认证共享密钥不一致,则无线客户端无法上线,但会在RADIUS代理上生成代理用户表项。这种情况下,建议检查配置错误,并清除此类无效用户表项。
RADIUS session control功能缺省使用UDP端口1812监听session control报文,若要同时使用RADIUS代理功能,请保证这两个功能使用了不同的监听端口。
代理用户表项不支持主备倒换和UCM进程异常重启。因此主备倒换或UCM进程异常重启后,代理用户表项会被删除。
在需要使用本代理功能的RADIUS客户端上配置无线客户端802.1X认证/授权/计费方法,且指定认证/授权/计费服务器均为RADIUS代理设备。
在RADIUS代理设备上开启工作在二层接入模式的IPoE认证,并配置IPoE认证/授权方法为radius-proxy,IPoE计费不需要代理,正常按需配置即可。
(1) 进入系统视图
system-view
(2) 开启RADIUS代理功能,并进入RADIUS代理视图。
radius-proxy
(3) 指定RADIUS客户端。
client { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] radius-scheme radius-scheme-name [ key { cipher | simple } string ] [ authentication-port authentication-port-num ] [ accounting-port accounting-port-num ] [ dae-server-port dae-server-port-num ] [ description text ]
缺省情况下,未指定RADIUS客户端。
(4) (可选)配置本地代理用户表项的老化时间。
timer aging aging-time
缺省情况下,本地代理用户表项的老化时间为720分钟。
(5) (可选)开启RADIUS代理忽略停止计费报文功能,即设备收到停止计费报文时,不删除本地代理用户表项。
stop-accounting ignore
缺省情况下,RADIUS代理设备收到停止计费报文时,会删除本地代理用户表项。
在开启了RADIUS代理功能的设备上,如果同时希望支持IPoE用户异常下线后重新触发上线的功能,建议开启本功能。
(6) (可选)配置代理用户表项记录的用户名变化时,强制IPoE用户下线。
username-change action force-logout
缺省情况下,代理用户表项记录的用户名变化时,不强制IPoE用户下线。
完成上述配置后,在任意视图下执行display命令可以显示RADIUS代理相关信息。
在用户视图下执行reset命令可以清除RADIUS代理相关信息。
表1-19 RADIUS代理显示和维护
操作 |
命令 |
显示RADIUS客户端和RADIUS代理之间的RADIUS报文统计信息和本地代理用户表项统计信息 |
display radius-proxy statistics [ all | client { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] |
显示RADIUS客户端的代理用户信息 |
display radius-proxy user [ client { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ count ] |
清除RADIUS客户端和RADIUS代理之间的RADIUS报文统计信息 |
reset radius-proxy statistics [ client { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] |
清除RADIUS代理上的代理用户信息 |
reset radius-proxy user [ mac mac-address [ client { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] | client { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] |
需要实现使用RADIUS服务器对登录Router的SSH用户进行认证和授权。
· 由一台iMC服务器(IP地址为10.1.1.1/24)担当认证/授权RADIUS服务器的职责。iMC版本为:iMC PLAT 7.3 (E0605)、iMC UAM 7.3 (E0512);
· Router与RADIUS服务器交互报文时使用的共享密钥为expert,认证/授权、计费的端口号分别为1812和1813;
· Router向RADIUS服务器发送的用户名携带域名;
· SSH用户登录Router时使用RADIUS服务器上配置的用户名hello@bbb以及密码进行认证,认证通过后具有用户角色network-admin。
图1-21 SSH用户RADIUS认证/授权配置组网图
配置各接口的IP地址,且确保各设备之间路由可达。
(1) 增加接入设备
登录进入iMC管理平台,选择“用户”页签,单击导航树中的“接入策略管理> 接入设备管理 > 接入设备配置”菜单项,进入接入设备配置页面。在该页面中单击“增加”按钮,进入增加接入设备页面。
a. 设置认证及计费的端口号分别为“1812”和“1813”;
b. 选择业务类型为“设备管理业务”;
c. 选择接入设备类型为“H3C (General)”;
d. 设置与Router交互报文时使用的认证、计费共享密钥为“expert”;
e. 选择或手工增加接入设备,添加IP地址为10.1.1.2的接入设备;
f. 其它参数采用缺省值;
g. 单击<确定>按钮完成操作。
添加的接入设备IP地址要与Router发送RADIUS报文的源地址保持一致。缺省情况下,设备发送RADIUS报文的源地址是发送RADIUS报文的接口IP地址。
· 若设备上通过命令source-ip(RADIUS方案视图)或者radius source-ip指定了发送RADIUS报文的源地址,则此处的接入设备IP地址就需要修改并与指定源地址保持一致。
· 若设备使用缺省的发送RADIUS报文的源地址,例如,本例中为接口Ten-GigabitEthernet3/1/2的IP地址10.1.1.2,则此处接入设备IP地址就选择10.1.1.2。
图1-22 增加接入设备
(2) 增加设备管理用户
选择“用户”页签,单击导航树中的“接入用户管理 > 设备管理用户”菜单项,进入设备管理用户列表页面。在该页面中单击<增加>按钮,进入增加设备管理用户页面。
a. 输入用户名“hello@bbb”和密码;
b. 选择登录类型为“SSH”;
c. 输入角色名为“network-admin”;
d. 添加所管理设备的IP地址,IP地址范围为“10.1.1.0~10.1.1.255”;
e. 单击<确定>按钮完成操作。
添加的所管理设备的IP地址范围要包含设备发送的RADIUS报文中携带的NAS-IP地址。
· 若设备上通过命令aaa nas-ip、nas-ip(RADIUS方案视图)或者radius nas-ip指定了RADIUS NAS-IP地址,则此处的接入设备IP地址就需要修改并与指定的NAS-IP地址保持一致。
· 若设备使用缺省的RADIUS NAS-IP地址,例如,本例中为接口Ten-GigabitEthernet3/1/2的IP地址10.1.1.2,则此处接入设备IP地址列表就要包含10.1.1.2。
图1-23 增加设备管理用户
# 创建本地RSA及DSA密钥对。
<Router> system
[Router] public-key local create rsa
[Router] public-key local create dsa
# 使能SSH服务器功能。
[Router] ssh server enable
# 设置SSH用户登录用户线的认证方式为AAA认证。
[Router] line vty 0 63
[Router-line-vty0-63] authentication-mode scheme
[Router-line-vty0-63] quit
# 创建RADIUS方案rad。
[Router] radius scheme rad
# 配置主认证服务器的IP地址为10.1.1.1,认证端口号为1812。
[Router-radius-rad] primary authentication 10.1.1.1 1812
# 配置与认证服务器交互报文时的共享密钥为明文expert。
[Router-radius-rad] key authentication simple expert
# 配置向RADIUS服务器发送的用户名要携带域名。
[Router-radius-rad] user-name-format with-domain
[Router-radius-rad] quit
# 创建ISP域bbb,为login用户配置AAA认证方法为RADIUS认证/授权、不计费。由于RADIUS服务器的授权信息是随认证应答报文发给RADIUS客户端的,所以必须保证认证和授权方案相同。
[Router] domain name bbb
[Router-isp-bbb] authentication login radius-scheme rad
[Router-isp-bbb] authorization login radius-scheme rad
[Router-isp-bbb] accounting login none
[Router-isp-bbb] quit
用户向Router发起SSH连接,按照提示输入用户名hello@bbb及正确的密码后,可成功登录Router,并具有用户角色network-admin所拥有的命令行执行权限。
配置Router实现对登录Router的SSH用户进行本地认证和授权,并授权该用户具有用户角色network-admin。
图1-24 SSH用户本地认证/授权配置组网图
配置各接口的IP地址,且确保各设备之间路由可达。
# 创建本地RSA及DSA密钥对。
<Router> system-view
[Router] public-key local create rsa
[Router] public-key local create dsa
# 使能SSH服务器功能。
[Router] ssh server enable
# 设置SSH用户登录用户线的认证方式为AAA认证。
[Router] line vty 0 63
[Router-line-vty0-63] authentication-mode scheme
[Router-line-vty0-63] quit
# 创建设备管理类本地用户ssh。
[Router] local-user ssh class manage
# 配置该本地用户的服务类型为SSH。
[Router-luser-manage-ssh] service-type ssh
# 配置该本地用户密码为明文123456TESTplat&!。
[Router-luser-manage-ssh] password simple 123456TESTplat&!
# 配置该本地用户的授权用户角色为network-admin
[Router-luser-manage-ssh] authorization-attribute user-role network-admin
[Router-luser-manage-ssh] quit
# 创建ISP域bbb,为login用户配置AAA认证方法为本地认证和本地授权。
[Router] domain name bbb
[Router-isp-bbb] authentication login local
[Router-isp-bbb] authorization login local
[Router-isp-bbb] quit
用户向Router发起SSH连接,按照提示输入用户名ssh@bbb及正确的密码后,可成功登录Router,并具有用户角色network-admin所拥有的命令行执行权限。
配置Router实现使用HWTACACS服务器对登录Router的SSH用户进行认证、授权、计费。
· 由一台HWTACACS服务器担当认证、授权、计费服务器的职责,服务器IP地址为10.1.1.1/24。
· Router与认证、授权、计费HWTACACS服务器交互报文时的共享密钥均为expert,向HWTACACS服务器发送的用户名不带域名。
· 认证通过后的SSH用户具有缺省的用户角色network-operator。
图1-25 SSH用户HWTACACS认证、授权和计费配置组网图
配置各接口的IP地址,且确保各设备之间路由可达。
在HWTACACS服务器上设置与Router交互报文时的共享密钥为expert;添加SSH用户名及密码,具体配置步骤略。
# 创建HWTACACS方案hwtac。
<Router> system-view
[Router] hwtacacs scheme hwtac
# 配置主认证服务器的IP地址为10.1.1.1,认证端口号为49。
[Router-hwtacacs-hwtac] primary authentication 10.1.1.1 49
# 配置主授权服务器的IP地址为10.1.1.1,授权端口号为49。
[Router-hwtacacs-hwtac] primary authorization 10.1.1.1 49
# 配置主计费服务器的IP地址为10.1.1.1,计费端口号为49。
[Router-hwtacacs-hwtac] primary accounting 10.1.1.1 49
# 配置与认证、授权、计费服务器交互报文时的共享密钥均为明文expert。
[Router-hwtacacs-hwtac] key authentication simple expert
[Router-hwtacacs-hwtac] key authorization simple expert
[Router-hwtacacs-hwtac] key accounting simple expert
# 配置向HWTACACS服务器发送的用户名不携带域名。
[Router-hwtacacs-hwtac] user-name-format without-domain
[Router-hwtacacs-hwtac] quit
# 创建ISP域bbb,为login用户配置AAA认证方法为HWTACACS认证/授权/计费。
[Router] domain name bbb
[Router-isp-bbb] authentication login hwtacacs-scheme hwtac
[Router-isp-bbb] authorization login hwtacacs-scheme hwtac
[Router-isp-bbb] accounting login hwtacacs-scheme hwtac
[Router-isp-bbb] quit
# 创建本地RSA及DSA密钥对。
[Router] public-key local create rsa
[Router] public-key local create dsa
# 使能SSH服务器功能。
[Router] ssh server enable
# 使能缺省用户角色授权功能,使得认证通过后的SSH用户具有缺省的用户角色network-operator。
[Router] role default-role enable
# 设置SSH用户登录用户线的认证方式为AAA认证。
[Router] line vty 0 63
[Router-line-vty0-63] authentication-mode scheme
[Router-line-vty0-63] quit
用户向Router发起SSH连接,按照提示输入正确用户名及密码后,可成功登录Router,并具有用户角色network-operator所拥有的命令行执行权限。
配置Router实现使用LDAP服务器对登录Router的SSH用户进行认证,且认证通过后具有缺省的用户角色level-0。
· 一台LDAP认证服务器与Router相连,服务器IP地址为10.1.1.1,服务器域名为ldap.com。该LDAP认证服务器为Microsoft Windows 2003 Server的Active Directory。
· 在LDAP服务器上设置管理员administrator的密码为admin!123456。
· 在LDAP服务器上添加用户名为aaa的用户,密码为ldap!123456。
图1-26 SSH用户LDAP认证配置组网图
配置各接口的IP地址,且确保各设备之间路由可达。
(1) 添加用户aaa
a. 在LDAP服务器上,选择[开始/管理工具]中的[Active Directory用户和计算机],打开Active Directory用户管理界面;
b. 在Active Directory用户管理界面的左侧导航树中,点击ldap.com节点下的“Users”按钮;
c. 选择[操作/新建/用户],打开[新建对象-用户]对话框;
d. 在对话框中输入用户登录名aaa,并单击<下一步>按钮。
图1-27 新建用户aaa
e. 在弹出的对话框的“密码”区域框内输入用户密码ldap!123456,并单击<下一步>按钮。用户账户的其它属性(密码的更改方式、密码的生存方式、是否禁用账户)请根据实际情况选择配置,图中仅为示例。
图1-28 设置用户密码
f. 单击<完成>按钮,创建新用户aaa。
(2) 将用户aaa加入Users组
a. 在Active Directory用户管理界面的左侧导航树中,点击ldap.com节点下的“Users”按钮;
b. 在右侧的Users信息框中右键单击用户aaa,选择“属性”项;
c. 在弹出的[aaa属性]对话框中选择“隶属于”页签,并单击<添加(D)...>按钮。
图1-29 修改用户属性
d. 在弹出的[选择组]对话框中的可编辑区域框中输入对象名称“Users”,单击<确定>,完成用户aaa添加到Users组。
图1-30 添加用户aaa到用户组Users
(3) 配置管理员密码
a. 在右侧的Users信息框中右键单击管理员用户administrator,选择“设置密码(S)...”项;
b. 在弹出的密码添加对话框中设置管理员密码,详细过程略。
# 生成本地DSA及RSA密钥对。
<Router> system-view
[Router] public-key local create dsa
[Router] public-key local create rsa
# 使能SSH服务器功能。
[Router] ssh server enable
# 设置SSH用户登录用户线的认证方式为AAA认证。
[Router] line vty 0 63
[Router-line-vty0-63] authentication-mode scheme
[Router-line-vty0-63] quit
# 创建LDAP服务器。
[Router] ldap server ldap1
# 配置LDAP认证服务器的IP地址。
[Router-ldap-server-ldap1] ip 10.1.1.1
# 配置具有管理员权限的用户DN。
[Router-ldap-server-ldap1] login-dn cn=administrator,cn=users,dc=ldap,dc=com
# 配置具有管理员权限的用户密码。
[Router-ldap-server-ldap1] login-password simple admin!123456
# 配置查询用户的起始目录。
[Router-ldap-server-ldap1] search-base-dn dc=ldap,dc=com
[Router-ldap-server-ldap1] quit
# 创建LDAP方案。
[Router] ldap scheme ldap1-shml
# 配置LDAP认证服务器。
[Router-ldap-ldap-shml] authentication-server ldap1
[Router-ldap-ldap1-shml] quit
# 创建ISP域bbb,为login用户配置AAA认证方法为LDAP认证、不授权、不计费。
[Router] domain name bbb
[Router-isp-bbb] authentication login ldap-scheme ldap1-shml
[Router-isp-bbb] authorization login none
[Router-isp-bbb] accounting login none
[Router-isp-bbb] quit
用户向Router发起SSH连接,按照提示输入用户名aaa@bbb及正确的密码ldap!123456后,可成功登录Router,并具有用户角色level-0所拥有的命令行执行权限。
要求Router A使用HWTACACS服务器对Router B进行PAP认证,以及使用HWTACACS服务器进行授权和计费,Router B不需要对Router A进行认证、授权和计费。
图1-31 PPP用户的HWTACACS认证、授权、计费组网图
配置各接口的IP地址,且确保各设备之间路由可达。
在HWTACACS服务器上设置与Router A交互报文时的共享密钥为expert;添加PPP用户名userb及密码passb,具体配置步骤略。
# 创建HWTACACS方案hwtac。
<RouterA> system-view
[RouterA] hwtacacs scheme hwtac
# 配置主认证、主授权、主计费服务器的IP地址为10.1.1.1,认证端口号为49,采用单连接方式。
[RouterA-hwtacacs-hwtac] primary authentication 10.1.1.1 49 single-connection
[RouterA-hwtacacs-hwtac] primary authorization 10.1.1.1 49 single-connection
[RouterA-hwtacacs-hwtac] primary accounting 10.1.1.1 49 single-connection
# 配置与认证、授权、计费服务器交互报文时的共享密钥均为expert。
[RouterA-hwtacacs-hwtac] key authentication simple expert
[RouterA-hwtacacs-hwtac] key authorization simple expert
[RouterA-hwtacacs-hwtac] key accounting simple expert
# 配置向HWTACACS服务器发送的用户名不携带域名。
[RouterA-hwtacacs-hwtac] user-name-format without-domain
[RouterA-hwtacacs-hwtac] quit
# 创建ISP域bbb,为PPP用户配置AAA认证方法为HWTACACS认证、授权、计费。
[RouterA] domain name bbb
[RouterA-isp-bbb] authentication ppp hwtacacs-scheme hwtac
[RouterA-isp-bbb] authorization ppp hwtacacs-scheme hwtac
[RouterA-isp-bbb] accounting ppp hwtacacs-scheme hwtac
[RouterA-isp-bbb] quit
# 配置接口Ten-GigabitEthernet3/1/2的封装的链路层协议为PPP。
[RouterA] interface ten-gigabitethernet 3/1/2
[RouterA- Ten-GigabitEthernet3/1/2] link-protocol ppp
# 配置Router A认证Router B的方式为PAP,并使用ISP域bbb作为认证域。
[RouterA- Ten-GigabitEthernet3/1/2] ppp authentication-mode pap domain bbb
# 配置各接口的IP地址,具体配置步骤略。
# 配置接口Ten-GigabitEthernet3/1/2的封装的链路层协议为PPP。
<RouterB> system-view
[RouterB] interface ten-gigabitethernet 3/1/2
[RouterB- Ten-GigabitEthernet3/1/2] link-protocol ppp
# 配置RouterB被Router A以PAP方式认证时使用的PAP用户名和密码。
[RouterB- Ten-GigabitEthernet3/1/2] ppp pap local-user userb password simple passb
以上配置完成后,通过display interface serial命令,查看接口Ten-GigabitEthernet3/1/2 的信息,发现接口的物理层和链路层的状态都是up状态,并且PPP的LCP和IPCP都是opened状态,说明链路的PPP协商已经成功,并且Router A和Router B可以互相ping通对方。
Device上开启IPoE认证功能对用户提供接入服务,AC旁路部署于Device侧对无线客户端进行802.1X认证,具体组网需求如下:
· 由一台Free RADIUS服务器担当远程RADIUS服务器的职责;
· 由Device作为RADIUS代理服务器对无线802.1X用户进行认证、授权和计费;
· Device与RADIUS服务器交互报文时使用的共享密钥为123456,认证/授权、计费的端口号分别为1812和1813。AC与RADIUS代理交互报文时使用的共享密钥为abcdef,认证/授权、计费的端口号分别为2016和2017。
图1-32 RADIUS代理配置组网图
配置各接口的IP地址,且确保各设备之间路由可达。
# 配置RADIUS客户端信息。
在client.conf中增加如下信息:
client 6.6.6.2/24 {
secret = 123456
}
# 配置用户信息。
在user.conf中增加如下信息:
user1 Cleartext-Password := abcdef
以上信息表示,用户user1的接入认证密码为abcdef。
(1) 配置RADIUS代理功能
# 开启RADIUS代理功能,并进入RADIUS代理视图。
<Device> system
[Device] radius-proxy
# 指定RADIUS客户端的IP地址为5.5.5.1,使用的RADIUS方案为rs1、共享密钥为明文abcdef。设备监听RADIUS客户端认证请求报文的UDP端口为2016,监听RADIUS客户端计费请求报文的UDP端口为2017。
[Device-radius-proxy] client ip 5.5.5.1 radius-scheme rs1 key simple abcdef authentication-port 2016 accounting-port 2017
(2) 配置RADIUS方案
# 创建名称为rs1的RADIUS方案并进入该方案视图。
[Device] radius scheme rs1
# 配置主认证和主计费服务器及其通信密钥。
[Device-radius-rs1] primary authentication 6.6.6.1
[Device-radius-rs1] primary accounting 6.6.6.1
[Device-radius-rs1] key authentication simple 123456
[Device-radius-rs1] key accounting simple 123456
# 配置发送给RADIUS服务器的用户名不携带ISP域名。
[Device-radius-rs1] user-name-format without-domain
[Device-radius-rs1] quit
(3) 配置IPoE认证
# 进入接口Ten-GigabitEthernet3/1/2视图。
[Device] interface ten-gigabitethernet 3/1/2
# 使能IPoE功能,并指定二层接入模式。
[Device–Ten-GigabitEthernet3/1/2] ip subscriber l2-connected enable
# 设置动态个人接入用户使用的认证域为dom1。
[Device-Ten-GigabitEthernet3/1/2] ip subscriber dhcp domain dom1
[Device-Ten-GigabitEthernet3/1/2] quit
(4) 配置认证域
# 创建并进入名称为dom1的ISP域。
[Device] domain name dom1
# 配置用户授权的IP地址池为p1。
[Device-isp-dom1] authorization-attribute ip-pool p1
# 配置IPoE用户的认证/授权方法为RADIUS代理认证/授权。
[Device-isp-dom1] authentication ipoe radius-proxy
[Device-isp-dom1] authorization ipoe radius-proxy
# 配置IPoE用户的计费方法为RADIUS方案rs1。
[Device-isp-dom1] accounting ipoe radius-scheme rs1
[Device-isp-dom1] quit
(5) 配置授权地址池
# 开启DHCP功能。
[Device] dhcp enable
# 配置当DHCP客户端请求的新地址与之前使用的地址不同或该地址对应的租约不存在时,DHCP服务器直接回复NAK报文的功能。
[Device] dhcp server request-ip-address check
# 创建本地地址池p1,为客户端分配30.0.0.0/24网段的IP地址。
[Device] ip pool p1
[Device–ip-pool-p1] gateway-list 30.0.0.1 export-route
[Device–ip-pool-p1] network 30.0.0.0 mask 255.255.255.0
[Device–ip-pool-p1] forbidden ip 30.0.0.1
[Device–ip-pool-p1] quit
(1) 配置无线802.1X认证接入(略)
(2) 配置RADIUS方案
# 创建名称为rs1的RADIUS方案并进入该方案视图。
<AC> system-view
[AC] radius scheme rs1
# 配置主认证和主计费服务器的IP地址、端口号及其共享密钥。
[AC-radius-rs1] primary authentication 5.5.5.2 2016
[AC-radius-rs1] primary accounting 5.5.5.2 2017
[AC-radius-rs1] key authentication simple abcdef
[AC-radius-rs1] key accounting simple abcdef
# 配置发送给RADIUS服务器的用户名不携带ISP域名。
[AC-radius-rs1] user-name-format without-domain
[AC-radius-rs1] quit
(3) 配置认证域
# 创建并进入名称为dom1的ISP域。
[AC] domain name dom1
# 配置lan-access用户使用的认证/授权/计费方法为RADIUS方案rs1。
[AC-isp-dom1] authentication lan-access radius-scheme rs1
[AC-isp-dom1] authorization lan-access radius-scheme rs1
[AC-isp-dom1] accounting lan-access radius-scheme rs1
[AC-isp-dom1] quit
以上配置完成后,若有无线802.1X用户上线,则可以在RADIUS代理上使用以下显示命令查看RADIUS客户端的代理用户信息和IPoE用户在线信息。
# 查看RADIUS客户端的代理用户信息。
[Device] display radius-proxy user
Username MAC address IP address Client IP Client VPN
user1 0800-2700-240e - 5.5.5.1 -
# 查看IPoE用户在线信息。
[Device] display access-user auth-type bind
UserID Interface IP address MAC address S-/C-VLAN
Username Access type
IPv6 address
0x1348 XGE3/1/2 30.0.0.2 0800-2700-240e -/-
user1 L2 IPoE dynamic
用户认证/授权总是失败。
(1) 设备与RADIUS服务器之间存在通信故障。
(2) 用户名不是“userid@isp-name”的形式,或设备上没有正确配置用于认证该用户的ISP域。
(3) RADIUS服务器的数据库中没有配置该用户。
(4) 用户侧输入的密码不正确。
(5) RADIUS服务器和设备的报文共享密钥不同。
(1) 使用ping命令检查设备与RADIUS服务器是否可达。
(2) 使用正确形式的用户名或在设备上确保正确配置了用于该用户认证的ISP域。
(3) 检查RADIUS服务器的数据库以保证该用户的配置信息确实存在。
(4) 确保接入用户输入正确的密码。
(5) 检查两端的共享密钥,并确保两端一致。
RADIUS报文无法传送到RADIUS服务器。
(1) 设备与RADIUS服务器之间的通信存在故障。
(2) 设备上没有设置相应的RADIUS服务器IP地址。
(3) 认证/授权和计费服务的UDP端口设置不正确。
(4) RADIUS服务器的认证/授权和计费端口被其它应用程序占用。
(1) 确保线路通畅。
(2) 确保正确设置RADIUS服务器的IP地址。
(3) 确保与RADIUS服务器提供服务的端口号一致。
(4) 确保RADIUS服务器上的认证/授权和计费端口可用。
用户认证通过并获得授权,但是计费功能出现异常。
(1) 计费端口号设置不正确。
(2) 计费服务器和认证服务器不是同一台机器,设备却要求认证和计费功能属于同一个服务器(IP地址相同)。
(1) 正确设置RADIUS计费端口号。
(2) 确保设备的认证服务器和计费服务器的设置与实际情况相同。
HWTACACS的常见配置错误与RADIUS基本相似,可以参考以上内容。
用户认证失败。
(1) 设备与LDAP服务器之间存在通信故障。
(2) 配置的认证/授权服务器IP地址或端口号不正确。
(3) 用户名不是“userid@isp-name”的形式,或设备上没有正确配置用于认证该用户的ISP域。
(4) LDAP服务器目录中没有配置该用户。
(5) 用户输入的密码不正确。
(6) 具有管理员权限的用户DN或密码没有配置。
(7) 设备上配置的用户参数(如用户名属性)与服务器上的配置不对应。
(8) 认证操作时,没有配置LDAP方案用户查询的起始DN。
(1) 使用ping命令检查设备与LDAP服务器是否可达。
(2) 确保配置的认证服务器IP地址与端口号与LDAP服务器实际使用的IP地址和端口号相符。
(3) 使用正确形式的用户名或在设备上确保正确配置了用于该用户认证的ISP域。
(4) 检查LDAP服务器目录以保证该用户的配置信息确实存在。
(5) 确保输入用户密码正确。
(6) 确保配置了正确的管理员用户DN和密码。
(7) 确保设备上的用户参数(如用户名属性)配置与LDAP服务器上的配置相同。
(8) 认证操作时,确保配置了用户查询的起始DN。
标准的RADIUS属性由RFC 2865、RFC 2866、RFC 2867和RFC 2868所定义。常见的RADIUS标准属性如表1-20所示。
表1-20 常见RADIUS标准属性列表
属性编号 |
属性名称 |
属性编号 |
属性名称 |
1 |
User-Name |
45 |
Acct-Authentic |
2 |
User-Password |
46 |
Acct-Session-Time |
3 |
CHAP-Password |
47 |
Acct-Input-Packets |
4 |
NAS-IP-Address |
48 |
Acct-Output-Packets |
5 |
NAS-Port |
49 |
Acct-Terminate-Cause |
6 |
Service-Type |
50 |
Acct-Multi-Session-Id |
7 |
Framed-Protocol |
51 |
Acct-Link-Count |
8 |
Framed-IP-Address |
52 |
Acct-Input-Gigawords |
9 |
Framed-IP-Netmask |
53 |
Acct-Output-Gigawords |
10 |
Framed-Routing |
54 |
(unassigned) |
11 |
Filter-ID |
55 |
Event-Timestamp |
12 |
Framed-MTU |
56-59 |
(unassigned) |
13 |
Framed-Compression |
60 |
CHAP-Challenge |
14 |
Login-IP-Host |
61 |
NAS-Port-Type |
15 |
Login-Service |
62 |
Port-Limit |
16 |
Login-TCP-Port |
63 |
Login-LAT-Port |
17 |
(unassigned) |
64 |
Tunnel-Type |
18 |
Reply-Message |
65 |
Tunnel-Medium-Type |
19 |
Callback-Number |
66 |
Tunnel-Client-Endpoint |
20 |
Callback-ID |
67 |
Tunnel-Server-Endpoint |
21 |
(unassigned) |
68 |
Acct-Tunnel-Connection |
22 |
Framed-Route |
69 |
Tunnel-Password |
23 |
Framed-IPX-Network |
70 |
ARAP-Password |
24 |
State |
71 |
ARAP-Features |
25 |
Class |
72 |
ARAP-Zone-Access |
26 |
Vendor-Specific |
73 |
ARAP-Security |
27 |
Session-Timeout |
74 |
ARAP-Security-Data |
28 |
Idle-Timeout |
75 |
Password-Retry |
29 |
Termination-Action |
76 |
Prompt |
30 |
Called-Station-Id |
77 |
Connect-Info |
31 |
Calling-Station-Id |
78 |
Configuration-Token |
32 |
NAS-Identifier |
79 |
EAP-Message |
33 |
Proxy-State |
80 |
Message-Authenticator |
34 |
Login-LAT-Service |
81 |
Tunnel-Private-Group-id |
35 |
Login-LAT-Node |
82 |
Tunnel-Assignment-id |
36 |
Login-LAT-Group |
83 |
Tunnel-Preference |
37 |
Framed-AppleTalk-Link |
84 |
ARAP-Challenge-Response |
38 |
Framed-AppleTalk-Network |
85 |
Acct-Interim-Interval |
39 |
Framed-AppleTalk-Zone |
86 |
Acct-Tunnel-Packets-Lost |
40 |
Acct-Status-Type |
87 |
NAS-Port-Id |
41 |
Acct-Delay-Time |
88 |
Framed-Pool |
42 |
Acct-Input-Octets |
89 |
(unassigned) |
43 |
Acct-Output-Octets |
90 |
Tunnel-Client-Auth-id |
44 |
Acct-Session-Id |
91 |
Tunnel-Server-Auth-id |
表1-21 常见RADIUS标准属性描述
属性编号 |
属性名称 |
描述 |
1 |
User-Name |
需要进行认证的用户名称 |
2 |
User-Password |
需要进行PAP方式认证的用户密码,在采用PAP认证方式时,该属性仅出现在Access-Request报文中 |
3 |
CHAP-Password |
需要进行CHAP方式认证的用户密码的消息摘要。在采用CHAP认证方式时,该属性出现在Access-Request报文中 |
4 |
NAS-IP-Address |
Server通过不同的IP地址来标识不同的Client,通常Client采用本地一个接口的IP地址来唯一的标识自己,这就是NAS-IP-Address。该属性指示当前发起请求的Client的NAS-IP-Address |
5 |
NAS-Port |
用户接入NAS的物理端口号 |
6 |
Service-Type |
用户申请认证的业务类型 |
7 |
Framed-Protocol |
用户Frame类型业务的封装协议 |
8 |
Framed-IP-Address |
为用户所配置的IP地址 |
11 |
Filter-ID |
访问控制列表的名称。属性取值的解析原则如下: · 若为纯数字,则表示ACL编号 · 若不全为数字,则表示User Profile名称。其中,取值为“__PAIPPXY__”有特殊涵义,它表示PPPoE代拨场景 |
12 |
Framed-MTU |
用户与NAS之间数据链路的MTU(Maximum Transmission Unit,最大传输单元)值 |
14 |
Login-IP-Host |
用户登录设备的接口IP地址 |
15 |
Login-Service |
用户登录设备时采用的业务类型 |
18 |
Reply-Message |
服务器反馈给用户的纯文本描述,可用于向用户显示认证失败的原因 |
26 |
Vendor-Specific |
厂商自定义的私有属性。一个报文中可以有一个或者多个私有属性,每个私有属性中可以有一个或者多个子属性 |
27 |
Session-Timeout |
会话结束之前,给用户提供服务的最大时间,即用户的最大可用时长 若属性值为0,则表示要求用户下线;若属性值为4294967295,则表示不限制用户在线时长 |
28 |
Idle-Timeout |
会话结束之前,允许用户持续空闲的最大时间,即用户的闲置切断时间 |
31 |
Calling-Station-Id |
NAS用于向Server告知标识用户的号码,在H3C设备提供的lan-access业务中,该字段填充的是用户的MAC地址,采用的“HHHH-HHHH-HHHH”格式封装 |
32 |
NAS-Identifier |
NAS用来向Server标识自己的名称 |
40 |
Acct-Status-Type |
计费请求报文的类型 · 1:Start · 2:Stop · 3:Interim-Update · 4:Reset-Charge · 7:Accounting-On(3GPP中有定义) · 8:Accounting-Off (3GPP中有定义) · 9-14:Reserved for Tunnel Accounting · 15:Reserved for Failed |
45 |
Acct-Authentic |
用户采用的认证方式,包括RADIUS,Local以及Remote |
60 |
CHAP-Challenge |
在CHAP认证中,由NAS生成的用于MD5计算的随机序列 |
61 |
NAS-Port-Type |
NAS认证用户的端口的物理类型 · 15:以太网 · 16:所有种类的ADSL · 17:Cable(有线电视电缆) · 19:WLAN-IEEE 802.11 · 201:VLAN · 202:ATM 如果在以太网端口上还划分VLAN,则该属性值为201 |
64 |
Tunnel-Type |
使用的隧道协议,该属性值为13时表示下发VLAN |
65 |
Tunnel-Medium-Type |
创建隧道的传输层媒介类型,该属性值为6时表示802类型,可用于下发VLAN |
67 |
Tunnel-Server-Endpoint |
LNS的IP地址 |
69 |
Tunnel-Password |
隧道验证密钥 |
77 |
Connect-Info |
PPPoE代拨场景下为运营商账户的用户名 |
79 |
EAP-Message |
用于封装EAP报文,实现RADIUS协议对EAP认证方式的支持 PPPoE代拨场景下,该属性为用户的运营商账户密码 |
80 |
Message-Authenticator |
用于对认证报文进行认证和校验,防止非法报文欺骗。该属性在RADIUS协议支持EAP认证方式被使用 |
81 |
Tunnel-Private-Group-ID |
隧道会话的组ID,该属性在下发VLAN时用于携带下发的VLAN ID |
82 |
Tunnel-Assignment-id |
承载会话的隧道ID |
83 |
Tunnel-Preference |
隧道优先级,取值越小优先级越高,为0时优先级最高 |
85 |
Acct-Interim-Interval |
实时计费间隔,单位为秒 |
87 |
NAS-Port-Id |
用字符串来描述的认证端口信息 转发控制分离组网中,若在CP上配置了被管理的DP,则CP可以在该属性中添加NAS_UpIdentifier字段来标识认证端口所在的DP。是否能够使用NAS_UpIdentifier字段由各接入模块采用的NAS-Port-Id填充格式决定,目前,使用YDT 2275-2011标准以及中国电信格式时才支持添加NAS_UpIdentifier字段 |
88 |
Framed-Pool |
服务器分配给用户的IPv4地址池名称 PPPoE代拨场景下,该属性为代拨组名称 |
90 |
Tunnel-Client-Auth-id |
隧道建立过程中LAC使用的名字 |
91 |
Tunnel-Server-Auth-id |
隧道建立过程中LNS使用的名字 |
95 |
NAS-IPv6-Address |
NAS的IPv6地址 |
表1-22列出的RADIUS扩展属性为所有产品可支持属性的合集,具体产品支持情况有所不同。
表1-22 RADIUS扩展属性(Vendor-ID=25506)
子属性编号 |
子属性名称 |
描述 |
1 |
Input-Peak-Rate |
用户接入到NAS的峰值速率,缺省以bps为单位 若通过Av-Pair属性下发了CAR属性的单位,则此属性的单位以下发的单位为准 |
2 |
Input-Average-Rate |
用户接入到NAS的平均速率,缺省以bps为单位 若通过Av-Pair属性下发了CAR属性的单位,则此属性的单位以下发的单位为准 |
3 |
Input-Basic-Rate |
用户接入到NAS的基本速率,缺省以bps为单位 若通过Av-Pair属性下发了CAR属性的单位,则此属性的单位以下发的单位为准 |
4 |
Output-Peak-Rate |
从NAS到用户的峰值速率,缺省以bps为单位 若通过Av-Pair属性下发了CAR属性的单位,则此属性的单位以下发的单位为准 |
5 |
Output-Average-Rate |
从NAS到用户的平均速率,缺省以bps为单位 若通过Av-Pair属性下发了CAR属性的单位,则此属性的单位以下发的单位为准 |
6 |
Output-Basic-Rate |
从NAS到用户的基本速率,以bps为单位 若通过Av-Pair属性下发了CAR属性的单位,则此属性的单位以下发的单位为准 |
15 |
Remanent_Volume |
表示该连接的剩余可用总流量。对于不同的服务器类型,此属性的单位不同 |
17 |
ISP-ID |
表示用于获取授权信息的ISP域 |
20 |
Command |
用于会话控制,表示对会话进行操作,此属性有五种取值 · 1:Trigger-Request · 2:Terminate-Request · 3:SetPolicy · 4:Result · 5:PortalClear |
25 |
Result_Code |
表示Trigger-Request或SetPolicy的结果,0表示成功,非0表示失败 |
26 |
Connect_ID |
用户连接索引 |
27 |
PortalURL |
下发给PPPoE的PADM URL |
28 |
Ftp_Directory |
FTP/SFTP/SCP用户工作目录 对于FTP/SFTP/SCP用户,当RADIUS客户端作为FTP/SFTP/SCP服务器时,该属性用于设置RADIUS客户端上的FTP/SFTP/SCP目录 |
29 |
Exec_Privilege |
EXEC用户优先级 |
32 |
NAT-IP-Address |
进行源IP地址和端口转换处理时为该用户分配的公网IP地址 |
33 |
NAT-Start-Port |
进行源IP地址和端口转换处理时为该用户分配的端口范围的起始端口号 |
34 |
NAT-End-Port |
进行源IP地址和端口转换处理时为该用户分配的端口范围的结束端口号 |
59 |
NAS_Startup_Timestamp |
NAS系统启动时刻,以秒为单位,表示从1970年1月1日UTC 00:00:00以来的秒数 |
60 |
Ip_Host_Addr |
认证请求和计费请求报文中携带的用户IP地址和MAC地址,格式为“A.B.C.D hh:hh:hh:hh:hh:hh”,IP地址和MAC地址之间以空格分开 |
61 |
User_Notify |
服务器需要透传到客户端的信息 |
98 |
Multicast_Receive_Group |
用户作为组播接收者加入的组播组地址。 该属性可以在报文中多次出现,表示用户属于多个组播组 |
100 |
IP6_Multicast_Receive_Group |
用户作为组播接收者加入的IPv6组播组地址。 该属性可以在报文中多次出现,表示用户属于多个组播组 |
101 |
MLD-Access-Limit |
用户可以加入的IPv6组播组的最大数量 |
102 |
local-name |
L2TP的本地名字 |
103 |
IGMP-Access-Limit |
用户可以加入的IPv4组播组的最大数量 |
104 |
VPN-Instance |
用户可以加入的MPLS L3VPN实例的名称 |
105 |
ANCP-Profile |
ANCP策略名称 |
106 |
Up-Priority |
上行报文的用户优先级,有效值范围为0~7和15,15表示取消用户优先级授权 |
107 |
Down-Priority |
下行报文的用户优先级,有效值范围为0~7和15,15表示取消用户优先级授权 |
114 |
Subscriber-Group-Input-Peak-Rate |
用户接入到NAS设备的家庭组上行峰值速率,单位为bps。向服务器上传此属性时,取值不允许为0xFFFFFFFF。若通过Av-Pair属性(car:car-unit=kbps)下发了CAR属性的单位,则此属性的单位为kbps |
115 |
Subscriber-Group-Input-Average-Rate |
用户接入到NAS设备的家庭组上行平均速率,单位为bps。向服务器上传此属性时,取值不允许为0xFFFFFFFF。若通过Av-Pair属性(car:car-unit=kbps)下发了CAR属性的单位,则此属性的单位为kbps |
116 |
Subscriber-Group-Output-Peak-Rate |
从NAS设备到用户的家庭组下行峰值速率,单位为bps。向服务器上传此属性时,取值不允许为0xFFFFFFFF。若通过Av-Pair属性(car:car-unit=kbps)下发了CAR属性的单位,则此属性的单位为kbps |
117 |
Subscriber-Group-Output-Average-Rate |
从NAS设备到用户的家庭组下行平均速率,单位为bps。向服务器上传此属性时,取值不允许为0xFFFFFFFF。若通过Av-Pair属性(car:car-unit=kbps)下发了CAR属性的单位,则此属性的单位为kbps |
118 |
H3C-Framed-Pool-Group |
该属性在认证接受报文中下发,下发的内容为IPv4地址池组名称。设备根据该地址池组名字解析出地址池列表,并从该列表中选取地址池为用户分配地址。下发的地址池组名必须在设备上已存在,否则下发不生效 下发的地址池组名最大支持253个字节,但本设备上配置的地址池组名最大支持63个字节,不区分大小写 |
119 |
H3C-Framed-IPv6-Pool-Group |
该属性在认证接受报文中下发,下发的内容为IPv6地址池组名称。设备根据该地址池组名字解析出地址池列表,并从该列表中选取地址池为用户分配地址。下发的地址池组名必须在设备上已存在,否则下发不生效 下发的地址池组名最大支持253个字节,但本设备上配置的地址池组名最大支持63个字节,不区分大小写 |
135 |
Client-Primary-DNS |
首选DNS服务器地址 |
136 |
Client-Secondary-DNS |
备用DNS服务器地址 |
140 |
User_Group |
用户认证成功后下发的用户组 通常,一个用户只能属于一个用户组 |
144 |
Acct_IPv6_Input_Octets |
表示入方向的IPv6报文字节数,单位由设备上的配置决定 |
145 |
Acct_IPv6_Output_Octets |
表示出方向的IPv6报文字节数,单位由设备上的配置决定 |
146 |
Acct_IPv6_Input_Packets |
表示入方向的IPv6包数,单位由设备上的配置决定 |
147 |
Acct_IPv6_Output_Packets |
表示出方向的IPv6包数,单位由设备上的配置决定 |
148 |
Acct_IPv6_Input_Gigawords |
表示入方向的IPv6报文字节数是4G字节的多少倍 |
149 |
Acct_IPv6_Output_Gigawords |
表示出方向的IPv6报文字节数是4G字节的多少倍 |
155 |
User-Roles |
用户角色列表。多个用户角色名称之间使用空格分隔 |
158 |
Framed-IPv6-Address |
用户的IPv6地址 |
180 |
Auth-Type |
用户的认证类型,取值如下: · 1:PPP · 2:IPoE · 3:Portal · 5:MAC地址认证 · 6:Web认证 · 7:Login |
181 |
Acct-Terminate-Subcause |
用户下线的子原因码 |
183 |
Tunnel-Group-Name |
用户的L2TP组名 |
210 |
Av-Pair |
自定义的属性对,可支持以下类型: · 下发的动态WEP密钥,格式为leap:session-key=xxx · 下发的Voice VLAN,格式为device-traffic-class=voice · 下发的用户角色,格式为shell:role=xxx · 下发的EDSG业务策略列表,格式为edsg-policy:activelist=policyname1;policyname2;…;policynameN · 下发的待取消的EDSG业务策略列表,格式为edsg-policy:deactivelist=policyname1;policyname2;…;policynameN · 下发的携带用户名的EDSG业务策略,格式为edsg-policy:username=[policyname]username · 下发的携带用户密码的EDSG业务策略,格式为edsg-policy:password=[policyname]password · 下发的CAR属性的单位,格式为car:car-unit="xxx" · CAR属性变化的标识,用于向服务器告知PPP用户速率变化的结果,格式为car:car-change=x,x取值如下: ¡ 1:下行降速 ¡ 2:上行降速 ¡ 3:上行和下行均降速 ¡ 4:下行提速 ¡ 5:上行提速 ¡ 6:上行和下行均提速 |
215 |
Accounting-Level |
ITA流量计费级别,取值范围为1~8 |
216 |
Ita-Policy |
ITA(Intelligent Target Accounting)策略名称 |
217 |
Nat-Port-Range-Update |
为用户分配的端口块发生变更 · 1:删除端口块 · 0:增加端口块 |
220 |
H3C-HTTP-User-Agent |
用户终端的HTTP User Agent信息 |
230 |
Nas-Port |
用户接入NAS的接口名称 |
246 |
Auth_Detail_Result |
在下面的情况下,服务器发送Access-Accept报文,并携带此属性表明用户认证的详细结果信息: · 1:用户处于欠费状态。该情况下,服务器同时会下发250号属性,允许用户访问白名单中的网络资源。若用户访问其它网络资源,将被重定向到250号属性指定的重定向URL · 2:用户宽带使用到期。该情况下,服务器同时会下发250号属性。用户的首次Web访问请求将被重定向到250号属性指定的重定向URL |
247 |
Input-Committed-Burst-Size |
用户到NAS方向流量的CBS(Committed Burst Size,承诺突发尺寸),以bit为单位,长度为4字节 下发此属性时需要同时下发Input-Average-Rate属性 |
248 |
Output-Committed-Burst-Size |
NAS到用户方向流量的CBS(Committed Burst Size,承诺突发尺寸),以bit为单位,长度为4字节 下发此属性时需要同时下发Output-Average-Rate属性 |
249 |
authentication-type |
用户认证类型值,取值如下: · 1:用户内网准入认证 · 2:用户外网准出认证 如果该属性不存在,则按照普通用户认证处理 |
250 |
WEB-URL |
用户Web重定向URL |
251 |
Subscriber-ID |
用户家庭ID |
252 |
Subscriber-Profile |
用户家庭套餐的QoS策略名称 |
255 |
Product_ID |
产品名称 |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!