• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

03-安全配置指导

目录

05-AAA配置

本章节下载 05-AAA配置  (1.39 MB)

05-AAA配置

  录

1 AAA

1.1 AAA简介

1.1.1 AAA实现的功能

1.1.2 AAA基本组网结构

1.1.3 RADIUS协议简介

1.1.4 HWTACACS协议简介

1.1.5 LDAP协议简介

1.1.6 基于域的用户管理

1.1.7 认证、授权、计费方法

1.1.8 AAA的扩展应用

1.1.9 AAA支持VPN多实例

1.1.10 协议规范

1.2 AAA与硬件适配关系

1.3 AAA配置任务简介

1.4 配置本地用户

1.4.1 本地用户简介

1.4.2 本地用户配置任务简介

1.4.3 配置设备管理类本地用户属性

1.4.4 配置网络接入类本地用户属性

1.4.5 配置本地来宾用户属性

1.4.6 配置用户组属性

1.4.7 批量配置本地用户

1.4.8 配置网络接入类本地用户管理功能

1.4.9 配置本地来宾用户管理功能

1.4.10 本地用户及本地用户组显示和维护

1.5 配置RADIUS

1.5.1 RADIUS配置任务简介

1.5.2 配置RADIUS服务器探测模板

1.5.3 创建RADIUS方案

1.5.4 配置RADIUS认证服务器

1.5.5 配置RADIUS计费服务器

1.5.6 配置RADIUS报文的共享密钥

1.5.7 配置RADIUS方案所属的VPN

1.5.8 配置RADIUS服务器的状态

1.5.9 配置RADIUS服务器的定时器

1.5.10 配置发送RADIUS报文使用的源IP地址

1.5.11 配置发送给RADIUS服务器的用户名格式和数据统计单位

1.5.12 配置发送RADIUS报文的最大尝试次数

1.5.13 配置允许发起实时计费请求的最大尝试次数

1.5.14 配置RADIUS报文的DSCP优先级

1.5.15 配置RADIUS Attribute 15的检查方式

1.5.16 开启使用RADIUS Attribute 17支持在线修改用户密码功能

1.5.17 配置RADIUS Attribute 25的CAR参数解析功能

1.5.18 配置RADIUS Attribute 31中的MAC地址格式

1.5.19 配置Vendor ID为2011的RADIUS服务器版本号

1.5.20 配置RADIUS Remanent_Volume属性的流量单位

1.5.21 配置设备使用的Acct-Session-Id属性模式

1.5.22 配置RADIUS属性解释功能

1.5.23 配置RADIUS的accounting-on功能

1.5.24 配置RADIUS的session control功能

1.5.25 配置RADIUS DAE服务器功能

1.5.26 配置RADIUS告警功能

1.5.27 RADIUS显示和维护

1.6 配置HWTACACS

1.6.1 HWTACACS配置任务简介

1.6.2 创建HWTACACS方案

1.6.3 配置HWTACACS认证服务器

1.6.4 配置HWTACACS授权服务器

1.6.5 配置HWTACACS计费服务器

1.6.6 配置HWTACACS报文的共享密钥

1.6.7 配置HWTACACS方案所属的VPN

1.6.8 配置HWTACACS服务器的定时器

1.6.9 配置发送HWTACACS报文使用的源IP地址

1.6.10 配置发送给HWTACACS服务器的用户名格式和数据统计单位

1.6.11 配置HWTACACS服务器都处于block状态后的请求动作

1.6.12 HWTACACS显示和维护

1.7 配置LDAP

1.7.1 LDAP配置任务简介

1.7.2 创建LDAP服务器

1.7.3 配置LDAP服务器IP地址

1.7.4 配置LDAP版本号

1.7.5 配置LDAP服务器的连接超时时间

1.7.6 配置具有管理员权限的用户属性

1.7.7 配置LDAP用户属性参数

1.7.8 配置用户组的过滤条件

1.7.9 配置LDAP属性映射表

1.7.10 创建LDAP方案

1.7.11 指定LDAP认证服务器

1.7.12 指定LDAP授权服务器

1.7.13 引用LDAP属性映射表

1.7.14 LDAP显示和维护

1.8 创建ISP域

1.8.1 ISP域简介

1.8.2 配置限制和指导

1.8.3 创建非缺省ISP域

1.8.4 配置缺省ISP域

1.8.5 配置未知域名用户的ISP域

1.9 配置ISP域的属性

1.9.1 配置ISP域的状态

1.9.2 配置ISP域的用户授权属性

1.9.3 设置设备上传到服务器的用户在线时间中保留闲置切断时间

1.9.4 设置ISP域的用户地址类型

1.9.5 设置ISP域的业务类型

1.9.6 设置L2TP用户主业务依赖的IP地址类型

1.9.7 设置L2TP用户等待分配IPv6地址的最大时长

1.10 在ISP域中配置实现AAA的方法

1.10.1 配置ISP域的AAA认证方法

1.10.2 配置ISP域的AAA授权方法

1.10.3 配置ISP域的AAA计费方法

1.10.4 ISP域显示和维护

1.11 配置域名分隔符

1.12 限制同时在线的最大用户连接数

1.13 配置NAS-ID

1.13.1 NAS-ID的应用

1.13.2 配置NAS-ID与VLAN的绑定

1.13.3 在ISP域视图下配置NAS-ID

1.14 配置设备ID

1.15 配置密码修改周期性提醒日志功能

1.16 AAA典型配置举例

1.16.1 SSH用户的RADIUS认证和授权配置

1.16.2 SSH用户的本地认证和授权配置

1.16.3 SSH用户的HWTACACS认证、授权、计费配置

1.16.4 SSH用户的LDAP认证配置

1.16.5 SSL VPN用户的LDAP认证、授权配置

1.16.6 本地来宾用户管理配置举例

1.17 AAA常见故障处理

1.17.1 RADIUS认证/授权失败

1.17.2 RADIUS报文传送失败

1.17.3 RADIUS计费功能异常

1.17.4 HWTACACS常见配置错误

1.17.5 LDAP认证失败

1.18 附录

1.18.1 附录A 常见RADIUS标准属性列表

1.18.2 附录B 常见RADIUS标准属性描述

1.18.3 附录C RADIUS扩展属性(Vendor-ID=25506)

 


1 AAA

1.1  AAA简介

1.1.1  AAA实现的功能

AAA(Authentication、Authorization、Accounting,认证、授权、计费)是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。

·     认证:确认访问网络的远程用户的身份,判断访问者是否为合法的网络用户。

·     授权:对不同用户赋予不同的权限,限制用户可以使用的服务。例如,管理员授权办公用户才能对服务器中的文件进行访问和打印操作,而其它临时访客不具备此权限。

·     计费:记录用户使用网络服务过程中的所有操作,包括使用的服务类型、起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监视作用。

1.1.2  AAA基本组网结构

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提供的一种或两种安全服务。例如,公司仅仅想让员工在访问某些特定资源时进行身份认证,则网络管理员只需要配置认证服务器。但是若希望对员工使用网络的情况进行记录,那么还需要配置计费服务器。

目前,设备支持动态口令认证机制。

1.1.3  RADIUS协议简介

RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。RADIUS协议合并了认证和授权的过程,它定义了RADIUS的报文格式及其消息传输机制,并规定使用UDP作为封装RADIUS报文的传输层协议,UDP端口1812、1813分别作为认证/授权、计费端口。

RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入、ADSL接入。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。

1. 客户端/服务器模式

·     客户端:RADIUS客户端一般位于NAS上,可以遍布整个网络,负责将用户信息传输到指定的RADIUS服务器,然后根据服务器返回的信息进行相应处理(如接受/拒绝用户接入)。

·     服务器:RADIUS服务器一般运行在中心计算机或工作站上,维护用户的身份信息和与其相关的网络服务信息,负责接收NAS发送的认证、授权、计费请求并进行相应的处理,然后给NAS返回处理结果(如接受/拒绝认证请求)。另外,RADIUS服务器还可以作为一个代理,以RADIUS客户端的身份与其它的RADIUS认证服务器进行通信,负责转发RADIUS认证和计费报文。

RADIUS服务器通常要维护三个数据库,如图1-2所示:

图1-2 RADIUS服务器的组成

 

·     “Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。

·     “Clients”:用于存储RADIUS客户端的信息(如NAS的共享密钥、IP地址等)。

·     “Dictionary”:用于存储RADIUS协议中的属性和属性值含义的信息。

2. 安全的消息交互机制

RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的。共享密钥是一个带外传输的客户端和服务器都知道的字符串,不需要单独进行网络传输。RADIUS报文中有一个16字节的验证字字段,它包含了对整个报文的数字签名数据,该签名数据是在共享密钥的参与下利用MD5算法计算出的。收到RADIUS报文的一方要验证该签名的正确性,如果报文的签名不正确,则丢弃它。通过这种机制,保证了RADIUS客户端和RADIUS服务器之间信息交互的安全性。另外,为防止用户密码在不安全的网络上传递时被窃取,在RADIUS报文传输过程中还利用共享密钥对用户密码进行了加密。

3. 用户认证机制

RADIUS服务器支持多种方法来认证用户,例如PAP(Password Authentication Protocol,密码认证协议)、CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议)以及EAP(Extensible Authentication Protocol,可扩展认证协议)。

4. RADIUS的基本消息交互流程

用户、RADIUS客户端和RADIUS服务器之间的交互流程如图1-3所示。

图1-3 RADIUS的基本消息交互流程

 

 

消息交互流程如下:

(1)     用户发起连接请求,向RADIUS客户端发送用户名和密码。

(2)     RADIUS客户端根据获取的用户名和密码,向RADIUS服务器发送认证请求包(Access-Request),其中的密码在共享密钥的参与下利用MD5算法进行加密处理。

(3)     RADIUS服务器对用户名和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受包(Access-Accept);如果认证失败,则返回认证拒绝包(Access-Reject)。由于RADIUS协议合并了认证和授权的过程,因此认证接受包中也包含了用户的授权信息。

(4)     RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request)。

(5)     RADIUS服务器返回计费开始响应包(Accounting-Response),并开始计费。

(6)     用户开始访问网络资源。

(7)     用户请求断开连接。

(8)     RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request)。

(9)     RADIUS服务器返回计费结束响应包(Accounting-Response),并停止计费。

(10)     通知用户结束访问网络资源。

5. RADIUS报文结构

RADIUS采用UDP报文来传输消息,通过定时器机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息的正确收发。RADIUS报文结构如图1-4所示。

图1-4 RADIUS报文结构

 

各字段的解释如下:

(1)     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报文,并且已经正确记录计费信息

 

(2)     Identifier域

长度为1个字节,用于匹配请求包和响应包,以及检测在一段时间内重发的请求包。对于类型一致且属于同一个交互过程的请求包和响应包,该Identifier值相同。

(3)     Length域

长度为2个字节,表示RADIUS数据包(包括Code、Identifier、Length、Authenticator和Attribute)的长度,单位为字节。超过Length域的字节将作为填充字符被忽略。如果接收到的包的实际长度小于Length域的值时,则包会被丢弃。

(4)     Authenticator域

长度为16个字节,用于验证RADIUS服务器的应答报文,另外还用于用户密码的加密。Authenticator包括两种类型:Request Authenticator和Response Authenticator。

(5)     Attribute域

不定长度,用于携带专门的认证、授权和计费信息。Attribute域可包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。

¡     类型(Type):表示属性的类型。

¡     长度(Length):表示该属性(包括类型、长度和属性值)的长度,单位为字节。

¡     属性值(Value):表示该属性的信息,其格式和内容由类型决定。

6. RADIUS扩展属性

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,表示子属性的内容。

设备支持的RADIUS扩展属性的Vendor-ID为25506,属性的具体介绍请参见“1.18.3  附录C RADIUS扩展属性(Vendor-ID=25506)”。

图1-5 26号属性的格式

 

1.1.4  HWTACACS协议简介

HWTACACS(HW Terminal Access Controller Access Control System,HW终端访问控制器控制系统协议)是在TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与RADIUS协议类似,采用客户端/服务器模式实现NAS与HWTACACS服务器之间的通信。

HWTACACS协议主要用于PPP(Point-to-Point Protocol,点对点协议)和VPDN(Virtual Private Dial-up Network,虚拟专用拨号网络)接入用户及终端用户的认证、授权和计费。其典型应用是对需要登录到NAS设备上进行操作的终端用户进行认证、授权以及对终端用户执行的操作进行记录。设备作为HWTACACS的客户端,将用户名和密码发给HWTACACS服务器进行验证,用户验证通过并得到授权之后可以登录到设备上进行操作,HWTACACS服务器上会记录用户对设备执行过的命令。

1. HWTACACS协议与RADIUS协议的区别

HWTACACS协议与RADIUS协议都实现了认证、授权和计费功能,它们有很多相似点:结构上都采用客户端/服务器模式;都使用共享密钥对传输的用户信息进行加密;都有较好的灵活性和可扩展性。两者之间存在的主要区别如表1-2所示。

表1-2 HWTACACS协议和RADIUS协议区别

HWTACACS协议

RADIUS协议

使用TCP,网络传输更可靠

使用UDP,网络传输效率更高

除了HWTACACS报文头,对报文主体全部进行加密

只对认证报文中的密码字段进行加密

协议报文较为复杂,认证和授权分离,使得认证、授权服务可以分离在不同的服务器上实现。例如,可以用一个HWTACACS服务器进行认证,另外一个HWTACACS服务器进行授权

协议报文比较简单,认证和授权结合,难以分离

支持对设备的配置命令进行授权使用。用户可使用的命令行受到用户角色和AAA授权的双重限制,某角色的用户输入的每一条命令都需要通过HWTACACS服务器授权,如果授权通过,命令就可以被执行

不支持对设备的配置命令进行授权使用

用户登录设备后可以使用的命令行由用户所具有的角色决定,关于用户角色的相关介绍请参见“基础配置指导”中的“RBAC”

 

2. HWTACACS的基本消息交互流程

下面以Telnet用户为例,说明使用HWTACACS对用户进行认证、授权和计费的过程。基本消息交互流程图如图1-6所示。

图1-6 Telnet用户认证、授权和计费流程图

 

基本消息交互流程如下:

(1)     Telnet用户请求登录设备。

(2)     HWTACACS客户端收到请求之后,向HWTACACS服务器发送认证开始报文。

(3)     HWTACACS服务器发送认证回应报文,请求用户名。

(4)     HWTACACS客户端收到回应报文后,向用户询问用户名。

(5)     用户输入用户名。

(6)     HWTACACS客户端收到用户名后,向HWTACACS服务器发送认证持续报文,其中包括了用户名。

(7)     HWTACACS服务器发送认证回应报文,请求登录密码。

(8)     HWTACACS客户端收到回应报文,向用户询问登录密码。

(9)     用户输入密码。

(10)     HWTACACS客户端收到登录密码后,向HWTACACS服务器发送认证持续报文,其中包括了登录密码。

(11)     如果认证成功,HWTACACS服务器发送认证回应报文,指示用户通过认证。

(12)     HWTACACS客户端向HWTACACS服务器发送授权请求报文。

(13)     如果授权成功,HWTACACS服务器发送授权回应报文,指示用户通过授权。

(14)     HWTACACS客户端收到授权成功报文,向用户输出设备的配置界面,允许用户登录。

(15)     HWTACACS客户端向HWTACACS服务器发送计费开始报文。

(16)     HWTACACS服务器发送计费回应报文,指示计费开始报文已经收到。

(17)     用户请求断开连接。

(18)     HWTACACS客户端向HWTACACS服务器发送计费结束报文。

(19)     HWTACACS服务器发送计费结束报文,指示计费结束报文已经收到。

1.1.5  LDAP协议简介

LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种目录访问协议,用于提供跨平台的、基于标准的目录服务。它是在X.500协议的基础上发展起来的,继承了X.500的优点,并对X.500在读取、浏览和查询操作方面进行了改进,适合于存储那些不经常改变的数据。

LDAP协议的典型应用是用来保存系统中的用户信息,如Microsoft的Windows操作系统就使用了Active Directory Server(一种LDAP服务器软件)来保存操作系统的用户、用户组等信息,用于用户登录Windows时的认证和授权。

1. LDAP目录服务

LDAP中使用目录记录并管理系统中的组织信息、人员信息以及资源信息。目录按照树型结构组织,由多个条目(Entry)组成的。条目是具有DN(Distinguished Name,识别名)的属性(Attribute)集合。属性用来承载各种类型的数据信息,例如用户名、密码、邮件、计算机名、联系电话等。

LDAP协议基于Client/Server结构提供目录服务功能,所有的目录信息数据存储在LDAP服务器上。目前,Microsoft的Active Directory Server、IBM的Tivoli Directory Server和Sun的Sun ONE Directory Server都是常用的LDAP服务器软件。

2. 使用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授权信息。

3. LDAP认证的基本消息交互流程

下面以Telnet用户登录设备为例,说明如何使用LDAP认证服务器来对用户进行认证。用户的LDAP认证基本消息交互流程如图1-7所示。

图1-7 LDAP认证的基本消息交互流程

 

基本消息交互流程如下:

(1)     用户发起连接请求,向LDAP客户端发送用户名和密码。

