17-AAA-RADIUS-HWTACACS操作
本章节下载 (467.03 KB)
1.4.10 配置RADIUS的accouting-on功能
1.4.11 配置RADIUS服务器中安全策略服务器的IP地址
1.8.1 Telnet用户通过HWTACACS服务器认证、授权、计费的应用配置
1.8.2 Telnet用户通过local认证、HWTACACS授权、RADIUS计费的应用配置
1.9 AAA RADIUS HWTACACS常见配置错误举例
AAA是Authentication、Authorization、Accounting(认证、授权、计费)的简称,是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。
AAA是运行于NAS(Network Access Server,网络接入服务器)上的客户端程序,它提供了一个对认证、授权和计费这三种安全功能进行统一配置的框架。
AAA一般采用客户机/服务器结构,客户端运行于NAS上,服务器上则集中管理用户信息。NAS对于用户来讲是服务器端,对于服务器来说是客户端。AAA的基本组网结构如图1-1。
图1-1 AAA基本组网结构示意图
当用户想要通过某网络与NAS建立连接,从而获得访问其它网络的权利或取得某些网络资源的权利时,NAS起到了验证用户或对应连接的作用。NAS负责把用户的认证、授权、计费信息透传给服务器(RADIUS服务器或HWTACACS服务器),RADIUS协议或HWTACACS协议规定了NAS与服务器之间如何传递用户信息。
图1-1的AAA基本组网结构中有两台服务器,用户可以根据实际组网需求来决定认证、授权、计费功能分别由使用哪种协议类型的服务器来承担。例如,可以选择RADIUS服务器实现为认证、授权,HWTACACS服务器来实现计费。
这三种安全服务功能的具体作用如下:
l 认证:确认远端访问用户的身份,判断访问者是否为合法的网络用户;
l 授权:对不用用户赋予不同的权限,限制用户可以使用的服务。例如用户成功登录服务器后,管理员可以授权用户对服务器中的文件进行访问和打印操作;
l 计费:记录用户使用网络服务中的所有操作,包括使用的服务类型、起始时间、数据流量等,它不仅是一种计费手段,也对网络安全起到了监视作用。
当然,用户可以只使用AAA提供的一种或两种安全服务。例如,公司仅仅想让员工在访问某些特定资源的时候进行身份认证,那么网络管理员只要配置认证服务器就可以了。但是若希望对员工使用网络的情况进行记录,那么还需要配置计费服务器。
如前所述,AAA是一种管理框架,它提供了授权部分实体去访问特定资源,同时可以记录这些实体操作行为的一种安全机制,因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。
AAA可以通过多种协议来实现,目前设备支持基于RADIUS协议或HWTACACS协议来实现AAA,在实际应用中,最常使用RADIUS协议。
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所示,:
l “Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
l “Clients”:用于存储RADIUS客户端的信息(如接入设备的共享密钥、IP地址等)。
l “Dictionary”:用于存储RADIUS协议中的属性和属性值含义的信息。
RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共享密钥不能通过网络来传输,增强了信息交互的安全性。另外,为防止用户密码在不安全的网络上传递时被窃取,在传输过程中对密码进行了加密。
RADIUS服务器支持多种方法来认证用户,如基于PPP的PAP、CHAP认证。另外,RADIUS服务器还可以为其它类型的认证服务器提供代理客户端的功能,向其提出认证请求。
用户、RADIUS客户端和RADIUS服务器之间的交互流程如图1-3所示。
消息交互流程如下:
(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) Code域
长度为1个字节,用于说明RADIUS报文的类型,如表1-1所示。
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值无法被接受的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 |
& 说明:
表1-2中所列的属性由RFC 2865、RFC 2866、RFC2867和RFC2568分别定义。
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。
l Vendor-Type,表示扩展属性的子属性类型。
l Vendor-Length,表示该子属性长度。
l Vendor-Data,表示该子属性的内容。
HWTACACS(HUAWEI Terminal Access Controller Access Control System,华为终端访问控制器控制系统协议)是在TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与RADIUS协议类似,采用客户端/服务器模式实现NAS与HWTACACS服务器之间的通信。
HWTACACS协议主要用于PPP(Point-to-Point Protocol,点对点协议)和VPDN(Virtual Private Dial-up Network,虚拟私有拨号网络)接入用户及终端用户的认证、授权和计费。其典型应用是对需要登录到设备上进行操作的终端用户进行认证、授权、计费。设备作为HWTACACS的客户端,将用户名和密码发给HWTACACS服务器进行验证。用户验证通过并得到授权之后可以登录到设备上进行操作。
HWTACACS协议与RADIUS协议都实现了认证、授权、计费的功能,它们有很多相似点:结构上都采用客户端/服务器模式;都使用公共密钥对传输的用户信息进行加密;都有较好的灵活性和可扩展性。两者之间存在的主要区别如表1-3所示。
HWTACACS协议 |
RADIUS协议 |
使用TCP,网络传输更可靠 |
使用UDP,网络传输效率更高 |
除了HWTACACS报文头,对报文主体全部进行加密 |
只对验证报文中的密码字段进行加密 |
协议报文较为复杂,认证和授权分离,使得认证、授权服务可以分离在不同的安全服务器上实现。例如,可以用一个HWTACACS服务器进行认证,另外一个HWTACACS服务器进行授权 |
协议报文比较简单,认证和授权结合,难以分离 |
支持对设备的配置命令进行授权使用。例如,可以授权一个通过安全认证登录设备的用户对设备进行配置 |
不支持 |
下面以Telnet用户为例,说明使用HWTACACS对用户进行认证、授权和计费的过程。基本消息交互流程图如图1-6所示。
在整个过程中的基本消息交互流程如下:
(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服务器发送计费结束报文,指示计费结束报文已经收到。
与AAA RADIUS HWTACACS相关的协议规范有:
l RFC 2865:Remote Authentication Dial In User Service (RADIUS)
l RFC 2866:RADUIS Accounting
l RFC 2867:RADUIS Accounting Modifications for Tunnel Protocol Support
l RFC 2868:RADIUS Attributes for Tunnel Protocol Support
l RFC 2869:RADIUS Extensions
l RFC 1492:An Access Control Protocol, Sometimes Called TACACS
表1-4 AAA配置任务简介
说明 |
详细配置 |
|
创建ISP域 |
必选 |
|
配置ISP域的属性 |
可选 |
|
配置ISP域的AAA认证方案 |
必选 如果采用本地认证,请参见“配置本地用户的属性”; 如果采用RADIUS认证,请参见“配置RADIUS”; 如果采用HWTACACS认证,请参见“配置HWTACACS” |
|
配置ISP域的AAA授权方案 |
可选 |
|
配置ISP域的AAA计费方案 |
可选 |
|
配置本地用户的属性 |
可选 |
|
配置强制切断用户连接 |
可选 |
表1-5 RADIUS配置任务简介
配置任务 |
说明 |
详细配置 |
创建RADIUS方案 |
必选 |
|
配置RADIUS认证/授权服务器 |
必选 |
|
配置RADIUS计费服务器及相关参数 |
可选 |
|
配置RADIUS报文的共享密钥 |
必选 |
|
配置RADIUS报文的超时重传次数的最大值 |
可选 |
|
配置支持的RADIUS服务器的类型 |
可选 |
|
配置RADIUS服务器的状态 |
可选 |
|
配置发送给RADIUS服务器的数据相关属性 |
可选 |
|
配置RADIUS服务器的定时器 |
可选 |
|
配置RADIUS的accounting on功能 |
可选 |
|
使能RADIUS客户端的监听端口 |
可选 |
表1-6 HWTACACS配置任务简介
配置任务 |
说明 |
详细配置 |
创建HWTACACS方案 |
必选 |
|
配置HWTACACS认证服务器 |
必选 |
|
配置HWTACACS授权服务器 |
可选 |
|
配置HWTACACS计费服务器 |
可选 |
|
配置HWTACACS报文的共享密钥 |
必选 |
|
配置发送给HWTACACS服务器的数据相关属性 |
可选 |
|
配置HWTACACS服务器的定时器 |
可选 |
AAA功能可以在为合法用户提供网络接入服务的同时,对网络设备进行保护,防止非授权访问和抵赖行为。同时,通过配置ISP域可以对接入用户进行AAA等管理。
AAA将用户类型分为:lan-access用户(如802.1x认证、MAC地址认证用户)、login用户(如SSH、Telnet、FTP、终端接入用户)、命令行用户(命令行授权用户)。对于除命令行用户之外的各类型用户请求,按照实际需求,可以单独配置认证/授权/计费的策略。命令行用户可以单独配置授权策略,用来支持对设备的配置命令进行授权使用。
进行远端认证、授权或计费时,需要已经创建RADIUS或HWTACACS方案。
l RADIUS方案(radius-scheme):通过引用已配置的RADIUS方案来实现认证、授权、计费。有关RADIUS方案的配置请参见“1.4 配置RADIUS”。
l HWTACACS方案(hwtacacs-scheme):通过引用已配置的HWTACACS方案来实现认证、授权、计费。有关HWTACACS方案的配置请参见“1.6 配置HWTACACS”。
对于设备来说,每个接入用户都属于一个ISP域。系统中最多可以配置16个ISP域。如果某个用户在登录时没有提供ISP域名,系统将把它归于缺省的ISP域。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP域并进入其视图 |
domain isp-name |
必选 |
返回系统视图 |
quit |
- |
手工配置缺省的ISP域 |
domain default { disable | enable isp-name } |
可选 缺省情况下,系统缺省的ISP域为system |
& 说明:
l 配置为缺省的ISP域不能够被删除,除非首先使用命令domain default disable将其修改为非缺省ISP域。
l 若用户登录时输入的用户名未携带ISP域名,则用户使用缺省ISP域下的认证方案。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP域并进入其视图 |
domain isp-name |
必选 |
设置ISP域的状态 |
state { active | block } |
可选 缺省情况下,当一个ISP域被创建以后,其状态为active,即允许任何属于该域的用户请求网络服务 |
设置当前ISP域可容纳接入用户数的限制 |
access-limit { disable | enable max-user-number } |
可选 缺省情况下,不对当前ISP域可容纳的接入用户数作限制 |
设置用户闲置切断功能 |
idle-cut { disable | enable minute } |
可选 缺省情况下,用户闲置切断功能处于关闭状态 |
设置自助服务器定位功能 |
self-service-url { disable | enable url-string } |
可选 缺省情况下,自助服务器定位功能处于关闭状态 |
& 说明:
自助服务器定位功能需要与支持自助服务的RADIUS服务器配合使用,如CAMS。安装自助服务软件的服务器即自助服务器。通过使用自助服务,用户可以对自己的帐号或卡号进行管理和控制。
在AAA中,认证、授权和计费是三个独立的业务流程。认证的职责是完成各接入或服务请求的用户名/密码/用户信息的交互认证过程,它不会下发授权信息给请求用户,也不会触动计费的流程。在AAA中,可以只使用认证,而不使用授权或计费。如果用户没有进行任何配置,则系统缺省ISP域的认证方案为local。
配置认证有三个步骤:
(1) 如果用户使用RADIUS或HWTACACS认证,则需要先配置要引用的RADIUS方案或HWTACACS方案;如果使用local或none认证,则不需要配置方案。
(2) 确定要配置的接入方式或者服务类型。AAA可以对不同的接入方式和服务类型配置不同的认证方案,并且从配置上限制了用户接入时使用的认证协议。
(3) 确定是否为所有的接入方式或服务类型配置认证方案。
表1-9 配置ISP域的AAA认证方案
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP域并进入其视图 |
domain isp-name |
必选 |
为所有类型的用户配置缺省的认证方案 |
authentication default { hwtacacs-scheme hwtacacs-scheme-name [ local ] | 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 { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,login用户采用缺省的认证方案 |
& 说明:
l authentication default命令配置的认证方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l 当RADIUS被配置选择为认证方案时,AAA只接受RADIUS服务器的认证结果,RADIUS授权的信息虽然在认证成功回应的报文中携带,但在认证回应的处理流程中不会被处理。
l 如果配置了radius-scheme radius-scheme-name local或hwtacacs-scheme hwtacacs-scheme-name local,则local为RADIUS服务器或TACACS服务器没有正常响应后的备选认证方案。即当RADIUS服务器或TACACS服务器有效时,不使用本地认证;当RADIUS服务器或TACACS服务器无效时,使用本地认证。
l 如果local或者none作为第一认证方案,那么只能采用本地认证或者不进行认证,不能再同时采用RADIUS或HWTACACS方案。
在AAA中,授权是一个和认证、计费同级别的独立流程,其职责是发送授权请求给所配置的授权服务器,授权通过后向用户下发授权信息。在ISP域的AAA配置中,授权方案为可选配置。
如果用户没有进行任何配置,则系统缺省域的授权方案为local。如果用户配置的授权方案为none,则意味着用户是不需要授权的,此时,认证通过的用户只有系统所给予的默认权限。EXEC用户(控制台用户,可以通过console/aux口或者Telnet连接设备,每个连接称为一个EXEC用户,如Telnet用户、SSH用户)的默认级别为最低权限的访问级。FTP用户被默认授权使用设备的根目录。
配置授权有三个步骤:
(1) 如果用户要使用HWTACACS授权,则需要先配置要引用的HWTACACS方案;如果是RADIUS授权,只有将认证和授权的RADIUS方案配置相同,授权才起作用。
(2) 确定要配置的接入方式或者服务类型,AAA可以按照不同的接入方式和服务类型进行AAA授权的配置,并且从配置上正确限制了接入所能使用的授权协议。
(3) 确定是否为所有的接入方式或服务类型配置授权方案。
表1-10 配置ISP域的AAA授权方案
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP域并进入其视图 |
domain isp-name |
必选 |
为所有类型的用户配置缺省的授权方案 |
authorization default { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,所有类型的用户采用local授权方案 |
为命令行用户配置授权方案 |
authorization command hwtacacs-scheme hwtacacs-scheme-name |
可选 缺省情况下,命令行用户采用缺省的授权方案 |
为lan-access用户配置授权方案 |
authorization lan-access { local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,lan-access用户采用缺省的授权方案 |
为login用户配置授权方案 |
authorization login { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,login用户采用缺省的授权方案 |
& 说明:
l authorization default命令配置的授权方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l RADIUS授权是特殊的流程,只是在认证和授权的RADIUS方案相同的条件下,RADIUS授权才起作用。对于所有RADIUS授权失败的情况,授权失败返回给NAS(Network Access Server,网络接入服务器)的原因为服务器没有响应。
l 如果配置了radius-scheme radius-scheme-name local或hwtacacs-scheme hwtacacs-scheme-name local,则local为RADIUS服务器或HWTACACS服务器没有正常响应后的备选授权方案。即当RADIUS服务器或HWTACACS服务器有效时,不使用本地授权;当RADIUS服务器或HWTACACS服务器无效时,使用本地授权。
l 如果local或者none作为第一授权方案,那么只能采用本地授权或者不进行授权,不能再同时采用RADIUS或HWTACACS方案。
l RADIUS服务器的授权信息是随认证应答报文发给RADIUS客户端的,故不能单独指定授权服务器。因此,如果指定的认证和授权方案是RADIUS方案,必须保证认证和授权的方案相同,否则系统会给出错误提示。
在AAA中,计费是一个和认证、授权同级别的独立流程,其职责为发送计费开始/更新/结束请求给所配置的计费服务器。计费不是必须使用的。在ISP域的AAA配置中,允许不配置计费方案。如果不配置计费方案,则系统缺省ISP域的计费方案为local。
配置计费有三个步骤:
(1) 如果用户要使用RADIUS或HWTACACS计费,则需要先配置要引用的RADIUS方案或HWTACACS方案;如果要使用local或none计费,则不需要配置方案。
(2) 确定要配置的接入方式或者服务类型,AAA可以支持为按照不同的接入方式和服务类型进行AAA计费的配置,并且从配置上正确限制了接入所能使用的计费协议。
(3) 确定是否为所有的接入方式或服务类型配置计费方案。
表1-11 配置ISP域的AAA计费方案
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建ISP域并进入其视图 |
domain isp-name |
必选 |
打开计费可选开关 |
accounting optional |
可选 缺省情况下,ISP域的计费可选开关处于关闭状态 |
为所有类型的用户配置缺省的计费方案 |
accounting default { hwtacacs-scheme hwtacacs-scheme-name [ local ] | 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 { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,login用户采用缺省的计费方案 |
& 说明:
l 在对用户实施计费时,如果发现没有可用的计费服务器或与计费服务器通信失败,若配置了accounting optional命令,则用户可以继续使用网络资源,否则用户连接将被切断。
l accounting default命令配置的计费方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l 如果配置了radius-scheme radius-scheme-name local或hwtacacs-scheme hwtacacs-scheme-name local,则local为RADIUS服务器或HWTACACS服务器没有正常响应后的备选计费方案。即当RADIUS服务器或HWTACACS服务器有效时,不使用本地计费;当RADIUS服务器或HWTACACS服务器无效时,使用本地计费。
l 如果local或者none作为第一计费方案,那么只能采用本地认证或者不进行计费,不能再同时采用RADIUS或HWTACACS方案。
l login接入中FTP方式不支持计费流程。
当AAA方案选择了本地认证方案(local)时,应在设备上创建本地用户并配置相关属性。
所谓本地用户,是指在设备上设置的一组用户的集合。该集合以用户名为用户的唯一标识。为使某个请求网络服务的用户可以通过本地认证,需要在设备上的本地用户数据库中添加相应的表项。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
设置本地用户密码的显示方式 |
local-user password-display-mode { auto | cipher-force } |
可选 缺省情况下,所有接入用户的密码显示方式为auto,表示按照用户配置的密码显示方式显示 |
|
添加本地用户,并进入本地用户视图 |
local-user user-name |
必选 缺省情况下,系统中没有任何本地用户 |
|
设置指定用户的密码 |
password { cipher | simple } password |
可选 |
|
设置指定用户的状态 |
state { active | block } |
可选 缺省情况下,当一个本地用户被创建以后,其状态为active,允许该用户请求网络服务 |
|
设置用户可以使用的服务类型 |
设置服务类型 |
service-type { lan-access | { ssh | telnet | terminal } * [ level level ] } |
必选 缺省情况下,系统不对用户授权任何服务 |
设置用户可以使用的服务类型为FTP |
service-type ftp |
可选 缺省情况下,系统不支持FTP匿名用户访问,不对用户授权任何服务;若授权FTP服务,缺省授权使用设备的根目录 |
|
设置FTP/SFTP用户可以访问的目录 |
work-directory directory-name |
可选 缺省情况下,FTP/SFTP用户可以访问设备的根目录 |
|
设置用户的优先级 |
level level |
可选 缺省情况下,用户的优先级为0 |
|
设置服务类型为lan-access用户的一些属性值 |
attribute { access-limit max-user-number | idle-cut minute | ip ip-address | location { nas-ip ip-address port slot-number subslot-number port-number | port slot-number subslot-number port-number } | mac mac-address | vlan vlan-id } * |
可选 当指定用户绑定的是远程端口,则该用户必须指定nas-ip参数,缺省为127.0.0.1,表示为本机;若用户绑定的是本地端口,则不需要指定nas-ip参数 |
& 说明:
l 当采用local-user password-display-mode cipher-force命令后,即使用户通过password命令指定密码明文显示(即simple方式),密码也会显示为密文。同样,若强制用户密码密文显示并使用save命令保存当前配置,重启设备后,即使恢复为auto方式,原来配置为明文显示的密码仍然显示为密文。
l 本地用户的service-type是本地认证的检测项。如果没有用户可以使用的服务类型,则该用户无法正常认证通过。在授权的过程中,如果没有配置用户可以使用的服务类型,则默认不授权任何服务。
l 如果配置登录设备的认证方式需要用户名和密码(包括本地认证、RADIUS认证及HWTACACS认证),则用户登录系统后所能访问的命令级别由用户的优先级确定,其它认证方式下则由用户界面的优先级确定。对于SSH用户,使用RSA公钥认证时,其所能使用的命令以用户界面上设置的级别为准。关于登录设备的认证方式与用户访问命令级别的详细介绍请分别参见 “登录以太网交换机操作”和“系统维护与调试操作”手册。
l 使用service-type命令与level命令均可指定用户优先级,最后设置的级别有效。
l 本地用户的attribute ip命令只适用于支持IP地址上传功能的认证,如802.1x认证;对于不支持IP地址上传功能的认证,如果配置了该命令,会导致本地认证失败,如MAC地址认证。
l 本地用户的attribute port命令绑定的端口只针对端口号,不区分端口类型。
l ISP域视图下使用idle-cut命令配置的闲置切断功能只对lan-access用户有效。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
强制切断指定AAA用户的连接 |
cut connection { access-type { dot1x | mac-authentication } | all | domain isp-name | interface interface-type interface-number | ip ip-address | mac mac-address | ucibindex ucib-index | user-name user-name | vlan vlan-id } [ slot slot-number ] |
必选 此命令目前只对lan-access类型的用户有效 |
RADIUS配置是以RADIUS方案为单位进行的。当创建一个新的RADIUS方案之后,需要对属于此方案的RADIUS服务器的IP地址和UDP端口号进行设置,这些服务器包括认证/授权和计费服务器,而每种服务器又有主服务器和从服务器的区别。每个RADIUS方案的属性包括:主服务器的IP地址、从服务器的IP地址、共享密钥以及RADIUS服务器类型等。
RADIUS配置仅仅定义了设备和RADIUS服务器之间进行信息交互所必须的一些参数。为了使这些参数能够生效,还必须在某个ISP域视图下指定该域引用的RADIUS方案。具体配置细节,请参见1.3 配置AAA。
在进行RADIUS的其它配置之前,必须先创建RADIUS方案并进入其视图。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
可选 缺省情况下,未定义RADIUS方案 |
& 说明:
一个RADIUS方案可以同时被多个ISP域引用。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置主RADIUS认证/授权服务器的IP地址和端口号 |
primary authentication ip-address [ port-number ] |
必选 缺省情况下,主认证/授权服务器的IP地址为0.0.0.0,UDP端口号为1812 |
设置从RADIUS认证/授权服务器的IP地址和端口号 |
secondary authentication ip-address [ port-number ] |
可选 缺省情况下,从认证/授权服务器的IP地址为0.0.0.0,UDP端口号为1812 |
& 说明:
l 在实际组网环境中,可以指定两台RADIUS服务器分别作为主、从认证/授权服务器;也可以指定一台服务器既作为某个方案的主认证/授权服务器,又作为另一个方案的从认证/授权服务器。
l 在同一个方案中指定的主认证/授权服务器和从认证/授权服务器的IP地址不能相同,否则将提示配置不成功。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置主RADIUS计费服务器的IP地址和端口号 |
primary accounting ip-address [ port-number ] |
必选 缺省情况下,主计费服务器的IP地址为0.0.0.0,UDP端口号为1813 |
设置从RADIUS计费服务器的IP地址和端口号 |
secondary accounting ip-address [ port-number ] |
可选 缺省情况下,从计费服务器的IP地址为0.0.0.0,UDP端口号为1813 |
使能停止计费报文缓存功能 |
stop-accounting-buffer enable |
可选 缺省情况下,使能停止计费报文缓存功能 |
设置当出现没有得到响应的停止计费请求时,将该报文存入设备缓存后,允许停止计费请求无响应的最大次数 |
retry stop-accounting retry-times |
可选 缺省情况下,允许停止计费请求无响应的最大次数为500 |
设置允许实时计费请求无响应的最大次数 |
retry realtime-accounting retry-times |
可选 缺省情况下,最多允许5次实时计费请求无响应 |
& 说明:
l 在实际组网环境中,可以指定两台RADIUS服务器分别作为主、从计费服务器;也可以指定一台服务器既作为主计费服务器,又作为从计费服务器。此外,由于RADIUS协议采用不同的UDP端口来收发认证/授权和计费报文,因此必须将认证/授权端口号和计费端口号配置得不同。
l 如果RADIUS计费服务器对设备发出的停止计费请求报文没有响应,且设备使能了停止计费报文缓存功能,设备应将其缓存在本机上,然后重新发送直到RADIUS计费服务器产生响应,或者在重新发送的次数达到指定的次数限制后将其丢弃。
l 设备提供对连续实时计费请求无响应次数限制的设置——在设备向RADIUS服务器发出的实时计费请求没有得到响应的次数超过所设定的限度时,设备将切断用户连接。
l 主计费服务器和从计费服务器的IP地址不能相同,否则将提示配置不成功。
l 目前RADIUS不支持对FTP用户进行计费。
RADIUS客户端与RADIUS服务器使用MD5算法来加密RADIUS报文,双方通过设置共享密钥来验证报文的合法性。只有在密钥一致的情况下,彼此才能接收对方发来的报文并作出响应。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
配置RADIUS认证/授权或计费报文的共享密钥 |
key { accounting | authentication } string |
必选 缺省情况下,无密钥 |
& 说明:
必须保证设备上设置的共享密钥与RADIUS服务器上的完全一致。
由于RADIUS协议采用UDP报文来承载数据,因此其通信过程是不可靠的。如果RADIUS服务器在应答超时定时器规定的时长内没有响应设备,则设备有必要向RADIUS服务器重传RADIUS请求报文。如果累计的传送次数超过最大传送重传次数而RADIUS服务器仍旧没有响应,则设备将认为本次认证失败。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置RADIUS报文超时重传次数的最大值 |
retry retry-times |
可选 缺省情况下,RADIUS报文超时重传次数的最大值为3次 |
& 说明:
l RADIUS报文超时重传次数的最大值与RADIUS服务器应答超时时间的乘积不能超过75秒。
l RADIUS服务器应答超时时间的配置请参考命令timer response-timeout。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置支持何种类型的RADIUS服务器 |
server-type { extended | standard } |
可选 缺省情况下,RADIUS服务器类型为standard |
& 说明:
l 当设备系统支持的RADIUS服务器类型的配置被更改时,会将原有的发送到RADIUS服务器的数据流的单位恢复为缺省情况。
l 使用第三方RADIUS服务器时,RADIUS服务器类型可以选择standard类型或extended类型;使用CAMS服务器时,RADIUS服务器类型应选择extended类型。
对于某个RADIUS方案中的主、从服务器(无论是认证/授权服务器还是计费服务器),当主服务器与设备的通信中断时,设备会主动地转而与从服务器交互报文。在主备服务器均可达的条件下,设备遵从主服务器优先的原则发送请求报文。
当主服务器不可达时,状态变为block,设备与已配置了IP地址的从服务器交互。
l 若从服务器可达,设备将开启超时定时器,在timer quiet设定的时间达到后主服务器状态立即恢复为active,从服务器状态不变;
l 若从服务器不可达,设备立即将主服务器状态恢复为active。
之后,如果主服务器恢复正常,设备会立即恢复与其通信,而中断与从服务器通信。而计费开始后,客户端与从计费服务器之间的通信不会因为主计费服务器的恢复而切换。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置主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的服务器不可达,设备也不会进行主从服务器的切换。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
使能RADIUS trap功能 |
radius trap { accounting-server-down | authentication-server-down } |
可选 缺省情况下,RADIUS trap功能关闭 |
|
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
|
设置发送给RADIUS服务器的用户名格式 |
user-name-format { 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 |
|
设置设备发送RADIUS报文使用的源地址 |
RADIUS方案视图 |
nas-ip ip-address |
两者可选其一 缺省情况下,不指定源地址,即以发送报文的接口地址作为源地址 |
系统视图 |
quit |
||
radius nas-ip ip-address |
& 说明:
l 由于有些较早期的RADIUS服务器不能接受携带有ISP域名的用户名,因此必需将用户名的域名去除后再传送给RADIUS服务器。可以通过命令user-name-format来指定发送给RADIUS服务器的用户名是否携带有ISP域名。
l 如果指定某个RADIUS方案不允许用户名中携带有ISP域名,那么请不要在两个乃至两个以上的ISP域中同时设置使用该RADIUS方案,否则,会出现虽然实际用户不同(在不同的ISP域中)、但RADIUS服务器认为用户相同(因为传送到它的用户名相同)的错误。
l RADIUS方案视图下的命令nas-ip只对本RADIUS方案有效,系统视图下的命令radius nas-ip对所有RADIUS方案有效。RADIUS方案视图下的设置具有更高的优先级。
l 服务器响应超时定时器(response-timeout):如果在RADIUS请求报文(认证/授权请求或计费请求)传送出去一段时间后,设备还没有得到RADIUS服务器的响应,则有必要重传RADIUS请求报文,以保证用户确实能够得到RADIUS服务,这段时间被称为RADIUS服务器响应超时时长。
l 主服务器恢复激活状态定时器(timer quiet):当主服务器不可达时,状态变为block,设备会与已配置了IP地址的从服务器交互。若从服务器可达,在设定的一定时间间隔之后主服务器状态将恢复为active,从服务器状态不变,这段时间被称为RADIUS主服务器恢复激活状态时长。
l 实时计费间隔定时器(realtime-accounting):为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,交换机会向RADIUS服务器发送一次在线用户的计费信息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置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-23 配置RADIUS的accouting-on功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
使能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秒 |
& 说明:
对于命令accouting-on enable,系统启动后,如果当前系统中没有使能accounting-on功能的认证方案,则执行完该命令后,必须执行save操作并重启系统使其生效。但是,如果当前系统中已经有方案使能了accounting-on功能,则对未启动该功能的认证方案执行该命令后,accounting-on功能会立即生效。
该配置用来设定该安全策略服务器的IP地址。
表1-24 设置RADIUS服务器中安全策略服务器IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置RADIUS服务器的安全策略服务器IP地址 |
security-policy-server ip-address |
可选 缺省情况下,RADIUS服务器中安全策略服务器IP地址未设置 |
注意:
l 如果安全策略服务器和RADIUS服务器为同一台服务器时,安全策略服务器IP地址也可以不用设置。
l 安全策略服务器必须为通过配置的安全策略服务器或RADIUS服务器,否则,设备认为其非法。
通过以下配置可以打开RADIUS客户端的RADIUS报文监听端口,使能后的端口可以接收和发送RADIUS报文。
表1-25 使能RADIUS客户端的监听端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能RADIUS客户端的监听端口 |
radius client enable |
可选 缺省情况下,监听端口处于使能状态 |
HWTACACS的配置是以HWTACACS方案为单位进行的。在进行HWTACACS的其他相关配置之前,必须先创建HWTACACS方案并进入其视图。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建HWTACACS方案并进入其视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
& 说明:
系统最多支持配置16个HWTACACS方案。只有未被引用的方案才可以被删除。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建HWTACACS方案并进入其视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
设置主HWTACACS认证服务器的IP地址和端口号 |
primary authentication ip-address [ port-number ] |
必选 缺省情况下,主认证服务器的IP地址为0.0.0.0,TCP端口号为49 |
设置从HWTACACS认证服务器的IP地址和端口号 |
secondary authentication ip-address [ port-number ] |
必选 缺省情况下,从认证服务器的IP地址为0.0.0.0,TCP端口号为49 |
& 说明:
l 主认证服务器和从认证服务器的IP地址不能相同,否则将提示配置不成功。
l 只有当没有活跃的用于发送认证报文的TCP连接使用该认证服务器时,才允许删除该服务器。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建HWTACACS方案,并进入HWTACACS视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
设置主HWTACACS授权服务器的IP地址和端口号 |
primary authorization ip-address [ port-number ] |
必选 缺省情况下,主授权服务器的IP地址为0.0.0.0,TCP端口号为49 |
设置从HWTACACS授权服务器的IP地址和端口号 |
secondary authorization ip-address [ port-number ] |
必选 缺省情况下,从授权服务器的IP地址为0.0.0.0,TCP端口号为49 |
& 说明:
l 主授权服务器和从授权服务器的IP地址不能相同,否则将提示配置不成功。
l 只有当没有活跃的用于发送授权报文的TCP连接使用该授权服务器时,才允许删除该服务器。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建HWTACACS方案,并进入HWTACACS视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
设置HWTACACS主计费服务器的IP地址和端口号 |
primary accounting ip-address [ port-number ] |
必选 缺省情况下,主计费服务器的IP地址为0.0.0.0,TCP端口号为49 |
设置HWTACACS从计费服务器的IP地址和端口号 |
secondary accounting ip-address [ port-number ] |
必选 缺省情况下,从计费服务器的IP地址为0.0.0.0,TCP端口号为49 |
使能停止计费报文缓存功能 |
stop-accounting-buffer enable |
可选 缺省情况下,使能停止计费报文缓存功能 |
设置当出现没有得到响应的停止计费请求时,将该报文存入设备缓存后,停止计费请求报文的最大发送次数 |
retry stop-accounting retry-times |
可选 缺省情况下,retry-times的值为100 |
& 说明:
l 主计费服务器和从计费服务器的IP地址不能相同,否则将提示配置不成功。
l 只有当没有活跃的用于发送计费报文的TCP连接使用该计费服务器时,才允许删除该服务器。
l 目前HWTACACS不支持对FTP用户进行计费。
使用HWTACACS服务器作为AAA服务器时,可设置密钥以提高设备与HWTACACS服务器通信的安全性。
HWTACACS客户端(即设备系统)与HWTACACS服务器使用MD5算法来加密交互的HWTACACS报文,双方通过设置共享密钥来验证报文的合法性。只有在密钥一致的情况下,双方才能彼此接收对方发来的报文并作出响应。因此,必须保证设备上设置的共享密钥与HWTACACS服务器上的完全一样。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建HWTACACS方案,并进入HWTACACS视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
配置HWTACACS认证、授权计费报文的共享密钥 |
key { accounting | authentication | authorization } string |
必选 缺省情况下,无密钥 |
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建HWTACACS方案,并进入HWTACACS视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
|
设置发送给HWTACACS服务器的用户名格式 |
user-name-format { with-domain | without-domain } |
可选 缺省情况下,发往TACACS服务器的用户名带域名 |
|
设置发送给HWTACACS服务器的数据流的单位 |
data-flow-format { data { byte | giga-byte | kilo-byte | mega-byte } | packet { giga-packet | kilo-packet | mega-packet | one-packet } } * |
可选 缺省情况下,数据的单位为byte,数据包的单位为one-packet |
|
配置发送HWTACACS报文使用的源地址 |
HWTACACS视图 |
nas-ip ip-address |
二者可选其一 缺省情况下,不指定源地址,即以发送报文的接口地址作为源地址 |
系统视图 |
quit |
||
hwtacacs nas-ip ip-address |
& 说明:
l 如果HWTACACS服务器不接受带域名的用户名,可以配置将用户名的域名去除后再传送给HWTACACS服务器。
l HWTACACS方案视图下的命令nas-ip只对本HWTACACS方案有效,系统视图下的命令hwtacacs nas-ip对所有HWTACACS方案有效。HWTACACS方案视图下的设置具有更高的优先级。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建HWTACACS方案,并进入HWTACACS视图 |
hwtacacs scheme hwtacacs-scheme-name |
必选 缺省情况下,未定义HWTACACS方案 |
设置HWTACACS服务器应答超时时间 |
timer response-timeout seconds |
可选 缺省情况下,应答超时时间为5秒 |
设置主服务器恢复激活状态的时间 |
timer quiet minutes |
可选 缺省情况下,主服务器恢复激活状态前需要等待5分钟 |
设置实时计费的时间间隔 |
timer realtime-accounting minutes |
可选 缺省情况下,实时计费间隔为12分钟 |
& 说明:
l 为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,设备会向HWTACACS服务器发送一次在线用户的计费信息。按照协议,如果服务器对实时计费报文没有正常响应,设备也不会强制切断在线用户。
l 实时计费间隔时间取值必须为3的整数倍。
l 实时计费间隔的取值对设备和HWTACACS服务器的性能有一定的相关性要求,取值越小,对设备和HWTACACS服务器的性能要求越高。
完成上述配置后,在任意视图下执行display命令可以显示配置后AAA RADIUS HWTACACS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相关统计信息。
操作 |
命令 |
显示所有或指定ISP域的配置信息 |
display domain [ isp-name ] |
显示AAA用户连接的相关信息 |
display connection [ access-type { dot1x | mac-authentication } | domain isp-name | interface interface-type interface-number | ip ip-address | mac mac-address | ucibindex ucib-index | user-name user-name | vlan vlan-id ] |
显示本地用户相关信息 |
display local-user [ idle-cut { disable | enable } | service-type { ftp | lan-access | ssh | telnet | terminal } | state { active | block } | user-name user-name | vlan vlan-id ] |
表1-34 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 } |
清除本地服务器的统计信息 |
reset local-server statistics |
操作 |
命令 |
查看所有或指定HWTACACS方案的配置信息或统计信息 |
display hwtacacs [ hwtacacs-server-name [ statistics ] ] |
显示缓存的没有得到响应的停止计费请求报文 |
display stop-accounting-buffer hwtacacs-scheme hwtacacs-scheme-name |
清除HWTACACS协议的统计信息 |
reset hwtacacs statistics { accounting | all | authentication | authorization } |
清除缓存中的没有得到响应的停止计费请求报文 |
reset stop-accounting-buffer hwtacacs-scheme hwtacacs-scheme-name |
通过配置Switch实现HWTACACS服务器对登录Switch的用户进行认证、授权、计费。
l 一台HWTACACS服务器(担当认证、授权、计费服务器的职责)与Switch相连,服务器IP地址为10.1.1.1。
l Switch与认证、授权、计费HWTACACS服务器交互报文时的共享密钥均为expert,发送给HWTACACS服务器的用户名中不带域名。
l 在HWTACACS服务器上设置与Switch交互报文时的共享密钥为expert。
图1-7 配置Telnet用户的远端HWTACACS认证、授权和计费
# 配置各接口的IP地址(略)。
# 开启Switch的Telnet服务器功能。
<Switch> system-view
[Switch] telnet server enable
# 配置Telnet用户登录采用AAA认证方式。
[Switch] user-interface vty 0 4
[Switch-ui-vty0-4] authentication-mode scheme
[Switch-ui-vty0-4] quit
# 配置HWTACACS方案。
[Switch] hwtacacs scheme hwtac
[Switch-hwtacacs-hwtac] primary authentication 10.1.1.1 49
[Switch-hwtacacs-hwtac] primary authorization 10.1.1.1 49
[Switch-hwtacacs-hwtac] primary accounting 10.1.1.1 49
[Switch-hwtacacs-hwtac] key authentication expert
[Switch-hwtacacs-hwtac] key authorization expert
[Switch-hwtacacs-hwtac] key accounting expert
[Switch-hwtacacs-hwtac] user-name-format without-domain
[Switch-hwtacacs-hwtac] quit
[Switch] domain 1
[Switch-isp-1] authentication login hwtacacs-scheme hwtac
[Switch-isp-1] authorization login hwtacacs-scheme hwtac
[Switch-isp-1] accounting login hwtacacs-scheme hwtac
[Switch-isp-1] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[Switch] domain 1
[Switch-isp-1] authentication default hwtacacs-scheme hwtac
[Switch-isp-1] authorization default hwtacacs-scheme hwtac
[Switch-isp-1] accounting default hwtacacs-scheme hwtac
通过配置Switch实现local认证,HWTACACS授权和RADIUS计费。Telnet用户的用户名和密码为telnet。
l 一台HWTACACS服务器(担当授权服务器的职责)与Switch相连,服务器IP地址为10.1.1.2。Switch与授权HWTACACS服务器交互报文时的共享密钥均为expert,发送给HWTACACS服务器的用户名中不带域名。
l 一台RADIUS服务器(担当计费服务器的职责)与Switch相连,服务器IP地址为10.1.1.1。Switch与计费RADIUS服务器交互报文时的共享密钥为expert。
& 说明:
其他接入如果需要此类AAA应用,和Telnet在域的AAA配置上类似,只有接入的区分。
图1-8 配置Telnet用户的local认证,TACACS授权和RADIUS计费
# 配置各接口的IP地址(略)。
# 开启Switch的Telnet服务器功能。
<Switch> system-view
[Switch] telnet server enable
# 配置Telnet用户登录采用AAA认证方式。
[Switch] user-interface vty 0 4
[Switch-ui-vty0-4] authentication-mode scheme
[Switch-ui-vty0-4] quit
# 配置HWTACACS方案。
[Switch] hwtacacs scheme hwtac
[Switch-hwtacacs-hwtac] primary authorization 10.1.1.2 49
[Switch-hwtacacs-hwtac] key authorization expert
[Switch-hwtacacs-hwtac] user-name-format without-domain
[Switch-hwtacacs-hwtac] quit
# 配置RADIUS方案。
[Switch] radius scheme rd
[Switch-radius-rd] primary accounting 10.1.1.1 1813
[Switch-radius-rd] key accounting expert
[Switch-radius-rd] server-type extended
[Switch-radius-rd] user-name-format without-domain
[Switch-radius-rd] quit
# 创建本地用户telnet。
[Switch] local-user telnet
[Switch-luser-telnet] service-type telnet
[Switch-luser-telnet] password simple telnet
# 配置ISP域的AAA方案。
[Switch] domain 1
[Switch-isp-1] authentication login local
[Switch-isp-1] authorization login hwtacacs-scheme hwtac
[Switch-isp-1] accounting login radius-scheme rd
[Switch-isp-1] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[Switch] domain 1
[Switch-isp-1] authentication default local
[Switch-isp-1] authorization default hwtacacs-scheme hwtac
[Switch-isp-1] accounting default radius-scheme cams
用户认证/授权总是失败。
(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) 确保设备的认证/授权和计费服务器的设置与实际情况相同。
HWTACACS的常见配置错误举例与RADIUS基本相似,可以参考以上内容。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!