02-AAA配置
本章节下载: 02-AAA配置 (575.24 KB)
1.7.12 配置RADIUS的accouting-on功能
1.7.15 配置RADIUS Attribute 25的CAR参数解析功能
1.8.1 Telnet用户通过RADIUS服务器认证、授权、计费的应用配置
1.8.2 Telnet用户通过local认证和授权、RADIUS计费的应用配置
l 产品对相关命令参数的支持情况、缺省值及取值范围的差异内容请参见“特性差异化列表”部分。
l 设备支持的接口类型和编号与设备的实际情况相关,本手册涉及以太网接口的配置举例统一使用Eth口举例说明。实际使用中请根据具体设备的接口类型和编号进行配置。
l 本手册中所述的AP设备可以指代一般意义下的AP设备和无线网桥、无线Mesh设备。
AAA是Authentication、Authorization、Accounting(认证、授权、计费)的简称,是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。
AAA一般采用客户机/服务器结构,客户端运行于NAS(Network Access Server,网络接入服务器)上,服务器上则集中管理用户信息。NAS对于用户来讲是服务器端,对于服务器来说是客户端。AAA的基本组网结构如图1-1所示。
图1-1 AAA基本组网结构示意图
当用户想要通过某网络与NAS建立连接,从而获得访问其它网络的权利或取得某些网络资源的权利时,NAS起到了验证用户或对应连接的作用。NAS负责把用户的认证、授权、计费信息透传给服务器(RADIUS服务器或HWTACACS服务器),RADIUS协议或HWTACACS协议规定了NAS与服务器之间如何传递用户信息。
图1-1的AAA基本组网结构中有两台服务器,用户可以根据实际组网需求来决定认证、授权、计费功能分别由使用哪种协议类型的服务器来承担。例如,可以选择HWTACACS服务器实现为认证、授权,RADIUS服务器来实现计费。
这三种安全服务功能的具体作用如下:
l 认证:确认远端访问用户的身份,判断访问者是否为合法的网络用户;
l 授权:对不同用户赋予不同的权限,限制用户可以使用的服务。例如用户成功登录服务器后,管理员可以授权用户对服务器中的文件进行访问和打印操作;
l 计费:记录用户使用网络服务中的所有操作,包括使用的服务类型、起始时间、数据流量等,它不仅是一种计费手段,也对网络安全起到了监视作用。
当然,用户可以只使用AAA提供的一种或两种安全服务。例如,公司仅仅想让员工在访问某些特定资源的时候进行身份认证,那么网络管理员只要配置认证服务器就可以了。但是若希望对员工使用网络的情况进行记录,那么还需要配置计费服务器。
如上所述,AAA是一种管理框架,它提供了授权部分实体去访问特定资源,同时可以记录这些实体操作行为的一种安全机制,因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。
AAA可以通过多种协议来实现,目前设备仅支持基于RADIUS协议来实现AAA。
RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。该协议定义了基于UDP的RADIUS帧格式及其消息传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。
RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入、ADSL接入。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。
l 客户端:RADIUS客户端一般位于NAS设备上,可以遍布整个网络,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
l 服务器:RADIUS服务器运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。
RADIUS服务器通常要维护三个数据库,如图1-2所示:
图1-2 RADIUS服务器的组成
l “Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
l “Clients”:用于存储RADIUS客户端的信息(如接入设备的共享密钥、IP地址等)。
l “Dictionary”:用于存储RADIUS协议中的属性和属性值含义的信息。
RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共享密钥不能通过网络来传输,增强了信息交互的安全性。另外,为防止用户密码在不安全的网络上传递时被窃取,在传输过程中对密码进行了加密。
RADIUS服务器支持多种方法来认证用户,如基于PPP的PAP、CHAP认证。另外,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) 用户请求断开连接,RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request)。
(8) RADIUS服务器返回计费结束响应包(Accounting-Response),并停止计费。
(9) 用户结束访问网络资源。
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)的长度,范围从20~4096。超过Length域的字节将作为填充字符被忽略。如果接收到的包的实际长度小于Length域的值时,则包会被丢弃。
(4) Authenticator域
长度为16个字节,用于验证RADIUS服务器的应答,另外还用于用户密码的加密。Authenticator包括两种类型:Request Authenticator和Response Authenticator。
(5) Attribute域
不定长度,用于携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节。Attribute可包括多个属性,每一个属性都采用(Type、Length、Value)三元组的结构来表示。
l 类型(Type),1个字节,取值为1~255,用于表示属性的类型,表1-2列出了RADIUS认证、授权、计费常用的属性。
l 长度(Length),表示该属性(包括类型、长度和属性)的长度,单位为字节。
l 属性值(Value),表示该属性的信息,其格式和内容由类型和长度决定,最大长度为253字节。
属性编号 |
属性名称 |
属性编号 |
属性名称 |
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 |
l 表1-2中所列的属性由RFC 2865、RFC 2866、RFC2867和RFC2568分别定义。
l 常用RADIUS标准属性的介绍请参见“2.1 常用RADIUS标准属性”。
RADIUS协议具有良好的可扩展性,协议(RFC 2865)中定义的26号属性(Vendor-Specific)用于设备厂商对RADIUS进行扩展,以实现标准RADIUS没有定义的功能。
设备厂商可以封装多个自定义的“(Type、Length、Value)”子属性来扩展RADIUS。如图1-5所示,26号属性报文内封装的子属性包括以下四个部分:
l Vendor-ID域占4字节,表示厂商代号,最高字节为0,其余3字节的编码见RFC 1700。H3C公司的Vendor-ID是2011。H3C RADIUS标准属性的介绍请参见“2.2 H3C RADIUS扩展属性”。
l Vendor-Type,表示扩展属性的子属性类型。
l Vendor-Length,表示该子属性长度。
l Vendor-Data,表示该子属性的内容。
一个ISP(Internet Service Provider,Internet服务提供者)域是由属于同一个ISP的用户构成的群体。
NAS设备对用户的管理是基于ISP域的,每个接入用户都属于一个ISP域。用户所属的ISP域是由用户登录时提供的用户名决定的,如图1-6所示。
用户的认证、授权、计费都是在相应的ISP域视图下应用预先配置的认证、授权、计费方案来实现的。AAA有缺省的认证、授权、计费方案,分别为本地认证、本地授权、本地计费。如果用户所属的ISP域下未应用任何认证、授权、计费方案,系统将使用缺省的认证、授权、计费方案。
为便于对不同接入方式或服务类型的用户进行区分管理,AAA将用户划分为以下几个类型:
l lan-access用户:LAN接入用户,如802.1X认证、MAC地址认证用户。
l login用户:登录设备用户,如SSH、Telnet、FTP、终端接入用户。
l PPP用户:PPP接入用户
l 命令行用户:命令行授权用户,该类型用户可使用的命令行需要服务器授权。
l 级别切换用户:在不退出当前登录、不断开当前连接的前提下,可进行用户级别切换操作的一类用户。
AAA支持在ISP域视图下针对不同的接入方式配置不同的认证、授权、计费的方法(一组不同的认证/授权/计费方案),具体的配置步骤请参见“1.6 配置AAA”。
命令行用户只能单独配置授权、计费方法,分别用来支持对设备的配置命令进行授权使用,和对用户使用过的命令进行记录。
与AAA相关的协议规范有:
l RFC 2865:Remote Authentication Dial In User Service (RADIUS)
l RFC 2866:RADIUS Accounting
l RFC 2867:RADIUS Accounting Modifications for Tunnel Protocol Support
l RFC 2868:RADIUS Attributes for Tunnel Protocol Support
l RFC 2869:RADIUS Extensions
AAA的基本配置思路如下:
(1) 配置AAA方案。根据需要配置本地或远程认证方案。
l 本地认证:需要配置本地用户,即local user的相关属性,包括手动添加认证的用户名和密码等;
l 远程认证:需要配置RADIUS方案,并在服务器上配置相应的用户属性。
(2) 配置实现AAA的方法。在用户所属的ISP域中引用已配置的AAA方案。
l 认证方法:可选择不认证(none)、本地认证(local)或远程认证(scheme);
l 授权方法:可选择不授权(none)、本地授权(local)或远程授权(scheme);
l 计费方法:可选择不计费(none)、本地计费(local)或远程计费(scheme)。
图1-7 AAA基本配置思路流程图
对于Login用户,在以上配置之前还需要配置登录用户界面的认证方式为scheme。有关登录用户界面认证方式的详细介绍请参见“基础配置指导”中的“登录设备”。
表1-3 AAA配置任务简介
说明 |
详细配置 |
|
创建ISP域 |
必选 |
|
配置ISP域的属性 |
可选 |
|
配置ISP域的AAA认证方案 |
必选 |
|
配置ISP域的AAA授权方案 |
可选 |
|
配置ISP域的AAA计费方案 |
可选 |
|
配置本地用户的属性 |
可选 |
|
配置强制切断用户连接 |
可选 |
|
配置NAS-ID与VLAN的绑定 |
可选 |
|
AAA显示和维护 |
可选 |
表1-4 RADIUS配置任务简介
配置任务 |
说明 |
详细配置 |
创建RADIUS方案 |
必选 |
|
配置RADIUS认证/授权服务器 |
必选 |
|
配置RADIUS计费服务器及相关参数 |
可选 |
|
配置RADIUS报文的共享密钥 |
必选 |
|
配置RADIUS报文的超时重传次数的最大值 |
可选 |
|
配置支持的RADIUS服务器的类型 |
可选 |
|
配置RADIUS服务器的状态 |
可选 |
|
配置发送给RADIUS服务器的数据相关属性 |
可选 |
|
配置RADIUS的Trap功能 |
可选 |
|
配置发送RADIUS报文使用的源地址 |
可选 |
|
配置RADIUS服务器的定时器 |
可选 |
|
配置RADIUS的accounting-on功能 |
可选 |
|
配置RADIUS服务器的安全策略服务器 |
可选 |
|
使能RADIUS客户端的监听端口 |
可选 |
|
配置RADIUS Attribute 25的CAR参数解析功能 |
可选 |
|
RADIUS显示和维护 |
可选 |
AAA功能可以在为合法用户提供网络接入服务的同时,对网络设备进行保护,防止非授权访问和抵赖行为。同时,通过配置ISP域可以对接入用户进行AAA等管理。
进行远端认证、授权或计费时,需要已经创建RADIUS方案:
RADIUS方案(radius-scheme):通过引用已配置的RADIUS方案来实现认证、授权、计费。有关RADIUS方案的配置请参见“1.7 配置RADIUS”。
在多ISP的应用环境中,不同ISP域的用户有可能接入同一台设备。而且各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能不相同,因此有必要通过设置ISP域把它们区分开,并为每个ISP域单独配置包括AAA方法(一组不同的认证/授权/计费方案)在内的属性集。
对于设备来说,每个接入用户都属于一个ISP域。系统中最多可以配置16个ISP域。如果某个用户在登录时没有提供ISP域名,系统将把它归于缺省的ISP域。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP域并进入其视图 |
domain isp-name |
必选 |
返回系统视图 |
quit |
- |
手工配置缺省的ISP域 |
domain default enable isp-name |
可选 缺省情况下,系统缺省的ISP域为system |
l 配置为缺省的ISP域不能够被删除,除非首先使用命令domain default disable将其修改为非缺省ISP域。
l 若用户登录时输入的用户名未携带ISP域名,则用户使用缺省ISP域下的认证方案。
表1-6 配置ISP域的属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ISP域视图 |
domain isp-name |
- |
设置ISP域的状态 |
state { active | block } |
可选 缺省情况下,当一个ISP域被创建以后,其状态为active,即允许任何属于该域的用户请求网络服务 |
设置当前ISP域可容纳接入用户数的限制 |
access-limit enable max-user-number |
可选 缺省情况下,不对当前ISP域可容纳的接入用户数作限制 |
设置用户闲置切断功能 |
idle-cut enable minute flow |
可选 缺省情况下,用户闲置切断功能处于关闭状态 此命令目前只对lan-access和PPP服务类型的用户有效 |
设置自助服务器定位功能 |
self-service-url enable url-string |
可选 缺省情况下,自助服务器定位功能处于关闭状态 |
定义为PPP用户分配IP地址的地址池 |
ip pool pool-number low-ip-address [ high-ip-address ] |
可选 缺省情况下,没有定义为PPP用户分配IP地址的IP地址池 |
自助服务器定位功能需要与支持自助服务的RADIUS服务器配合使用,如CAMS/iMC。安装自助服务软件的服务器即自助服务器。通过使用自助服务,用户可以对自己的帐号或卡号进行管理和控制。
在AAA中,认证、授权和计费是三个独立的业务流程。认证的职责是完成各接入或服务请求的用户名/密码/用户信息的交互认证过程,它不会下发授权信息给请求用户,也不会触动计费的流程。
AAA支持以下认证方法:
l 不认证(none):对用户非常信任,不对其进行合法性检查,一般情况下不采用这种方法。
l 本地认证(local):认证过程在接入设备上完成,用户信息(包括用户名、密码和各种属性)配置在接入设备上。优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。
l 远端认证(scheme):认证过程在接入设备和远端的服务器之间完成,接入设备和远端服务器之间通过RADIUS协议通信。对于RADIUS协议,可以采用标准或扩展的RADIUS协议,与CAMS/iMC等系统配合完成认证。优点是用户信息集中在服务器上统一管理,可实现大容量、高可靠性、支持多设备的集中式统一认证。当远端服务器无效时,可配置本地认证作为备选认证方式完成认证。
在AAA中,可以只使用认证,而不使用授权或计费。如果用户没有进行任何配置,则ISP域的缺省认证方案为local。
配置认证有三个步骤:
(1) 如果用户使用RADIUS认证,则需要先配置要引用的RADIUS方案;如果使用local或none认证,则不需要配置方案。
(2) 确定要配置的接入方式或者服务类型。AAA可以对不同的接入方式和服务类型配置不同的认证方案,并且从配置上限制了用户接入时使用的认证协议。
(3) 确定是否为所有的接入方式或服务类型配置认证方案。
表1-7 配置ISP域的AAA认证方案
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ISP域视图 |
domain isp-name |
- |
为所有类型的用户配置缺省的认证方案 |
authentication default { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,所有类型的用户采用local认证方案 |
为lan-access用户配置认证方案 |
authentication lan-access { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,lan-access用户采用缺省的认证方案 |
为login用户配置认证方案 |
authentication login { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,login用户采用缺省的认证方案 |
为PPP用户配置认证方案 |
authentication ppp { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,PPP用户采用缺省的认证方案 |
为级别切换用户配置认证方案 |
authentication super radius-scheme radius-scheme-name |
可选 缺省情况下,级别切换用户采用缺省的认证方案 |
为WAPI用户配置认证方案 |
authentication wapi { none | radius-scheme radius-scheme-name } |
可选 缺省情况下,WAPI用户采用缺省的认证方案 |
l authentication default命令配置的认证方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l 当RADIUS被配置选择为认证方案时,AAA只接受RADIUS服务器的认证结果,RADIUS授权的信息虽然在认证成功回应的报文中携带,但在认证回应的处理流程中不会被处理。
l 如果配置了radius-scheme radius-scheme-name local,则local为远端服务器没有正常响应后的备选认证方案。
l 如果local或者none作为第一认证方案,那么只能采用本地认证或者不进行认证,不能再同时采用RADIUS方案。
l 当级别切换用户的认证方案为RADIUS方案时,系统使用RADIUS服务器上配置的“$enab+level”形式的用户名替换原有用户名(登录用户名或用户输入的用户名)进行用户级别切换认证,其中level为用户希望切换到的级别。例如,用户希望切换到级别3,输入的用户名为“user1”,在要求携带域名认证的情况下,系统使用用户名“$enab3@domain_name”进行用户级别切换认证,否则使用“$enab3”进行用户级别切换认证。
l 关于用户级别切换的详细介绍及配置请参见“基础配置指导”中的“系统基本配置操作”。
在AAA中,授权是一个和认证、计费同级别的独立流程,其职责是发送授权请求给所配置的授权服务器,授权通过后向用户下发授权信息。在ISP域的AAA配置中,授权方案为可选配置。
AAA支持以下授权方法:
l 直接授权(none):对用户非常信任,直接授权用户的权限为接入设备允许用户所使用默认权限。
l 本地授权:(local):授权过程在接入设备上进行,根据接入设备上为本地用户配置的相关属性进行授权。
l 远端授权(scheme):授权过程在接入设备和远端服务器之间完成。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。RADIUS认证成功后,才能进行授权,RADIUS授权信息携带在认证回应报文中下发给用户。当远端服务器无效时,可配置本地授权或直接授权作为备选授权方式完成授权。
如果用户没有进行任何配置,则ISP域的缺省授权方案为local。如果用户配置的授权方案为none,则意味着用户是不需要授权的,此时,认证通过的用户只有系统所给予的默认权限。EXEC用户(控制台用户,可以通过console或者Telnet连接设备,每个连接称为一个EXEC用户,如Telnet用户、SSH用户)的默认级别为最低权限的访问级。FTP用户被默认授权使用设备的根目录。
配置授权有三个步骤:
(1) 如果用户要使用RADIUS授权,只有将认证和授权的RADIUS方案配置相同,授权才起作用。
(2) 确定要配置的接入方式或者服务类型,AAA可以按照不同的接入方式和服务类型进行AAA授权的配置,并且从配置上正确限制了接入所能使用的授权协议。
(3) 确定是否为所有的接入方式或服务类型配置授权方案。
表1-8 配置ISP域的AAA授权方案
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ISP域视图 |
domain isp-name |
- |
为所有类型的用户配置缺省的授权方案 |
authorization default { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,所有类型的用户采用local授权方案 |
为命令行用户配置授权方案 |
authorization command { local | none } |
可选 缺省情况下,命令行用户采用缺省的授权方案 |
为lan-access用户配置授权方案 |
authorization lan-access { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,lan-access用户采用缺省的授权方案 |
为login用户配置授权方案 |
authorization login { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,login用户采用缺省的授权方案 |
为PPP用户配置授权方案 |
authorization ppp { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,PPP用户采用缺省的授权方案 |
为WAPI用户配置授权方案 |
authorization wapi { none | radius-scheme radius-scheme-name } |
可选 缺省情况下,WAPI用户采用缺省的授权方案 |
l authorization default命令配置的授权方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l RADIUS授权是特殊的流程,只是在认证和授权的RADIUS方案相同的条件下,RADIUS授权才起作用。对于所有RADIUS授权失败的情况,授权失败返回给NAS的原因为服务器没有响应。
l 如果配置了radius-scheme radius-scheme-name local,则local为远端服务器没有正常响应后的备选授权方案。
l 如果local或者none作为第一授权方案,那么只能采用本地授权或者不进行授权,不能再同时采用RADIUS方案。
l RADIUS服务器的授权信息是随认证应答报文发给RADIUS客户端的,故不能单独指定授权服务器。因此,如果指定的认证和授权方案是RADIUS方案,必须保证认证和授权的方案相同,否则系统会给出错误提示。
在AAA中,计费是一个和认证、授权同级别的独立流程,其职责为发送计费开始/更新/结束请求给所配置的计费服务器。计费不是必须使用的。在ISP域的AAA配置中,允许不配置计费方案。如果不配置计费方案,则ISP域的缺省计费方案为local。
AAA支持以下计费方式:
l 不计费(none):不对用户计费。
l 本地计费(local):计费过程在接入设备上完成,实现了本地用户连接数的统计和限制,并没有实际的费用统计功能。
l 远端计费(scheme):计费过程在接入设备和远端的服务器之间完成。当远端服务器无效时,可配置本地计费作为备选计费方式完成计费。
配置计费有三个步骤:
(1) 如果用户要使用RADIUS计费,则需要先配置要引用的RADIUS方案;如果要使用local或none计费,则不需要配置方案。
(2) 确定要配置的接入方式或者服务类型,AAA可以支持为按照不同的接入方式和服务类型进行AAA计费的配置,并且从配置上正确限制了接入所能使用的计费协议。
(3) 确定是否为所有的接入方式或服务类型配置计费方案。
表1-9 配置ISP域的AAA计费方案
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入ISP域视图 |
domain isp-name |
- |
打开计费可选开关 |
accounting optional |
可选 缺省情况下,ISP域的计费开关处于关闭状态 |
为所有类型的用户配置缺省的计费方案 |
accounting default { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,所有类型的用户采用local计费方案 |
为lan-access用户配置计费方案 |
accounting lan-access { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,lan-access用户采用缺省的计费方案 |
为login用户配置计费方案 |
accounting login {local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,login用户采用缺省的计费方案 |
为PPP用户配置计费方案 |
accounting ppp { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,PPP用户采用缺省的计费方案 |
为WAPI用户配置计费方案 |
accounting wapi radius-scheme { none | radius-scheme-name } |
可选 缺省情况下,WAPI用户采用缺省的计费方案 |
l 在对用户实施计费时,如果发现没有可用的计费服务器或与计费服务器通信失败,若配置了accounting optional命令,则用户可以继续使用网络资源,否则用户连接将被切断。
l 本地计费方案并不用于对用户实施实际的计费功能,只是用来配合本地用户视图下的access-limit命令来实现本地用户连接数的限制功能。在计费可选开关打开的情况下,本地用户的连接数限制功能不生效。
l accounting default命令配置的计费方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l 如果配置了radius-scheme radius-scheme-name local,则local为远端服务器没有正常响应后的备选计费方案。
l 如果local或者none作为第一计费方案,那么只能采用本地认证或者不进行计费,不能再同时采用RADIUS方案。
l login类型的接入中FTP方式不支持计费流程。
当AAA方案选择了本地认证方案(local)时,应在设备上创建本地用户并配置相关属性。
所谓本地用户,是指在本地设备上设置的一组用户的集合。该集合以用户名为用户的唯一标识。为使某个请求网络服务的用户可以通过本地认证,需要在设备上的本地用户数据库中添加相应的表项。
表1-10 配置本地用户的属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置本地用户密码的显示方式 |
local-user password-display-mode { auto | cipher-force } |
可选 缺省情况下,所有接入用户的密码显示方式为auto,表示按照用户设置密码时指定的密码显示方式显示 |
添加本地用户,并进入本地用户视图 |
local-user user-name |
必选 缺省情况下,系统中没有任何本地用户 |
设置本地用户的密码 |
password { cipher | simple } password |
可选 |
设置本地用户的状态 |
state { active | block } |
可选 缺省情况下,当一个本地用户被创建以后,其状态为active,允许该用户请求网络服务 |
设置本地用户名可容纳的最大接入用户数 |
access-limit max-user-number |
可选 缺省情况下,不限制当前本地用户名可容纳的接入用户数 |
设置本地用户可以使用的服务类型 |
service-type { ftp | lan-access | { ssh | telnet | terminal } * telnet | ppp } |
可选 缺省情况下,系统不对用户授权任何服务 |
设置本地用户的绑定属性 |
bind-attribute { call-number call-number [ : subcall-number ] | ip ip-address | location port slot-number subslot-number port-number | mac mac-address | vlan vlan-id } * |
可选 缺省情况下,未设置本地用户的任何绑定属性 |
设置本地用户的授权属性 |
authorization-attribute { acl acl-number | callback-number callback-number | idle-cut minute | level level | vlan vlan-id | work-directory directory-name } * |
可选 缺省情况下,未设置本地用户的任何授权属性 |
设置本地用户的有效期 |
expiration-date time |
可选 缺省情况下,未设置本地用户的有效期 有用户临时需要接入网络时,可以建立来宾帐户来管理用户的临时访问,并通过该命令对用户帐户的有效期进行控制 |
l 当采用local-user password-display-mode cipher-force命令后,即使用户通过password命令指定密码明文显示(即simple方式),密码也会显示为密文。同样,若强制用户密码密文显示并使用save命令保存当前配置,重启设备后,即使恢复为auto方式,原来配置为明文显示的密码仍然显示为密文。
l 本地用户的access-limit命令只在配置了本地计费方案的情况下生效。
l 本地用户的service-type是本地认证的检测项。如果没有用户可以使用的服务类型,则该用户无法正常认证通过。
l 如果配置登录设备的认证方式需要用户名和密码(包括本地认证、RADIUS认证),则用户登录系统后所能访问的命令级别由用户的优先级确定,其它认证方式下则由用户界面的优先级确定。关于登录设备的认证方式与用户访问命令级别的详细介绍请参见“基础配置指导”中的“登录设备”。
l 配置的绑定属性是本地用户进行认证时需要检测的属性,如果检测不通过,则认证失败,因此在配置绑定属性时要考虑该用户是否需要绑定某些属性。
l 可配置的授权属性都有其明确的使用环境和用途,因此配置下发的授权属性时要考虑该用户是否需要某些属性。例如,PPP接入用户不需要授权的目录,因此就不要设置PPP用户的work-directory属性。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
强制切断指定AAA用户的连接 |
cut connection { all | domain isp-name | ucibindex ucib-index | user-name user-name | vlan vlan-id } |
必选 此命令目前只对lan-access和PPP服务类型的用户有效 |
在某些应用环境中,依靠VLAN来确定用户的接入位置,而网络运营商需要使用接入设备发送给RADIUS服务器的NAS-Identifier属性值来标识用户的接入位置,因此接入设备上需要将NAS-ID和VLAN进行绑定。当用户上线时,与用户接入VLAN匹配的NAS-ID将被作为RADIUS请求报文中的NAS-Identifier属性值发送给RADIUS服务器。
表1-12 配置NAS-ID与VLAN的绑定
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建NAS-ID Profile,并进入NAS-ID-Profile视图 |
aaa nas-id profile profile-name |
必选 |
设置NAS-ID 与VLAN的绑定关系 |
nas-id nas-identifier bind vlan vlan-id |
必选 缺省情况下,未设置任何绑定关系 |
完成上述配置后,在任意视图下执行display命令可以显示配置后AAA的运行情况,通过查看显示信息验证配置的效果。
表1-13 AAA显示和维护
操作 |
命令 |
显示所有或指定ISP域的配置信息 |
display domain [ isp-name ] |
显示AAA用户连接的相关信息 |
display connection [ domain isp-name | ucibindex ucib-index | user-name user-name ] |
显示本地用户相关信息 |
display local-user [ idle-cut { disable | enable } | service-type { ftp | lan-access | ppp | ssh | telnet | terminal } | state { active | block } | user-name user-name | | vlan vlan-id ] |
RADIUS配置是以RADIUS方案为单位进行的。当创建一个新的RADIUS方案之后,需要对属于此方案的RADIUS服务器的IP地址和UDP端口号进行设置,这些服务器包括认证/授权和计费服务器,而每种服务器又有主服务器和从服务器的区别。每个RADIUS方案的属性包括:主服务器的IP地址、从服务器的IP地址、共享密钥以及RADIUS服务器类型等。
RADIUS配置仅仅定义了设备和RADIUS服务器之间进行信息交互所必须的一些参数。为了使这些参数能够生效,还必须在某个ISP域视图下指定该域引用的RADIUS方案。具体配置细节,请参见“1.6 配置AAA”。
对于RADIUS,在有用户在线的情况下,除报文重传次数和定时器之外,其它配置均不能修改。
在进行RADIUS的其它配置之前,必须先创建RADIUS方案并进入其视图。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
一个RADIUS方案可以同时被多个ISP域引用。
表1-15 配置RADIUS认证/授权服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
配置主RADIUS认证/授权服务器 |
primary authentication { ip-address | ipv6 ipv6-address } [ port-number ] |
二者必选其一 缺省情况下,未配置主认证/授权服务器和从认证/授权服务器 两者同时配置的情况下,当主服务器不可达时,设备将使用从服务器进行认证 |
配置从RADIUS认证/授权 |
secondary authentication { ip-address | ipv6 ipv6-address } [ port-number ] |
l 建议在不需要备份的情况下,只配置主RADIUS认证/授权服务器即可。
l 在实际组网环境中,可以指定两台RADIUS服务器分别作为主、从认证/授权服务器;也可以指定一台服务器既作为某个方案的主认证/授权服务器,又作为另一个方案的从认证/授权服务器。
l 在同一个方案中指定的主认证/授权服务器和从认证/授权服务器的IP地址不能相同,否则将提示配置不成功。
l 主服务器和从服务器的IP地址版本必须保持一致;认证/授权服务器和计费服务器的IP地址版本也必须保持一致。
表1-16 配置RADIUS计费服务器及相关参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
- |
配置主RADIUS计费服务器 |
primary accounting {ip-address | ipv6 ipv6-address } [ port-number ] |
二者必选其一 缺省情况下,未配置主/从计费服务器 两者同时配置的情况下,当主服务器不可达时,设备将使用从服务器进行计费 |
配置从RADIUS计费服务器 |
secondary accounting { ip-address ipv6 ipv6-address } [ port-number ] |
|
使能停止计费报文缓存功能 |
stop-accounting-buffer enable |
可选 缺省情况下,使能停止计费报文缓存功能 |
设置当出现没有得到响应的停止计费请求时,将该报文存入设备缓存后,允许停止计费请求无响应的最大次数 |
retry stop-accounting retry-times |
可选 缺省情况下,允许停止计费请求无响应的最大次数为500 |
设置允许实时计费请求无响应的最大次数 |
retry realtime-accounting retry-times |
可选 缺省情况下,最多允许5次实时计费请求无响应 |
l 建议在不需要备份的情况下,只配置主RADIUS计费服务器即可。
l 在实际组网环境中,可以指定两台RADIUS服务器分别作为主、从计费服务器;也可以指定一台服务器既作为某个方案的主计费服务器,又作为另一个方案的从计费服务器。此外,由于RADIUS协议采用不同的UDP端口来收发认证/授权和计费报文,因此必须将认证/授权端口号和计费端口号配置得不同。
l 如果RADIUS计费服务器对设备发出的停止计费请求报文没有响应,且设备使能了停止计费报文缓存功能,设备应将其缓存在本机上,然后重新发送直到RADIUS计费服务器产生响应,或者在重新发送的次数达到指定的次数限制后将其丢弃。
l 设备提供对连续实时计费请求无响应次数限制的设置——在设备向RADIUS服务器发出的实时计费请求没有得到响应的次数超过所设定的限度时,设备将切断用户连接。
l 主计费服务器和从计费服务器的IP地址不能相同,否则将提示配置不成功。
l 目前RADIUS不支持对FTP用户进行计费。
l 主服务器和从服务器的IP地址版本必须保持一致;计费服务器和认证/授权服务器的IP地址版本也必须保持一致。
RADIUS客户端与RADIUS服务器使用MD5算法来加密RADIUS报文,双方通过设置共享密钥来验证报文的合法性。只有在密钥一致的情况下,彼此才能接收对方发来的报文并作出响应。
表1-17 配置RADIUS报文的共享密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
配置RADIUS认证/授权或计费报文的共享密钥 |
key { accounting | authentication } string |
必选 缺省情况下,无密钥 |
必须保证设备上设置的共享密钥与RADIUS服务器上的完全一致。
由于RADIUS协议采用UDP报文来承载数据,因此其通信过程是不可靠的。如果RADIUS服务器在应答超时定时器规定的时长内没有响应设备,则设备有必要向RADIUS服务器重传RADIUS请求报文。如果累计的传送次数超过最大传送重传次数而RADIUS服务器仍旧没有响应,则设备将认为本次认证失败。
表1-18 配置RADIUS报文的超时重传次数最大值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
设置RADIUS报文超时重传次数的最大值 |
retry retry-times |
可选 缺省情况下,RADIUS报文超时重传次数的最大值为3次 |
l RADIUS报文超时重传次数的最大值与RADIUS服务器应答超时时间的乘积不能超过75秒。
l RADIUS服务器应答超时时间的配置请参考命令timer response-timeout。
表1-19 配置支持的RADIUS服务器的类型
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
设置支持何种类型的RADIUS服务器 |
server-type { extended | standard } |
可选 缺省情况下,设备支持的RADIUS服务器类型为standard |
l 当设备系统支持的RADIUS服务器类型的配置被更改时,会将原有的发送到RADIUS服务器的数据流的单位恢复为缺省情况。
l 使用CAMS/iMC服务器时,RADIUS服务器类型应选择extended类型;使用其它第三方RADIUS服务器时,RADIUS服务器类型可以选择standard类型或extended类型。
对于某个RADIUS方案中的主、从服务器(无论是认证/授权服务器还是计费服务器),当主服务器与设备的通信中断时,设备会主动地转而与从服务器交互报文。在主备服务器均可达的条件下,设备遵从主服务器优先的原则发送请求报文。
当主服务器不可达时,状态变为block,设备与已配置了IP地址的从服务器交互。
l 若从服务器可达,设备将开启超时定时器,在timer quiet设定的时间达到后主服务器状态立即恢复为active,从服务器状态不变;
l 若从服务器不可达,设备立即将主服务器状态恢复为active。
之后,如果主服务器恢复正常,设备会立即恢复与其通信,而中断与从服务器通信。而计费开始后,客户端与从计费服务器之间的通信不会因为主计费服务器的恢复而切换。
表1-20 配置RADIUS服务器的状态
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
设置主RADIUS认证/授权服务器的状态 |
state primary authentication { active | block } |
可选 缺省情况下,RADIUS方案中配置了IP地址的各RADIUS服务器的状态均为active |
设置主RADIUS计费服务器的状态 |
state primary accounting { active | block } |
|
设置从RADIUS认证/授权服务器的状态 |
state secondary authentication { active | block } |
|
设置从RADIUS计费服务器的状态 |
state secondary accounting { active | block } |
l 当主服务器与从服务器的状态都为block时,若希望使用从服务器进行认证,必须将从服务器的状态手工配置为active,否则无法完成主从服务器的切换。
l 在一个服务器状态为active、另外一个服务器状态为block的情况下,即使状态为active的服务器不可达,设备也不会进行主从服务器的切换。
l state命令设置的服务器状态属于动态信息,不能被保存在配置文件中,设备重启后,服务器状态恢复为缺省状态active。
表1-21 配置发送给RADIUS服务器的数据相关属性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
|
设置发送给RADIUS服务器的用户名格式 |
user-name-format { keep-original | with-domain | without-domain } |
可选 缺省情况下,设备发送给RADIUS服务器的用户名携带有ISP域名 |
设置发送给RADIUS服务器的数据流的单位 |
data-flow-format { data { byte | giga-byte | kilo-byte | mega-byte } | packet { giga-packet | kilo-packet | mega-packet | one-packet } } * |
可选 缺省情况下,数据的单位为byte,数据包的单位为one-packet |
l 由于有些较早期的RADIUS服务器不能接受携带有ISP域名的用户名,因此必需将用户名的域名去除后再传送给RADIUS服务器。可以通过命令user-name-format without-domain来指定发送给RADIUS服务器的用户名不携带ISP域名。
l 如果指定某个RADIUS方案不允许用户名中携带有ISP域名,那么请不要在两个乃至两个以上的ISP域中同时设置使用该RADIUS方案,否则,会出现虽然实际用户不同(在不同的ISP域中)、但RADIUS服务器认为用户相同(因为传送到它的用户名相同)的错误。
l 对于级别切换用户认证,命令user-name-format keep-original与user-name-format without-domain的执行效果一样,即发送给RADIUS服务器的用户名都不携带ISP域名。
l 设备向RADIUS服务器发送数据流的单位应与RADIUS服务器上的流量统计单位保持一致,否则无法正确计费。
通过配置RADIUS的Trap功能,在NAS向RADIUS服务器发送计费或认证请求没有响应时输出trap信息,具体情况为:当NAS向服务器重发的计费或认证请求报文累计次数达到最大传送次数的1/2时,系统会发送一次trap报文;当NAS向服务器发送的计费或认证请求报文累计次数达到最大传送次数时,系统会再发送一次trap报文。
表1-22 配置RADIUS的Trap功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能RADIUS的Trap功能 |
radius trap { accounting-server-down | authentication-server-down } |
必选 缺省情况下,RADIUS的Trap功能处于关闭状态 |
通过指定发送RADIUS报文使用的源地址,使得发送报文的物理接口故障时,从服务器返回的报文可以到达接入设备指定的目的地址。
表1-23 配置发送RADIUS报文使用的源地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置设备发送RADIUS报文使用的源地址 |
radius nas-ip { ip-address | ipv6 ipv6-address } |
两者必选其一 缺省情况下,未指定源地址,即以发送报文的接口地址作为源地址 |
radius scheme radius-scheme-name nas-ip { ip-address | ipv6 ipv6-address } |
RADIUS方案视图下的命令nas-ip只对本RADIUS方案有效,系统视图下的命令radius nas-ip对所有RADIUS方案有效。RADIUS方案视图下的设置具有更高的优先级。
在与RADIUS服务器交互的过程中,设备上可启动的定时器主要有以下几种:
l 服务器响应超时定时器(response-timeout):如果在RADIUS请求报文(认证/授权请求或计费请求)传送出去一段时间后,设备还没有得到RADIUS服务器的响应,则有必要重传RADIUS请求报文,以保证用户确实能够得到RADIUS服务,这段时间被称为RADIUS服务器响应超时时长。
l 主服务器恢复激活状态定时器(timer quiet):当主服务器不可达时,状态变为block,设备会与已配置了IP地址的从服务器交互。若从服务器可达,设备与从服务器通信,并开启超时定时器,在设定的一定时间间隔之后,将主服务器的状态将恢复为active,并尝试与主服务器交互,同时保持从服务器的状态不变。若主服务器功能恢复正常,设备会立即恢复与其通信,而中断与从服务器通信。这段时间被称为RADIUS主服务器恢复激活状态时长。
l 实时计费间隔定时器(realtime-accounting):为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,交换机会向RADIUS服务器发送一次在线用户的计费信息。
表1-24 设置RADIUS服务器的定时器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
设置RADIUS服务器应答超时时间 |
timer response-timeout seconds |
可选 缺省情况下,RADIUS服务器应答超时定时器为3秒 |
设置主服务器恢复激活状态的时间 |
timer quiet minutes |
可选 缺省情况下,主服务器恢复激活状态前需要等待5分钟 |
设置实时计费间隔 |
timer realtime-accounting minutes |
可选 缺省情况下,实时计费间隔为12分钟 为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,设备会向RADIUS服务器发送一次在线用户的计费信息 |
l RADIUS各类报文重传次数的最大值与RADIUS服务器应答超时时间的乘积不能超过75秒。此乘积具体为不同接入模块超时时间的上限。
l 不同接入模块配置的RADIUS服务器应答超时时间与请求报文的最大传送次数乘积不能大于等于接入模块的超时时间。比如对于语音接入,因为其超时时间为10秒,所以应答超时时间与请求报文最大传送次数的乘积不能大于等于10秒;对于Telnet接入,其超时时间为30秒,所以此乘积不能大于等于30秒。否则会造成计费停止报文不能被缓存,以及主备服务器不能切换的问题。具体接入模块超时时间请参考相关接入手册。
l RADIUS各类报文重传次数的最大值配置请参考命令retry。
accounting-on功能用于设备重启后,通知RADIUS服务器该设备已经重启,要求RADIUS服务器强制该设备的用户下线,用来解决设备重启后,重启前原在线用户无法再次登录的问题。
由于设备重启动并且配置恢复完成后会立即执行accounting-on功能,如果多个方案(目前设备上支持最多16个)中配置的RADIUS服务器多数不响应,或设置的accounting-on报文重发次数太大、重发时间间隔太长,则设备需要等待较长的时间来处理accounting-on回应报文和重发accounting-on报文,直到所配置的方案全被置为accounting-on已响应后才会处理用户AAA业务。这样会对用户的接入时间有所影响。
表1-25 配置RADIUS的accouting-on功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
使能accouting-on功能 |
accouting-on enable |
必选 缺省情况下,accouting-on功能处于关闭状态 |
设置accouting-on报文重发次数 |
accouting-on enable send send-times |
可选 缺省情况下,accouting-on报文重发次数为5次 |
设置accouting-on报文重发时间间隔 |
accouting-on enable interval seconds |
可选 缺省情况下,accouting-on报文重发时间间隔为3秒 |
accounting-on功能需要和H3C CAMS/iMC网管系统配合使用。
EAD方案的核心是整合与联动,其中的安全策略服务器是EAD方案中的管理与控制中心,它作为一个软件的集合可运行在Windows、Linux平台下,兼具用户管理、安全策略管理、安全状态评估、安全联动控制以及安全事件审计等功能。该配置用来设定安全策略服务器的IP地址。
表1-26 设置RADIUS服务器的安全策略服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
设置RADIUS服务器的安全策略服务器 |
security-policy-server ip-address |
可选 缺省情况下,未指定RADIUS服务器的安全策略服务器 |
l 当接入设备上有多个端口配置了用户接入认证功能时,各接口所对应的安全策略服务器可能不同,因此一个RADIUS方案中可以配置多个安全策略服务器IP地址,最多不能超过8个。
l 如果安全策略服务器和RADIUS服务器为同一台服务器时,安全策略服务器IP地址也可以不用设置。
l 指定的安全策略服务器必须为通过配置的安全策略服务器或RADIUS服务器,否则,设备认为其非法。
通过以下配置可以打开RADIUS客户端的RADIUS报文监听端口,使能后的端口可以接收和发送RADIUS报文。
表1-27 使能RADIUS客户端的监听端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能RADIUS客户端的监听端口 |
radius client enable |
可选 缺省情况下,监听端口处于使能状态 |
RADIUS的25号属性为class属性,该属性由RADIUS服务器下发但RFC中并未定义具体的用途,仅要求设备将下发的class属性携带在计费报文中发送给服务器即可,同时RFC并未要求设备对该属性进行解析。目前,某些RADIUS服务器通过class属性来进行CAR参数的下发,为了支持这种应用,可以通过本特性来控制设备是否将RADIUS的25号属性解析为CAR参数。
表1-28 配置RADIUS的Attribute 25
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
开启RADIUS Attribute 25的CAR参数解析功能 |
attribute 25 car |
必选 缺省情况下,RADIUS Attribute 25的CAR参数解析功能处于关闭状态 |
本功能是否需要配置与RADIUS服务器的实现有关,请以服务器的实际情况为准。
完成上述配置后,在任意视图下执行display命令可以显示配置后RADIUS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相关统计信息。
表1-29 RADIUS协议显示和维护
操作 |
命令 |
显示所有或指定RADIUS方案的配置信息 |
display radius scheme [ radius-scheme-name ] |
显示RADIUS报文的统计信息 |
display radius statistics |
显示缓存的没有得到响应的停止计费请求报文 |
display stop-accounting-buffer { radius-scheme radius-server-name | session-id session-id | time-range start-time stop-time | user-name user-name } |
清除RADIUS协议的统计信息 |
reset radius statistics |
清除缓存中的没有得到响应的停止计费请求报文 |
reset stop-accounting-buffer { radius-scheme radius-server-name | session-id session-id | time-range start-time stop-time | user-name user-name } |
Telnet用户通过RADIUS服务器进行认证、授权、计费的配置方法类似,下面的描述以Telnet用户的远端认证为例。
通过配置AP实现RADIUS服务器对登录AP的用户进行认证、授权、计费。
l 一台RADIUS服务器(担当认证、授权、计费服务器的职责)通过Swtich与AP相连,服务器IP地址为10.1.1.1/24。
l AP与认证、授权、计费RADIUS服务器交互报文时的共享密钥均为expert,发送给RADIUS服务器的用户名中不带域名。
l 在RADIUS服务器上设置与AP交互报文时的共享密钥为expert。
图1-8 配置Telnet用户的远端RADIUS认证、授权和计费
# 配置各接口的IP地址(略)。
# 开启AP的Telnet服务器功能。
<AP> system-view
[AP] telnet server enable
# 配置Telnet用户登录采用AAA认证方式。
[AP] user-interface vty 0 4
[AP-ui-vty0-4] authentication-mode scheme
[AP-ui-vty0-4] quit
# 配置RADIUS方案。
[AP] radius scheme radius1
[AP-radius-radius1] primary authentication 10.1.1.1 1812
[AP-radius-radius1] primary accounting 10.1.1.1 1813
[AP-radius-radius1] key authentication expert
[AP-radius-radius1] key accounting expert
[AP-radius-radius1] user-name-format without-domain
[AP-radius-radius1] quit
[AP] domain bbb
[AP-isp-bbb] authentication login radius-scheme radius1
[AP-isp-bbb] accounting login radius-scheme radius1
[AP-isp-bbb] authorization login radius-scheme radius1
[AP-isp-bbb] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[AP] domain bbb
[AP-isp-bbb] authentication default radius-scheme radius1
[AP-isp-bbb] accounting default radius-scheme radius1
[AP-isp-bbb] authorization default radius-scheme radius1
[AP-isp-bbb] quit
# 使能域。
[AP] domain default enable bbb
使用Telnet登陆时输入用户名为userid,以使用域bbb进行认证。
通过配置AP实现local认证和授权、RADIUS计费。Telnet用户的用户名和密码为hello。一台RADIUS服务器(担当计费服务器的职责)通过Swtich与AP相连,服务器IP地址为10.1.1.1/24。AP与计费RADIUS服务器交互报文时的共享密钥为expert。发送给RADIUS服务器的用户名中不带域名。
其他接入方式如果需要此类AAA应用,和Telnet接入在域的AAA配置上类似,只有接入类型的区分。
图1-9 配置Telnet用户的local认证、授权和RADIUS计费
# 配置各接口的IP地址(略)。
# 开启AP的Telnet服务器功能。
<AP> system-view
[AP] telnet server enable
# 配置Telnet用户登录采用AAA认证方式。
[AP] user-interface vty 0 4
[AP-ui-vty0-4] authentication-mode scheme
[AP-ui-vty0-4] quit
# 配置RADIUS方案。
[AP] radius scheme rd
[AP-radius-rd] primary accounting 10.1.1.1 1813
[AP-radius-rd] key accounting expert
[AP]-radius-rd] server-type extended
[AP-radius-rd] user-name-format without-domain
[AP-radius-rd] quit
# 创建本地用户hello。
[AP] local-user hello
[AP]-luser-hello] service-type telnet
[AP-luser-hello] password simple hello
[AP-luser-hello] quit
# 配置ISP域的AAA方案。
[AP] domain bbb
[AP-isp-bbb] authentication login local
[AP-isp-bbb] authorization login local
[AP-isp-bbb] accounting login radius-scheme rd
[AP-isp-bbb] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[AP] domain bbb
[AP-isp-bbb] authentication default local
[AP-isp-bbb] authorization default local
[AP-isp-bbb] accounting default radius-scheme rd
[AP-isp-bbb] quit
# 使能域。
[AP] domain default enable bbb
使用Telnet登陆时输入用户名为hello,以使用域bbb进行认证。
用户认证/授权总是失败。
(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端口设置不正确。
(1) 确保线路通畅。
(2) 确保正确设置RADIUS服务器的IP地址。
(3) 确保与RADIUS服务器提供的端口号一致。
用户认证通过并获得授权,但是计费功能出现异常。
(1) 计费端口号设置不正确。
(2) 计费服务器和认证/授权服务器不是同一台机器,设备却要求认证/授权和计费功能属于同一个服务器(IP地址相同)。
(1) 正确设置RADIUS计费端口号。
(2) 确保设备的认证/授权和计费服务器的设置与实际情况相同。
表2-1 常用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。该字段仅出现在Access-Request报文中 |
5 |
NAS-Port |
用户接入NAS的物理端口号 |
6 |
Service-Type |
用户申请认证的业务类型 |
7 |
Framed-Protocol |
用户Frame类型业务的封装协议 |
8 |
Framed-IP-Address |
为用户所配置的IP地址 |
11 |
Filter-ID |
访问控制列表的名称 |
12 |
Framed-MTU |
用户与NAS之间数据链路的MTU值。例如在802.1X的EAP方式认证中,NAS通过Framed-MTU值指示Server发送EAP报文的最大长度,防止EAP报文大于数据链路MTU导致的报文丢失 |
14 |
Login-IP-Host |
用户登录设备的接口IP地址 |
15 |
Login-Service |
用户登录设备时采用的业务类型 |
18 |
Reply-Message |
服务器反馈给用户的纯文本描述,可用于向用户显示认证失败的原因 |
26 |
Vendor-Specific |
厂商自定义的私有属性。一个报文中可以有一个或者多个私有属性,每个私有属性中可以有一个或者多个子属性 |
27 |
Session-Timeout |
会话结束之前,给用户提供服务的最大时间,即用户的最大可用时长 |
28 |
Idle-Timeout |
会话结束之前,允许用户持续空闲的最大时间,即用户的限制切断时间 |
31 |
Calling-Station-Id |
NAS用于向Server告知标识用户的号码,在我司设备提供的lan-access业务中,该字段填充的是用户的MAC地址,采用的“HHHH-HHHH-HHHH”格式封装 |
32 |
NAS-Identifier |
NAS用来向Server标识自己的名称 |
40 |
Acct-Status-Type |
计费请求报文的类型 l 1:Start l 2:Stop l 3:Interium-Update l 4:Reset-Charge l 7:Accounting-On(3GPP中有定义) l 8:Accounting-Off (3GPP中有定义) l 9-14:Reserved for Tunnel Accounting l 15:Reserved for Failed |
45 |
Acct-Authentic |
用户采用的认证方式,包括RADIUS,Local以及Remote |
60 |
CHAP-Challenge |
在CHAP认证中,由NAS生成的用于MD5计算的随机序列 |
61 |
NAS-Port-Type |
NAS认证用户的端口的物理类型 l 15:以太网 l 16:所有种类的ADSL l 17:Cable(有线电视电缆) l 201:VLAN l 202:ATM 如果在ATM或以太网端口上还划分VLAN,则该属性值为201 |
79 |
EAP-Message |
用于封装EAP报文,实现RADIUS协议对EAP认证方式的支持 |
80 |
Message-Authenticator |
用于对认证报文进行认证和校验,防止非法报文欺骗。该属性在RADIUS协议支持EAP认证方式被使用 |
87 |
NAS-Port-Id |
用字符串来描述的认证端口信息 |
表2-2 H3C RADIUS扩展属性
子属性编号 |
子属性名称 |
描述 |
1 |
Input-Peak-Rate |
用户接入到NAS的峰值速率,以bps为单位 |
2 |
Input-Average-Rate |
用户接入到NAS的平均速率,以bps为单位 |
3 |
Input-Basic-Rate |
用户接入到NAS的基本速率,以bps为单位 |
4 |
Output-Peak-Rate |
从NAS到用户的峰值速率,以bps为单位 |
5 |
Output-Average-Rate |
从NAS到用户的平均速率,以bps为单位 |
6 |
Output-Basic-Rate |
从NAS到用户的基本速率,以bps为单位 |
15 |
Remanent_Volume |
表示该连接的剩余可用总流量。对于不同的服务器类型,此属性的单位不同 |
20 |
Command |
用于会话控制,表示对会话进行操作,此属性有五种取值 l 1:Trigger-Request l 2:Terminate-Request l 3:SetPolicy l 4:Result l 5:PortalClear |
24 |
Control_Identifier |
服务器重发报文的标识符,对于同一会话中的重发报文,本属性必须相同。不同的会话的报文携带的该属性值可能相同。相应的客户端响应报文必须携带该属性,其值不变 在开始、停止或中间上报流量的Accounting-Request 报文中,若带有Control-Identifier属性,此时的Control-Identifier属性无实际意义 |
25 |
Result_Code |
表示Trigger-Request或SetPolicy的结果,0表示成功,非0表示失败 |
26 |
Connect_ID |
用户连接索引 |
28 |
Ftp_Directory |
FTP用户工作目录 对于FTP用户,当RADIUS客户端作为FTP服务器的时候,该属性用于设置RADIUS客户端上的FTP目录 |
29 |
Exec_Privilege |
EXEC用户优先级 |
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 |
服务器需要透传到客户端的信息 |
141 |
Security_Level |
SSL VPN用户安全认证之后下发的安全级别 |
255 |
Product_ID |
产品名称 |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!