(2)     LDAP客户端收到请求之后,与LDAP服务器建立TCP连接。

(3)     LDAP客户端以管理员DN和管理员DN密码为参数向LDAP服务器发送管理员绑定请求报文(Administrator Bind Request)获得查询权限。

(4)     LDAP服务器进行绑定请求报文的处理。如果绑定成功,则向LDAP客户端发送绑定成功的回应报文。

(5)     LDAP客户端以输入的用户名为参数,向LDAP服务器发送用户DN查询请求报文(User DN Search Request)。

(6)     LDAP服务器收到查询请求报文后,根据报文中的查询起始地址、查询范围、以及过滤条件,对用户DN进行查找。如果查询成功,则向LDAP客户端发送查询成功的回应报文。查询得到的用户DN可以是一或多个。

(7)     LDAP客户端以查询得到的用户DN和用户输入的密码为参数,向LDAP服务器发送用户DN绑定请求报文(User DN Bind Request),检查用户密码是否正确。

(8)     LDAP服务器进行绑定请求报文的处理。

¡     如果绑定成功,则向LDAP客户端发送绑定成功的回应报文。

¡     如果绑定失败,则向LDAP客户端发送绑定失败的回应报文。LDAP客户端以下一个查询到的用户DN(如果存在的话)为参数,继续向服务器发送绑定请求,直至有一个DN绑定成功,或者所有DN均绑定失败。如果所有用户DN都绑定失败,则LDAP客户端通知用户登录失败并拒绝用户接入。

(9)     LDAP客户端保存绑定成功的用户DN,并进行授权处理。如果设备采用LDAP授权方案,则进行图1-8所示的用户授权交互流程;如果设备采用非LDAP的授权方案,则执行其它协议的授权处理流程,此处略。

(10)     授权成功之后,LDAP客户端通知用户登录成功。

4. LDAP授权的基本消息交互流程

下面以Telnet用户登录设备为例,说明如何使用LDAP服务器来对用户进行授权。用户的LDAP授权基本消息交互流程如图1-8所示。

图1-8 LDAP授权的基本消息交互流程

 

(1)     用户发起连接请求,向LDAP客户端发送用户名和密码。

(2)     LDAP客户端收到请求之后,进行认证处理。如果设备采用LDAP认证方案,则按照图1-7所示进行LDAP认证。LDAP认证流程完成之后,如果已经和该LDAP授权服务器建立了绑定关系,则直接转到步骤(6),否则转到步骤(4);如果设备采用非LDAP认证方案,则执行其它协议的认证处理流程,之后转到步骤(3)。

(3)     LDAP客户端与LDAP服务器建立TCP连接。

(4)     LDAP客户端以管理员DN和管理员DN密码为参数向LDAP服务器发送管理员绑定请求报文(Administrator Bind Request)获得查询权限。

(5)     LDAP服务器进行绑定请求报文的处理。如果绑定成功,则向LDAP客户端发送绑定成功的回应报文。

(6)     LDAP客户端以输入的用户名为参数(如果用户认证使用的是相同LDAP服务器,则以保存的绑定成功的用户DN为参数),向LDAP服务器发送授权查询请求报文。

(7)     LDAP服务器收到查询请求报文后,根据报文中的查询起始地址、查询范围、过滤条件以及LDAP客户端关心的LDAP属性,对用户信息进行查找。如果查询成功,则向LDAP客户端发送查询成功的回应报文。

(8)     授权成功后,LDAP客户端通知用户登录成功。

1.1.6  基于域的用户管理

NAS对用户的管理是基于ISP(Internet Service Provider,互联网服务提供商)域的,每个用户都属于一个ISP域。一般情况下,用户所属的ISP域是由用户登录时提供的用户名决定的,如图1-9所示。

图1-9 用户名决定域名

 

为便于对不同接入方式的用户进行区分管理,提供更为精细且有差异化的认证、授权、计费服务,AAA将用户划分为以下几个类型:

·     lan-access用户:LAN接入用户,如MAC地址认证用户。

·     login用户:登录设备用户,如SSH、Telnet、FTP、终端接入用户(即从Console口登录的用户)。

·     ADVPN接入用户。

·     Portal接入用户。

·     PPP接入用户。

·     IPoE接入用户:IP接入用户,比如二/三层专线,数字机顶盒接入的用户。

·     IKE用户:使用IKE扩展认证的用户。

·     HTTP/HTTPS用户:使用HTTP或HTTPS服务登录设备的用户。

·     SSL VPN接入用户。

1.1.7  认证、授权、计费方法

在具体实现中,一个ISP域对应着设备上一套实现AAA的配置策略,它们是管理员针对该域用户制定的一套认证、授权、计费方法,可根据用户的接入特征以及不同的安全需求组合使用。

1. 认证方法

AAA支持以下认证方法:

·     不认证:对用户非常信任,不对其进行合法性检查,一般情况下不采用这种方法。

·     本地认证:认证过程在接入设备上完成,用户信息(包括用户名、密码和各种属性)配置在接入设备上。优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。

·     远端认证:认证过程在接入设备和远端的服务器之间完成,接入设备和远端服务器之间通过RADIUS、HWTACACS或LDAP协议通信。优点是用户信息集中在服务器上统一管理,可实现大容量、高可靠性、支持多设备的集中式统一认证。当远端服务器无效时,可配置备选认证方式完成认证。

2. 授权方法

AAA支持以下授权方法:

·     不授权:接入设备不请求授权信息,不对用户可以使用的操作以及用户允许使用的网络服务进行授权。此时,认证通过的login用户只有系统给予的缺省用户角色level-0,其中FTP/SFTP/SCP用户的工作目录是设备的根目录,但并无访问权限;认证通过的非login用户,可直接访问网络。关于用户角色level-0的详细介绍请参见“基础配置指导”中的“RBAC”。

·     本地授权:授权过程在接入设备上进行,根据接入设备上为本地用户配置的相关属性进行授权。

·     远端授权:授权过程在接入设备和远端服务器之间完成。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。RADIUS认证成功后,才能进行授权,RADIUS授权信息携带在认证回应报文中下发给用户。HWTACACS/LDAP协议的授权与认证相分离,在认证成功后,授权信息通过授权报文进行交互。当远端服务器无效时,可配置备选授权方式完成授权。

3. 计费方法

AAA支持以下计费方法:

·     不计费:不对用户计费。

·     本地计费:计费过程在接入设备上完成,实现了本地用户连接数的统计和限制,并没有实际的费用统计功能。

·     远端计费:计费过程在接入设备和远端的服务器之间完成。当远端服务器无效时,可配置备选计费方式完成计费。

1.1.8  AAA的扩展应用

对于login用户,AAA还可以对其提供以下服务,用于提高对设备操作的安全性:

·     命令行授权:用户执行的每一条命令都需要接受授权服务器的检查,只有授权成功的命令才被允许执行。关于命令行授权的详细介绍请参考“基础配置指导”中的“配置通过CLI登录设备”。

·     命令行计费:若未开启命令行授权功能,则计费服务器对用户执行过的所有有效命令进行记录;若开启了命令行授权功能,则计费服务器仅对授权通过的命令进行记录。关于命令行计费的详细介绍请参考“基础配置指导”中的“配置用户通过CLI登录设备”。

·     用户角色切换认证:在不退出当前登录、不断开当前连接的前提下,用户将当前的用户角色切换为其它用户角色时,只有通过服务器的认证,该切换操作才被允许。关于用户角色切换的详细介绍请参考“基础配置指导”中的“RBAC”。

1.1.9  AAA支持VPN多实例

通过AAA支持VPN多实例,可实现认证/授权/计费报文在VPN之间的交互。如图1-10所示,各私网客户端之间业务隔离,连接客户端的PE设备作为NAS,通过VPN网络把私网客户端的认证/授权/计费信息透传给网络另一端的私网服务器,实现了对私网客户端的集中认证,且各私网的认证报文互不影响。

图1-10 AAA支持VPN多实例典型组网图

说明

在MCE设备上进行的Portal接入认证在本特性的配合下,也可支持多实例功能。关于MCE的相关介绍请见参见“VPN实例配置指导”。关于Portal的相关介绍请参见“安全配置指导”中的“Portal”。

1.1.10  协议规范

与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)

1.2  AAA与硬件适配关系

仅AFC板卡不支持IPoE相关特性及命令行参数。

1.3  AAA配置任务简介

AAA配置任务如下:

(1)     配置AAA方案

若选择使用本地AAA方案,则需要配置本地用户;若选择使用远程AAA方案,则需要配置RADIUS、HWTACACS或LDAP。

¡     配置本地用户

¡     配置RADIUS

¡     配置HWTACACS

¡     配置LDAP

(2)     创建ISP域并配置相关属性

a.     创建ISP域

b.     配置ISP域的属性

(3)     在ISP域中配置实现AAA的方法

(4)     请根据实际需求为用户所在的ISP域配置实现认证、授权、计费的方法,这些方法中将会引用已经配置的AAA方案。

¡     配置ISP域的AAA认证方法

¡     配置ISP域的AAA授权方法

¡     配置ISP域的AAA计费方法

(5)     (可选)配置AAA高级功能

¡     配置域名分隔符

¡     限制同时在线的最大用户连接数

¡     配置NAS-ID

¡     配置设备ID

¡     配置密码修改周期性提醒日志功能

1.4  配置本地用户

1.4.1  本地用户简介

当选择使用本地认证、本地授权、本地计费方法对用户进行认证、授权或计费时,应在设备上创建本地用户并配置相关属性。

所谓本地用户,是指在本地设备上设置的一组用户属性的集合。该集合以用户名和用户类别为用户的唯一标识。本地用户分为两类,一类是设备管理用户;另一类是网络接入用户。设备管理用户供设备管理员登录设备使用,网络接入用户供通过设备访问网络服务的用户使用。网络接入用户中还存在一种来宾用户,供临时接入网络的访客使用。来宾用户仅支持lan-access和Portal服务。

为使某个请求网络服务的用户可以通过本地认证,需要在设备上的本地用户数据库中添加相应的表项。具体步骤是,创建一个本地用户并进入本地用户视图,然后在本地用户视图下配置相应的用户属性,可配置的用户属性包括:

·     描述信息

·     服务类型

用户可使用的网络服务类型。该属性是本地认证的检测项,如果没有用户可以使用的服务类型,则该用户无法通过认证。

·     用户状态

用于指示是否允许该用户请求网络服务器,包括active和block两种状态。active表示允许该用户请求网络服务,block表示禁止该用户请求网络服务。

·     最大用户数

使用当前用户名接入设备的最大用户数目。若当前该用户名的接入用户数已达最大值,则使用该用户名的新用户将被禁止接入。

·     所属的用户组

每一个本地用户都属于一个本地用户组,并继承组中的所有属性(密码管理属性和用户授权属性)。关于本地用户组的介绍和配置请参见“1.4.6  配置用户组属性”。

·     所属身份识别用户组

本地用户加入身份识别用户组后,将成为该组的成员,接受基于组的用户身份识别业务处理。关于身份识别用户组的介绍和配置请参见“安全配置指导”中的“用户身份识别与管理”。

·     绑定属性

用户认证时需要检测的属性,用于限制接入用户的范围。若用户的实际属性与设置的绑定属性不匹配,则不能通过认证,因此在配置绑定属性时要考虑该用户是否需要绑定某些属性。

·     用户授权属性

用户认证通过后,接入设备给用户下发授权属性。由于可配置的授权属性都有其明确的使用环境和用途,因此配置授权属性时要考虑该用户是否需要某些属性。例如,PPP接入用户不需要授权的目录,因此就不要设置PPP用户的工作目录属性。

本地用户的授权属性在用户组和本地用户视图下都可以配置,且本地用户视图下的配置优先级高于用户组视图下的配置。用户组的配置对组内所有本地用户生效。

·     密码管理属性

用户密码的安全属性,可用于对本地用户的认证密码进行管理和控制。可设置的策略包括:密码老化时间、密码最小长度、密码组合策略、密码复杂度检查策略和用户登录尝试次数限制策略。

本地用户的密码管理属性在系统视图(具有全局性)、用户组视图和本地用户视图下都可以配置,其生效的优先级顺序由高到底依次为本地用户、用户组、全局。全局配置对所有本地用户生效,用户组的配置对组内所有本地用户生效。有关密码管理以及全局密码配置的详细介绍请参见“安全配置指导”中的“Password Control”。

·     有效期

网络接入类本地用户在有效期内才能认证成功。

1.4.2  本地用户配置任务简介

本地用户配置任务如下:

(1)     配置本地用户属性

¡     配置设备管理类本地用户属性

¡     配置网络接入类本地用户属性

¡     配置本地来宾用户属性

(2)     (可选)配置用户组属性

(3)     (可选)批量配置本地用户

(4)     (可选)配置网络接入类本地用户管理功能

(5)     (可选)配置本地来宾用户管理功能

1.4.3  配置设备管理类本地用户属性

1. 配置限制和指导

开启设备管理类全局密码管理功能(通过命令password-control enable)后,设备上将不显示配置的本地用户密码,也不会将该密码保存在当前配置中。如果关闭了设备管理类全局密码管理功能,已配置的密码将恢复在当前配置中。当前配置可通过display current-configuration命令查看。

授权属性和密码控制属性均可以在本地用户视图和用户组视图下配置,各视图下的配置优先级顺序从高到底依次为:本地用户视图-->用户组视图。

2. 配置步骤

(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用户可以访问的目录为设备的根目录,但无访问权限。

¡     在缺省Context中由用户角色为network-admin或者level-15的用户创建的本地用户被授权用户角色network-operator;在非缺省Context中由用户角色为context-admin或者level-15的用户创建的本地用户被授权用户角色context-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.4.4  配置网络接入类本地用户属性

1. 配置限制和指导

开启网络接入类全局密码管理功能(通过命令password-control enable network-class)后,设备上将不显示配置的本地用户密码,也不会将该密码保存在当前配置中。如果关闭了网络接入类全局密码管理功能,已配置的密码将恢复在当前配置中。当前配置可通过display current-configuration命令查看。

授权属性和密码控制属性均可以在本地用户视图和用户组视图下配置,各视图下的配置优先级顺序从高到底依次为:本地用户视图-->用户组视图。

在绑定接口属性时要考虑绑定接口类型是否合理。对于不同接入类型的用户,请按照如下方式进行绑定接口属性的配置:

·     MAC地址认证用户:配置绑定的接口为开启MAC地址认证的二层以太网接口。

·     Portal用户:若使能Portal的接口为VLAN接口,且没有通过portal roaming enable命令配置Portal用户漫游功能,则配置绑定的接口为用户实际接入的二层以太网接口;其它情况下,配置绑定的接口均为使能Portal的接口。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     添加网络接入类本地用户,并进入网络接入类本地用户视图。

local-user user-name class network

(3)     (可选)设置本地用户的密码。

password { cipher | simple } string

(4)     (可选)设置本地用户的描述信息。

description text

缺省情况下,未配置本地用户的描述信息。

(5)     设置本地用户可以使用的服务类型。

service-type { advpn | ike | ipoe | lan-access | portal | ppp | sslvpn }

缺省情况下,本地用户不能使用任何服务类型。

(6)     (可选)设置本地用户的状态。

state { active | block }

缺省情况下,本地用户处于活动状态,即允许该用户请求网络服务。

(7)     (可选)设置使用当前本地用户名接入设备的最大用户数。

access-limit max-user-number

缺省情况下,不限制使用当前本地用户名接入的用户数。

(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 | { primary-dns | secondary-dns } { ip ipv4-address | ipv6 ipv6-address } | session-timeout minutes | sslvpn-policy-group group-name | url url-string | vlan vlan-id | vpn-instance vpn-instance-name } *

缺省情况下,本地用户无授权属性。

(9)     (可选)开启网络接入类本地用户视图下的密码管理功能。

password-control enable

缺省情况下,网络接入类本地用户视图下的密码管理功能处于关闭状态。

(10)     (可选)设置网络接入类本地用户的密码管理属性。请至少选择其中一项进行配置。

¡     设置密码最小长度。

password-control length length

¡     设置密码组合策略。

password-control composition type-number type-number [ type-length type-length ]

¡     设置密码的复杂度检查策略。

password-control complexity { same-character | user-name } check

缺省情况下,采用本地用户所属用户组的密码管理策略。

(11)     (可选)设置本地用户所属的用户组。

group group-name

缺省情况下,本地用户属于用户组system。

(12)     (可选)将网络接入类本地用户加入身份识别用户组。

identity-group group-name

缺省情况下,本地用户未加入身份识别用户组。

一个用户可以加入多个身份识别用户组。将用户成功加入了某身份识别用户组,系统会自动在该用户组视图下添加该用户为身份识别成员。

(13)     (可选)设置本地用户的有效期。

validity-datetime { from start-date start-time to expiration-date expiration-time | from start-date start-time | to expiration-date expiration-time }

缺省情况下,未限制本地用户的有效期,该用户始终有效。

1.4.5  配置本地来宾用户属性

1. 功能简介

为使临时接入网络的访客可以通过本地认证并方便管理员对访客的访问权限进行管理,需要在设备上的本地用户数据库中添加相应的本地来宾用户表项。具体步骤是,创建一个本地来宾用户并进入本地来宾用户视图,然后在该视图下配置相应的来宾用户属性。完成本地来宾用户属性的配置后,可向来宾或来宾接待人发送包含用户名、密码、有效期的通知邮件。

2. 配置步骤

(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 from start-date start-time to expiration-date expiration-time

缺省情况下,未限制本地来宾用户的有效期,该用户始终有效。

(6)     (可选)配置本地来宾用户所属的用户组。

group group-name

缺省情况下,本地来宾用户属于系统默认创建的用户组system。

(7)     (可选)配置本地来宾用户的状态。

state { active | block }

缺省情况下,本地来宾用户处于活动状态,即允许该用户请求网络服务。

1.4.6  配置用户组属性

1. 功能简介

为了简化本地用户的配置,增强本地用户的可管理性,引入了用户组的概念。用户组是一个本地用户属性的集合,某些需要集中管理的属性可在用户组中统一配置和管理,用户组内的所有本地用户都可以继承这些属性。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建用户组,并进入用户组视图。

user-group group-name

缺省情况下,存在一个用户组,名称为system。

(3)     设置用户组的授权属性。

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-timeout minutes | sslvpn-policy-group group-name | url url-string | vlan vlan-id | vpn-instance vpn-instance-name | work-directory directory-name } *

缺省情况下,未设置用户组的授权属性。

(4)     (可选)设置用户组的密码管理属性。请至少选择其中一项进行配置。

¡     设置密码老化时间。

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”。

仅设备管理类的本地用户支持本地用户密码管理功能。

(5)     (可选)配置用户组中的身份成员。

identity-member { group group-name | user user-name }

缺省情况下,用户组中不存在身份成员。

要添加的成员用户组中不能为其所属的用户组,即用户组之间的从属关系必须单向,不能形成循环嵌套关系。

1.4.7  批量配置本地用户

1. 功能简介

管理员可以通过命令行批量导入、导出网络接入类本地用户。

2. 批量导入本地用户

(1)     进入系统视图。

system-view

(2)     从CSV文件中导入用户信息并创建网络接入类本地用户。

local-user-import class network url url-string [ auto-create-group | override | start-line line-number ] *

用于导入的CSV文件中的用户名字段必须存在,其它信息如果未包含会使用缺省值。

3. 批量导出本地用户

(1)     进入系统视图。

system-view

(2)     从设备导出网络接入类本地用户信息到CSV文件。

local-user-export class network url url-string [ from { group group-name | user user-name } ]

导出的CSV文件可直接或在编辑之后可导入到本设备或其它支持该命令的设备上使用。

1.4.8  配置网络接入类本地用户管理功能

1. 功能简介

通过Web页面管理设备上的网络接入类本地用户时,系统提供了为网络接入类本地用户分配随机密码的功能,并支持通过邮件的方式将生成的随机密码信息告知给用户。之后,用户可以使用此随机密码登录设备。相应的,设备上也支持通过命令行来为网络接入类本地用户配置发送通知邮件的相关属性。

2. 配置限制和指导

使用本功能定义的参数为网络接入类用户发送分配的随机密码时,还需要满足以下条件:

·     设备与SMTP邮件服务器之间路由可达。

·     Web页面上配置的用户邮箱有效。

Web页面和设备上对相同属性的配置会相互覆盖。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置为网络接入类本地用户发送通知邮件的邮件属性。

¡     配置通知邮件的发件人地址。

access-user email sender email-address

缺省情况下,未配置网络接入类本地用户通知邮件的发件人地址。

¡     配置通知邮件的主题和内容。

access-user email format { body body-string | subject sub-string }

缺省情况下,网络接入类本地用户通知邮件的主题为Password reset notification,内容如下:

A random password has been generated for your account.

Username: xxx

Password: yyy

Validity: YYYY/MM/DD hh:mm:ss to YYYY/MM/DD hh:mm:ss

(3)     配置为网络接入类本地用户发送通知邮件使用的SMTP服务器属性。

¡     配置SMTP服务器地址。

access-user email smtp-server url-string

缺省情况下,未配置为网络接入类本地用户发送Email使用的SMTP服务器。

¡     配置登录SMTP服务器所需要的用户名和密码。

access-user email authentication username user-name password { cipher | simple } string

缺省情况下,未配置登录SMTP服务器的用户名和密码。

如果登录SMTP邮箱服务器时需要提供提登录用户名和密码,则必须通过本配置设置相应的登录用户名和密码。

1.4.9  配置本地来宾用户管理功能

1. 功能简介

随着无线智能终端的快速发展,对于来公司参观的访客,公司需要提供一些网络服务。当访客用自己的手机、笔记本、IPAD等终端接入公司网络时,涉及到用户账号注册,以及访问权限控制的问题。为了简化访客的注册和审批流程,以及对访客权限的管理控制,提供了本地来宾用户管理功能,具体包括:

·     本地来宾用户的注册与审批,具体过程如下:

a.     来宾通过设备推出的Portal Web页面填写注册信息,主要包括用户名、密码和Email地址,并提交该信息。

b.     设备收到来宾用户的注册信息后,记录该注册信息,并向来宾管理员发送一个注册申请通知邮件。

c.     来宾管理员收到注册申请通知邮件之后,在设备的Web页面上对该账户进行编辑和审批。

d.     如果该账户在等待审批时间超时前被来宾管理员审批通过,则设备将自动在本地创建一个本地来宾用户,并生成该用户的相关属性。若该账户在等待审批时间超时后还未被审批通过,则设备将会删除本地记录的该用户注册信息。

e.     本地来宾用户创建之后,设备将自动发送邮件通知来宾或来宾接待人用户注册成功,向他们告知本地来宾用户的密码及有效期信息。

f.     来宾收到注册成功通知后,将可以使用注册的账户访问网络。

·     邮件通知功能:向来宾、来宾接待人、来宾管理员发送账户审批、密码信息的邮件。

·     批量创建本地来宾用户:在设备上批量生成一系列本地来宾账户,这些账户的用户名和密码按照指定规律生成。

·     导入本地来宾用户信息:将指定路径CSV文件的本地来宾账户信息导入到设备上,并生成相应的本地来宾用户。导入操作成功后,该类账户可直接用于访问网络。

·     导出本地来宾用户信息:将设备上的本地来宾账户信息导出到指定路径CSV文件中供其它设备使用。

·     来宾用户过期自动删除功能:设备定时检查本地来宾用户是否过期并自动删除过期的用户。

2. 配置步骤

(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)     配置来宾管理员的Email地址。

local-guest manager-email email-address

缺省情况下,未配置来宾管理员的Email地址。

(4)     (可选)配置本地来宾用户的等待审批超时定时器。

local-guest timer waiting-approval time-value

缺省情况下,来宾注册信息等待审批超时定时器的值为24小时。

(5)     (可选)从指定路径的文件中导入用户信息并创建本地来宾用户。

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 ] *

(6)     (可选)批量创建本地来宾用户。

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

本命令批量生成的本地来宾用户的用户名和密码等属性将按照指定规律生成。

(7)     (可选)从设备导出本地来宾用户信息到指定路径的CSV文件。

local-user-export class network guest url url-string

(8)     (可选)开启来宾用户过期自动删除功能。

local-guest auto-delete enable

缺省情况下,来宾用户过期自动删除功能处于关闭状态。

(9)     (可选)向本地来宾用户邮箱和来宾接待人邮箱发送邮件。

a.     退回用户视图。

quit

b. 向相关人发送通知邮件,邮件中包含用户名、密码以及有效期信息。

local-guest send-email user-name user-name to { guest | sponsor }

1.4.10  本地用户及本地用户组显示和维护

完成上述配置后,在任意视图下执行display命令可以显示配置后本地用户及本地用户组的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除待审批来宾用户注册信息。

表1-3 本地用户及本地用户组显示和维护

操作

命令

显示待审批来宾用户注册信息

display local-guest waiting-approval [ user-name user-name ]

显示本地用户的配置信息和在线用户数的统计信息

display local-user [ class { manage | network [ guest ] } | idle-cut { disable | enable } | service-type { advpn | ftp | http | https | ike | ipoe | lan-access | portal | ppp | ssh | sslvpn | telnet | terminal } | state { active | block } | user-name user-name class { manage | network [ guest ] } | vlan vlan-id ]

显示本地用户组的相关配置

display user-group { all | name group-name } [ identity-member { all | group | user } ]

清除待审批的来宾用户注册信息

reset local-guest waiting-approval [ user-name user-name ]

 

1.5  配置RADIUS

1.5.1  RADIUS配置任务简介

RADIUS配置任务如下:

(1)     配置RADIUS服务器探测模板

若要对RADIUS认证服务器进行可达性探测,则需要配置RADIUS服务器探测模板,并在RADIUS认证服务器配置中引用该模板。

(2)     创建RADIUS方案

(3)     配置RADIUS认证服务器

(4)     配置RADIUS计费服务器

(5)     配置RADIUS报文的共享密钥

若配置RADIUS认证/计费服务器时未指定共享密钥,则可以通过本任务统一指定对所有认证/计费RADIUS服务器生效的共享密钥。

(6)     配置RADIUS方案所属的VPN

若配置RADIUS认证/计费服务器时未指定所属的VPN,则可以通过本任务统一指定所有认证/计费RADIUS服务器所属的VPN。

(7)     (可选)配置RADIUS服务器的状态

(8)     (可选)配置RADIUS服务器的定时器

(9)     (可选)配置RADIUS报文交互参数

¡     配置发送RADIUS报文使用的源IP地址

¡     配置发送给RADIUS服务器的用户名格式和数据统计单位

¡     配置发送RADIUS报文的最大尝试次数

¡     配置允许发起实时计费请求的最大尝试次数

¡     配置RADIUS报文的DSCP优先级

(10)     (可选)配置RADIUS属性参数

¡     配置RADIUS Attribute 15的检查方式

¡     开启使用RADIUS Attribute 17支持在线修改用户密码功能

¡     配置RADIUS Attribute 25的CAR参数解析功能

¡     配置RADIUS Attribute 31中的MAC地址格式

¡     配置Vendor ID为2011的RADIUS服务器版本号

¡     配置RADIUS Remanent_Volume属性的流量单位

¡     配置设备使用的Acct-Session-Id属性模式

¡     配置RADIUS属性解释功能

(11)     (可选)配置RADIUS扩展功能

¡     配置RADIUS的accounting-on功能

¡     配置RADIUS的session control功能

¡     配置RADIUS DAE服务器功能

¡     配置RADIUS告警功能

1.5.2  配置RADIUS服务器探测模板

1. 功能简介

RADIUS服务器探测功能是指,设备周期性发送探测报文探测RADIUS服务器是否可达:如果服务器不可达,则置服务器状态为block,如果服务器可达,则置服务器状态为active。该探测功能不依赖于实际用户的认证过程,无论是否有用户向RADIUS服务器发起认证,无论是否有用户在线,设备都会自动对指定的RADIUS服务器进行探测,便于及时获得该服务器的可达状态。

RADIUS服务器探测模板用于配置探测参数,并且可以被RADIUS方案视图下的RADIUS服务器配置引用。

当一个RADIUS服务器配置中成功引用了一个已经存在的服务器探测模板后,设备会启动对该RADIUS服务器的探测功能。设备采用测模板中配置的探测用户名构造一个认证请求报文,并在探测周期内选择随机时间点向引用了探测模板的RADIUS服务器发送该报文。如果在本次探测周期内收到服务器的认证响应报文,则认为当前探测周期内该服务器可达。

2. 配置限制和指导

系统支持同时存在多个RADIUS服务器探测模板。

服务器探测功能启动后,以下情况发生将会导致探测过程中止:

·     删除该RADIUS服务器配置;

·     取消对服务器探测模板的引用;

·     删除对应的服务器探测模板;

·     将该RADIUS服务器的状态手工置为block

·     删除当前RADIUS方案。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置RADIUS服务器探测模板。

radius-server test-profile profile-name username name [ interval interval ]

1.5.3  创建RADIUS方案

1. 配置限制和指导

系统最多支持配置16个RADIUS方案。一个RADIUS方案可以同时被多个ISP域引用。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建RADIUS方案,并进入RADIUS方案视图。

radius scheme radius-scheme-name

1.5.4  配置RADIUS认证服务器

1. 功能简介

由于RADIUS服务器的授权信息是随认证应答报文发送给RADIUS客户端的,RADIUS的认证和授权功能由同一台服务器实现,因此RADIUS认证服务器相当于RADIUS认证/授权服务器。通过在RADIUS方案中配置RADIUS认证服务器,指定设备对用户进行RADIUS认证时与哪些服务器进行通信。

一个RADIUS方案中最多允许配置一个主认证服务器和16个从认证服务器。缺省情况下,当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。

2. 配置限制和指导

建议在不需要备份的情况下,只配置主RADIUS认证服务器即可。

在实际组网环境中,可以指定一台服务器既作为某个RADIUS方案的主认证服务器,又作为另一个RADIUS方案的从认证服务器。

在同一个方案中指定的主认证服务器和从认证服务器的VPN、IP地址、端口号不能完全相同,并且各从认证服务器的VPN、IP地址、端口号也不能完全相同。

3. 配置步骤

(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 ] *

缺省情况下,未配置主RADIUS认证服务器。

(4)     (可选)配置从RADIUS认证服务器。

secondary authentication { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | test-profile profile-name | vpn-instance vpn-instance-name ] *

缺省情况下,未配置从RADIUS认证服务器。

1.5.5  配置RADIUS计费服务器

1. 功能简介

通过在RADIUS方案中配置RADIUS计费服务器,指定设备对用户进行RADIUS计费时与哪些服务器进行通信。

一个RADIUS方案中最多允许配置一个主计费服务器和16个从计费服务器。缺省情况下,当主服务器不可达时,设备根据从服务器的配置顺序由先到后查找状态为active的从服务器并与之交互。

2. 配置限制和指导

建议在不需要备份的情况下,只配置主RADIUS计费服务器即可。

在实际组网环境中,可以指定一台服务器既作为某个RADIUS方案的主计费服务器,又作为另一个RADIUS方案的从计费服务器。

在同一个方案中指定的主计费服务器和从计费服务器的VPN、IP地址、端口号不能完全相同,并且各从计费服务器的VPN、IP地址、端口号也不能完全相同。

目前RADIUS不支持对FTP/SFTP/SCP用户进行计费。

3. 配置步骤

(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 ] *

缺省情况下,未配置主RADIUS计费服务器。

(4)     (可选)配置从RADIUS计费服务器。

secondary accounting { ipv4-address | ipv6 ipv6-address } [ port-number | key { cipher | simple } string | vpn-instance vpn-instance-name ] *

缺省情况下,未配置从RADIUS计费服务器。

1.5.6  配置RADIUS报文的共享密钥

1. 功能简介

RADIUS客户端与RADIUS服务器使用MD5算法并在共享密钥的参与下生成验证字,接受方根据收到报文中的验证字来判断对方报文的合法性。只有在共享密钥一致的情况下,彼此才能接收对方发来的报文并作出响应。

由于设备优先采用配置RADIUS认证/计费服务器时指定的报文共享密钥,因此,本配置中指定的RADIUS报文共享密钥仅在配置RADIUS认证/计费服务器时未指定相应密钥的情况下使用。

2. 配置限制和指导

必须保证设备上设置的共享密钥与RADIUS服务器上的完全一致。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     配置RADIUS报文的共享密钥。

key { accounting | authentication } { cipher | simple } string

缺省情况下,未配置RADIUS报文的共享密钥。

1.5.7  配置RADIUS方案所属的VPN

1. 功能简介

该配置用于为RADIUS方案下的所有RADIUS服务器统一指定所属的VPN。RADIUS服务器所属的VPN也可以在配置RADIUS服务器的时候单独指定,且被优先使用。未单独指定所属VPN的服务器,则属于所在RADIUS方案所属的VPN。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     配置RADIUS方案所属的VPN。

vpn-instance vpn-instance-name

缺省情况下,RADIUS方案属于公网。

1.5.8  配置RADIUS服务器的状态

1. RADIUS服务器状态切换简介

RADIUS方案中各服务器的状态(activeblock)决定了设备向哪个服务器发送请求报文,以及设备在与当前服务器通信中断的情况下,如何转而与另外一个服务器进行交互。在实际组网环境中,可指定一个主RADIUS服务器和多个从RADIUS服务器,由从服务器作为主服务器的备份。当RADIUS服务器负载分担功能处于开启状态时,设备仅根据当前各服务器承载的用户负荷调度状态为active的服务器发送认证或计费请求。当RADIUS服务器负载分担功能处于关闭状态时,设备上主从服务器的切换遵从以下原则:

·     当主服务器状态为active时,设备首先尝试与主服务器通信,若主服务器不可达,则按照从服务器的配置先后顺序依次查找状态为active的从服务器。

·     只要存在状态为active的服务器,设备就仅与状态为active的服务器通信,即使该服务器不可达,设备也不会尝试与状态为block的服务器通信。

·     当主/从服务器的状态均为block时,若主服务器状态是自动设置为block且已配置主服务器,则采用主服务器进行认证或计费;若主服务器状态是被手工设置为block或未配置主服务器,则在自动设置为block状态的所有从服务器中按顺序选择从服务器进行认证或计费。

·     如果服务器不可达,则设备将该服务器的状态置为block,并启动该服务器的quiet定时器。当服务器的quiet定时器超时,或者手动将服务器状态置为active时,该服务器将恢复为active状态。

·     在一次认证或计费过程中,如果设备在尝试与从服务器通信时,之前已经查找过的服务器状态由block恢复为active,则设备并不会立即恢复与该服务器的通信,而是继续查找从服务器。如果所有已配置的服务器都不可达,则认为本次认证或计费失败。

·     如果在认证或计费过程中删除了当前正在使用的服务器,则设备在与该服务器通信超时后,将会立即从主服务器开始依次查找状态为active的服务器并与之进行通信。

·     一旦服务器状态满足自动切换的条件,则所有RADIUS方案视图下该服务器的状态都会相应地变化。

·     将认证服务器的状态由active修改为block时,若该服务器引用了RADIUS服务器探测模板,则关闭对该服务器的探测功能;反之,将认证服务器的状态由block更改为active时,若该服务器引用了一个已存在的RADIUS服务器探测模板,则开启对该服务器的探测功能。

·     缺省情况下,设备将配置了IP地址的各RADIUS服务器的状态均置为active,认为所有的服务器均处于正常工作状态,但有些情况下用户可能需要通过以下配置手工改变RADIUS服务器的当前状态。例如,已知某服务器故障,为避免设备认为其active而进行无意义的尝试,可暂时将该服务器状态手工置为block

2. 配置限制和指导

设置的服务器状态不能被保存在配置文件中,可通过display radius scheme命令查看。

设备重启后,各服务器状态将恢复为缺省状态active

3. 配置步骤

(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

1.5.9  配置RADIUS服务器的定时器

1. 定时器简介

在与RADIUS服务器交互的过程中,设备上可启动的定时器包括以下几种:

·     服务器响应超时定时器(response-timeout):如果在RADIUS请求报文发送出去一段时间后,设备还没有得到RADIUS服务器的响应,则有必要重传RADIUS请求报文,以保证用户尽可能地获得RADIUS服务,这段时间被称为RADIUS服务器响应超时时间。

·     服务器恢复激活状态定时器(quiet):当服务器不可达时,设备将该服务器的状态置为block,并开启超时定时器,在设定的一定时间间隔之后,再将该服务器的状态恢复为active。这段时间被称为RADIUS服务器恢复激活状态时长。

·     实时计费间隔定时器(realtime-accounting):为了对用户实施实时计费,有必要定期向服务器发送实时计费更新报文,通过设置实时计费的时间间隔,设备会每隔设定的时间向RADIUS服务器发送一次在线用户的计费信息。

2. 配置限制和指导

设置RADIUS服务器的定时器时,请遵循以下配置原则:

·     要根据配置的从服务器数量合理设置发送RADIUS报文的最大尝试次数和RADIUS服务器响应超时时间,避免因为超时重传时间过长,在主服务器不可达时,出现设备在尝试与从服务器通信的过程中接入模块(例如Telnet模块)的客户端连接已超时的现象。但是,有些接入模块的客户端的连接超时时间较短,在配置的从服务器较多的情况下,即使将报文重传次数和RADIUS服务器响应超时时间设置的很小,也可能会出现上述客户端超时的现象,并导致初次认证或计费失败。这种情况下,由于设备会将不可达服务器的状态设置为block,在下次认证或计费时设备就不会尝试与这些状态为block的服务器通信,一定程度上缩短了查找可达服务器的时间,因此用户再次尝试认证或计费就可以成功。

·     要根据配置的从服务器数量合理设置服务器恢复激活状态的时间。如果服务器恢复激活状态时间设置得过短,就会出现设备反复尝试与状态active但实际不可达的服务器通信而导致的认证或计费频繁失败的问题;如果服务器恢复激活状态设置的过长,则会导致已经恢复激活状态的服务器暂时不能为用户提供认证或计费服务。

·     实时计费间隔的取值对设备和RADIUS服务器的性能有一定的相关性要求,取值小,会增加网络中的数据流量,对设备和RADIUS服务器的性能要求就高;取值大,会影响计费的准确性。因此要结合网络的实际情况合理设置计费间隔的大小,一般情况下,建议当用户量比较大(大于等于1000)时,尽量把该间隔的值设置得大一些(大于15分钟)。

3. 配置步骤

(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 ]

缺省情况下,实时计费间隔为12分钟。

1.5.10  配置发送RADIUS报文使用的源IP地址

1. 功能简介

RADIUS服务器上通过IP地址来标识接入设备,并根据收到的RADIUS报文的源IP地址是否与服务器所管理的接入设备的IP地址匹配,来决定是否处理来自该接入设备的认证或计费请求。若RADIUS服务器收到的RADIUS认证或计费报文的源地址在所管理的接入设备IP地址范围内,则会进行后续的认证或计费处理,否则直接丢弃该报文。

设备发送RADIUS报文时,根据以下顺序查找使用的源IP地址:

(1)     当前所使用的RADIUS方案中配置的发送RADIUS报文使用的源IP地址。

(2)     根据当前使用的服务器所属的VPN查找系统视图下通过radius nas-ip命令配置的私网源地址,对于公网服务器则直接查找该命令配置的公网源地址。

(3)     通过路由查找到的发送RADIUS报文的出接口地址。

2. 配置限制和指导

发送RADIUS报文使用的源IP地址在系统视图和RADIUS方案视图下均可配置,系统视图下的配置将对所有RADIUS方案生效,RADIUS方案视图下的配置仅对本方案有效,并且具有高于前者的优先级。

为保证认证和计费报文可被服务器正常接收并处理,接入设备上发送RADIUS报文使用的源IP地址必须与RADIUS服务器上指定的接入设备的IP地址保持一致。

通常,该地址为接入设备上与RADIUS服务器路由可达的接口IP地址,为避免物理接口故障时从服务器返回的报文不可达,推荐使用Loopback接口地址为发送RADIUS报文使用的源IP地址。但在一些特殊的组网环境中,例如在接入设备使用VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)进行双机热备应用时,可以将该地址指定为VRRP上行链路所在备份组的虚拟IP地址。

3. 为所有RADIUS方案配置发送RADIUS报文使用的源IP地址

(1)     进入系统视图。

system-view

(2)     设置设备发送RADIUS报文使用的源IP地址。

radius nas-ip { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ]

缺省情况下,未指定发送RADIUS报文使用的源IP地址,设备将使用到达RADIUS服务器的路由出接口的主IPv4地址或IPv6地址作为发送RADIUS报文的源IP地址。

4. 为指定RADIUS方案配置发送RADIUS报文使用的源IP地址

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     设置设备发送RADIUS报文使用的源IP地址。

nas-ip { ipv4-address | ipv6 ipv6-address }

缺省情况下,未指定设备发送RADIUS报文使用的源IP地址,使用系统视图下由命令radius nas-ip指定的源IP地址。

1.5.11  配置发送给RADIUS服务器的用户名格式和数据统计单位

1. 功能简介

接入用户通常以“userid@isp-name”的格式命名,“@”后面的部分为ISP域名,设备通过该域名决定将用户归于哪个ISP域。由于有些较早期的RADIUS服务器不能接受携带有ISP域名的用户名,因此就需要设备首先将用户名中携带的ISP域名去除后再传送给该类RADIUS服务器。通过设置发送给RADIUS服务器的用户名格式,就可以选择发送RADIUS服务器的用户名中是否要携带ISP域名,以及是否保持用户输入的原始用户名格式。

设备通过发送计费报文,向RADIUS服务器报告在线用户的数据流量统计值,该值的单位可配。

2. 配置限制和指导

如果要在两个乃至两个以上的ISP域中引用相同的RADIUS方案,建议设置该RADIUS方案允许用户名中携带ISP域名,使得RADIUS服务器端可以根据ISP域名来区分不同的用户。

为保证RADIUS服务器计费的准确性,设备上设置的发送给RADIUS服务器的数据流或者数据包的单位应与RADIUS服务器上的流量统计单位保持一致。

3. 配置步骤

(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 } } *

缺省情况下,数据流的单位为字节,数据包的单位为包。

1.5.12  配置发送RADIUS报文的最大尝试次数

1. 功能简介

由于RADIUS协议采用UDP报文来承载数据,因此其通信过程是不可靠的。如果设备在应答超时定时器规定的时长内(由timer response-timeout命令配置)没有收到RADIUS服务器的响应,则设备有必要向RADIUS服务器重传RADIUS请求报文。如果发送RADIUS请求报文的累计次数已达到指定的最大尝试次数而RADIUS服务器仍旧没有响应,则设备将尝试与其它服务器通信,如果不存在状态为active的服务器,则认为本次认证或计费失败。关于RADIUS服务器状态的相关内容,请参见“1.5.8  配置RADIUS服务器的状态”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     设置发送RADIUS报文的最大尝试次数。

retry retries

缺省情况下,发送RADIUS报文的最大尝试次数为3次。

1.5.13  配置允许发起实时计费请求的最大尝试次数

1. 功能简介

通过在设备上配置发起实时计费请求的最大尝试次数,允许设备向RADIUS服务器发出的实时计费请求没有得到响应的次数超过指定的最大值时切断用户连接。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     设置允许发起实时计费请求的最大尝试次数。

retry realtime-accounting retries

缺省情况下,允许发起实时计费请求的最大尝试次数为5。

1.5.14  配置RADIUS报文的DSCP优先级

1. 功能简介

DSCP携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。通过本命令可以指定设备发送的RADIUS报文携带的DSCP优先级的取值。配置DSCP优先级的取值越大,RADIUS报文的优先级越高。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置RADIUS报文的DSCP优先级。

radius [ ipv6 ] dscp dscp-value

缺省情况下,RADIUS报文的DSCP优先级为0。

1.5.15  配置RADIUS Attribute 15的检查方式

1. 功能简介

RADIUS 15号属性为Login-Service属性,该属性携带在Access-Accept报文中,由RADIUS服务器下发给设备,表示认证用户的业务类型,例如属性值0表示Telnet业务。设备检查用户登录时采用的业务类型与服务器下发的Login-Service属性所指定的业务类型是否一致,如果不一致则用户认证失败 。由于RFC中并未定义SSH、FTP和Terminal这三种业务的Login-Service属性值,因此设备无法针对SSH、FTP、Terminal用户进行业务类型一致性检查,为了支持对这三种业务类型的检查,H3C为Login-Service属性定义了表1-4所示的扩展取值。

表1-4 扩展的Login-Service属性值

属性值

描述

50

用户的业务类型为SSH

51

用户的业务类型为FTP

52

用户的业务类型为Terminal

 

可以通过配置设备对RADIUS 15号属性的检查方式,控制设备是否使用扩展的Login-Service属性值对用户进行业务类型一致性检查。

·     严格检查方式:设备使用标准属性值和扩展属性值对用户业务类型进行检查,对于SSH、FTP、Terminal用户,当RADIUS服务器下发的Login-Service属性值为对应的扩展取值时才能够通过认证。

·     松散检查方式:设备使用标准属性值对用户业务类型进行检查,对于SSH、FTP、Terminal用户,在RADIUS服务器下发的Login-Service属性值为0(表示用户业务类型为Telnet)时才能够通过认证。

2. 配置限制和指导

由于某些RADIUS服务器不支持自定义的属性,无法下发扩展的Login-Service属性,若要使用这类RADIUS服务器对SSH、FTP、Terminal用户进行认证,建议设备上对RADIUS 15号属性值采用松散检查方式。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     配置对RADIUS Attribute 15的检查方式。

attribute 15 check-mode { loose | strict }

缺省情况下,对RADIUS Attribute 15的检查方式为strict方式。

1.5.16  开启使用RADIUS Attribute 17支持在线修改用户密码功能

1. 功能简介

设备支持使用RADIUS 17号属性来支持用户在线修改密码。开启本功能后,设备在收到用户的密码修改请求后,会向RADIUS服务器发送一个认证请求报文,在该报文中将用户的新密码和旧密码分别携带在2号、17号标准属性中。如果RADIUS服务器支持用户在线修改密码,则会响应此认证请求。

2. 配置限制和指导

目前,仅部分RADIUS服务器可支持SSL VPN接入用户在线修改密码,因此请结合实际组网环境开启本功能。若RADIUS服务器不支持此功能,请确保设备上关闭了此功能。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     开启使用RADIUS Attribute 17支持在线修改用户密码功能。

attribute 17 old-password

缺省情况下,不支持在线修改用户密码功能。

1.5.17  配置RADIUS Attribute 25的CAR参数解析功能

1. 功能简介

RADIUS的25号属性为class属性,该属性由RADIUS服务器下发给设备,但RFC中并未定义具体的用途,仅规定了设备需要将服务器下发的class属性再原封不动地携带在计费请求报文中发送给服务器即可,同时RFC并未要求设备必须对该属性进行解析。目前,某些RADIUS服务器利用class属性来对用户下发CAR参数,为了支持这种应用,可以通过本特性来控制设备是否将RADIUS 25号属性解析为CAR参数,解析出的CAR参数可被用来进行基于用户的流量监管控制。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入RADIUS方案视图。

radius scheme radius-scheme-name

(3)     开启RADIUS Attribute 25的CAR参数解析功能。

attribute 25 car

缺省情况下,RADIUS Attribute 25的CAR参数解析功能处于关闭状态。

1.5.18  配置RADIUS Attribute 31中的MAC地址格式

1. 配置限制和指导

不同的RADIUS服务器对填充在RADIUS Attribute 31中的MAC地址有不同的格式要求,为了保证RADIUS报文的正常交互,设备发送给服务器的RADIUS Attribute 31号属性中MAC地址的格式必须与服务器的要求保持一致。

2. 配置步骤

(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的格式。

1.5.19  配置Vendor ID为2011的RADIUS服务器版本号

1. 功能简介

当设备与Vendor ID为2011的RADIUS服务器交互时,需要通过本命令保证设备支持的服务器版本号与对端服务器的实际版本号一致,否则会导致部分RADIUS属性解析错误。

2. 配置步骤

(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服务器交互。

1.5.20  配置RADIUS Remanent_Volume属性的流量单位

1. 功能简介

Remanent_Volume属性为H3C自定义RADIUS属性,携带在RADIUS服务器发送给接入设备的认证响应或实时计费响应报文中,用于向接入设备通知在线用户的剩余流量值。

2. 配置限制和指导

设备管理员设置的Remanent_Volume属性流量单位应与RADIUS服务器上统计用户流量的单位保持一致,否则设备无法正确使用Remanent_Volume属性值对用户进行计费。

3. 配置步骤

(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属性的流量单位是千字节。

1.5.21  配置设备使用的Acct-Session-Id属性模式

1. 功能简介

不同厂商的RADIUS服务器支持的Acct-Session-Id属性的格式可能有所不同,可通过本配置指定设备使用的Acct-Session-Id属性格式:

·     普通模式(common):该模式下的Acct-Session-Id属性取值长度为38个字符,由前缀、日期时间、序列号、接入节点的LIP地址、设备ID以及进程的Job ID信息组成。

·     精简模式(simplified):该模式下的Acct-Session-Id属性取值长度为16个字符,由前缀、月份值、序列号、设备ID以及接入节点的LIP地址信息组成。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置设备使用的Acct-Session-Id属性模式。

aaa session-id mode { common | simplified }

缺省情况下,设备使用的Acct-Session-Id属性模式为普通模式。

1.5.22  配置RADIUS属性解释功能

1. 功能简介

不同厂商的RADIUS服务器所支持的RADIUS属性集有所不同,而且相同属性的用途也可能不同。为了兼容不同厂商的服务器的RADIUS属性,需要开启RADIUS属性解释功能,并定义相应的RADIUS属性转换规则和RADIUS属性禁用规则。

开启RADIUS解释功能后,设备在发送和接收RADIUS报文时,可以按照配置的属性转换规则以及属性禁用规则对RADIUS报文中的属性进行不同的处理:

·     设备发送RADIUS报文时,将报文中匹配上禁用规则的属性从报文中删除,将匹配上转换规则的属性替换为指定的属性;

·     设备接收RADIUS报文时,不处理报文中匹配上禁用规则的属性,将匹配上转换规则的属性解析为指定的属性。

如果设备需要按照某种既定规则去处理一些无法识别的其他厂商的私有RADIUS属性,可以定义RADIUS扩展属性。通过自定义RADIUS扩展属性,并结合RADIUS属性转换功能,可以将系统不可识别的属性映射为已知属性来处理。

2. 配置限制和指导

在一个RADIUS方案视图下,对于同一个RADIUS属性,存在以下配置限制:

·     如果已经配置了禁用规则,则不允许再配置转换规则;反之亦然。

·     基于方向(receivedsent)的规则和基于报文类型(access-acceptaccess-requestaccounting)的规则,不能同时配置,只能存在一种。

·     对于基于方向的规则,可以同时存在两条不同方向的规则;对于基于报文类型的规则,可以存在同时存在三条不同类型的规则。

3. 配置RADIUS属性解释功能(基于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方案视图。

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属性禁用规则。

4. 配置RADIUS属性解释功能(基于RADIUS DAE服务器)

(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

(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属性禁用。