05-AAA_RADIUS_HWTACACS配置
本章节下载 (497.91 KB)
1.4.10 配置RADIUS的accounting-on功能
1.4.11 配置RADIUS服务器中安全策略服务器的IP地址
1.8.1 Telnet/SSH用户通过RADIUS服务器认证、授权、计费的应用配置
1.8.2 FTP/Telnet用户本地认证、授权、计费配置
1.8.3 PPP用户通过HWTACACS服务器认证、授权、计费的应用配置
1.9 AAA RADIUS HWTACACS常见配置错误举例
AAA是认证、授权和计费(Authentication, Authorization and Accounting)的简称,它提供了一个对认证、授权和计费这三种安全功能进行统一配置的框架,实际上是网络安全的一种管理机制。
这里的网络安全主要是指访问控制,包括:
l 哪些用户可以访问网络服务器;
l 具有访问权的用户可以得到哪些服务;
l 如何对正在使用网络资源的用户进行计费。
针对以上问题,AAA必须提供下列服务:
AAA支持以下认证方式:
l 不认证:对用户非常信任,不对其进行合法性检查,一般情况下不采用这种方式。
l 本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在设备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。
l 远端认证:支持通过RADIUS协议或HWTACACS协议进行远端认证,由设备(如交换机、路由器)作为客户端,与RADIUS服务器或HWTACACS服务器通信。对于RADIUS协议,可以采用标准或扩展的RADIUS协议,与iTELLIN/CAMS等系统配合完成认证。
AAA支持以下授权方式:
l 直接授权:对用户非常信任,直接授权通过,此时用户的权限为系统的默认权限。
l 本地授权:根据设备上为本地用户帐号配置的相关属性进行授权。
l RADIUS授权:RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。RADIUS认证成功后,RADIUS授权才起作用,授权信息携带在认证回应报文中下发给用户。
l HWTACACS授权:由HWTACACS服务器对用户进行授权。
AAA支持以下计费方式:
l 不计费:不对用户计费。
l 本地计费:本地计费是为了支持本地用户的连接数限制管理,实现了对用户接入数的统计功能,并没有实际的费用统计功能。本地的接入数管理只对本地计费有效,对本地认证和授权没有作用。
l 远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。
AAA一般采用客户端/服务器结构:客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。AAA可以通过多种协议来实现,目前设备中的AAA是基于RADIUS协议或HWTACACS协议来实现的。
一个ISP(Internet Service Provider,Internet服务提供者)域是由属于同一个ISP的用户构成的用户群。
在“userid@isp-name”形式的用户名中,“@”后的“isp-name”即为ISP域的域名。接入设备将“userid”作为用于身份认证的用户名,将“isp-name”作为域名。
在多ISP的应用环境中,同一台设备接入的有可能是不同ISP的用户。而且各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能各不相同,因此有必要通过设置ISP域的方法把它们区分开,并为每个ISP域单独配置包括AAA策略(例如使用的RADIUS方案)在内的属性集。
如前所述,AAA是一种管理框架,因此,它可以用多种协议来实现。在实际应用中,最常使用RADIUS协议来实现AAA。
RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常被应用在既要求较高安全性、又允许远程用户访问的各种网络环境中(例如,它常被用来管理使用调制解调器的大量分散的拨号用户)。
RADIUS服务包括如下三个组成部分:
l 协议:RFC 2865和RFC 2866基于UDP定义了RADIUS的帧格式及其消息传输机制,并定义了1812作为认证端口,1813作为计费端口。
l 服务器:RADIUS服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。
l 客户端:位于网络接入服务器设备侧,可以遍布整个网络。
RADIUS采用客户机/服务器模型。
l 设备作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接入/挂断用户)。
l RADIUS服务器负责接收用户连接请求,认证用户,然后给设备返回所有需要的信息。
RADIUS服务器通常要维护三个数据库,如图1-1所示:
l 第一个数据库“Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置)
l 第二个数据库“Clients”:用于存储RADIUS客户端的信息(如共享密钥)
l 第三个数据库“Dictionary” :用于存储解释RADIUS协议中的属性和属性值含义的信息。
另外,RADIUS服务器还能够作为其他AAA服务器的客户端进行代理认证或计费。RADIUS服务器支持多种方法来认证用户,如基于PPP的PAP、CHAP认证。
RADIUS客户端和RADIUS服务器之间通过共享密钥来认证相互间交互的消息,增强了安全性。RADIUS协议合并了认证和授权过程,在响应报文中携带了授权信息。用户、RADIUS客户端和RADIUS服务器之间的交互流程,如图1-2所示。
交互步骤如下:
(1) 用户输入用户名和口令;
(2) RADIUS客户端根据获取的用户名和口令,向RADIUS服务器发送认证请求包(Access-Request);
(3) RADIUS服务器将该用户信息与Users数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证接受包(Access-Accept)发送给RADIUS客户端;如果认证失败,则返回认证拒绝包(Access-Reject);
(4) RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request),状态类型(Status-Type)取值为start;
(5) RADIUS服务器返回计费开始响应包(Accounting-Response);
(6) 用户开始访问网络资源;
(7) RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request),状态类型Status-Type取值为stop;
(8) RADIUS服务器返回计费结束响应包(Accounting-Response);
(9) 用户结束访问网络资源。
RADIUS采用UDP报文来传输消息,通过定时器管理机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息正确收发。RADIUS报文结构如图1-3所示。
各字段的解释如下:
(1) Code域(1字节)决定RADIUS报文的类型,如表1-1所示。
Code |
报文类型 |
报文说明 |
1 |
Access-Request认证请求包 |
方向Client->Server,Client将用户信息传输到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字节)用于匹配请求包和响应包,随着Attribute域的改变以及接收到有效响应包而不断变化,而在重传时保持不变。
(3) Length域(2字节)指明整个包的长度,内容包括Code、Identifier、Length、Authenticator和Attribute。超过长度域的字节被视为填充,在接收时应被忽略;如果接收到的包的实际长度小于Length域的值时,则会被丢弃。
(4) Authenticator域(16字节)用于验证RADIUS服务器传输回来的请求,并且还用于密码隐藏算法中,分为Request Authenticator和Response Authenticator。
(5) Attribute域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(Type、Length、Value)三元组的形式提供。
l 类型(Type)域1个字节,取值为1~255,用于指明属性的类型,表1-2列出了RADIUS授权、认证常用的属性。
l 长度(Length)域1个字节,指明此属性的长度,单位为字节,包括类型字段、长度字段和属性字段。
l 属性值(Value)域包括该属性的信息,其格式和内容由类型域和长度域决定,最大长度为253字节。
Type |
属性类型 |
Type |
属性类型 |
1 |
User-Name |
23 |
Framed-IPX-Network |
2 |
User-Password |
24 |
State |
3 |
CHAP-Password |
25 |
Class |
4 |
NAS-IP-Address |
26 |
Vendor-Specific |
5 |
NAS-Port |
27 |
Session-Timeout |
6 |
Service-Type |
28 |
Idle-Timeout |
7 |
Framed-Protocol |
29 |
Termination-Action |
8 |
Framed-IP-Address |
30 |
Called-Station-Id |
9 |
Framed-IP-Netmask |
31 |
Calling-Station-Id |
10 |
Framed-Routing |
32 |
NAS-Identifier |
11 |
Filter-ID |
33 |
Proxy-State |
12 |
Framed-MTU |
34 |
Login-LAT-Service |
13 |
Framed-Compression |
35 |
Login-LAT-Node |
14 |
Login-IP-Host |
36 |
Login-LAT-Group |
15 |
Login-Service |
37 |
Framed-AppleTalk-Link |
16 |
Login-TCP-Port |
38 |
Framed-AppleTalk-Network |
17 |
(unassigned) |
39 |
Framed-AppleTalk-Zone |
18 |
Reply_Message |
40-59 |
(reserved for accounting) |
19 |
Callback-Number |
60 |
CHAP-Challenge |
20 |
Callback-ID |
61 |
NAS-Port-Type |
21 |
(unassigned) |
62 |
Port-Limit |
22 |
Framed-Route |
63 |
Login-LAT-Port |
RADIUS协议具有良好的可扩展性,协议中定义的26号属性(Vendor-Specific)用于设备厂商对RADIUS进行扩展,以实现标准RADIUS没有定义的功能。
如图1-4所示的报文结构中,Vendor-ID域占4字节,表示厂商代号,最高字节为0,其余3字节的编码见RFC 1700。厂商可以封装多个自己定义的“(Type、Length、Value)”子属性,从而在应用中得以扩展。
HWTACACS(HUAWEI Terminal Access Controller Access Control System,华为终端访问控制器控制系统协议)是在TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与RADIUS协议类似,主要是通过客户端/服务器模式与HWTACACS服务器通信来实现多种类型用户的AAA功能,可用于PPP(Point-to-Point Protocol,点对点协议)和VPDN(Virtual Private Dial-up Network,虚拟私有拨号网络)接入用户及终端用户的认证、授权和计费。
与RADIUS相比,HWTACACS具有更为可靠的传输和加密特性,更加适合于安全控制。HWTACACS协议与RADIUS协议的主要区别如表1-3所示。
HWTACACS协议 |
RADIUS协议 |
使用TCP,网络传输更可靠 |
使用UDP |
除了HWTACACS报文头,对报文主体全部进行加密 |
只对验证报文中的密码字段进行加密 |
认证和授权分离,例如,可以用一个HWTACACS服务器进行认证,另外一个HWTACACS服务器进行授权 |
认证和授权一起处理 |
更适于进行安全控制 |
更适于进行计费 |
支持对设备的配置命令进行授权使用 |
不支持 |
HWTACACS的典型应用是终端用户需要登录到设备上进行操作。语音网关作为HWTACACS的客户端,将用户名和密码发给HWTACACS服务器进行验证,验证通过并得到授权之后可以登录到语音网关上进行操作,如图1-5所示。
以Telnet用户为例,说明使用HWTACACS对用户进行认证、授权和计费的过程。基本消息交互流程图如图1-6所示。
在整个过程中的基本消息交互流程如下:
(1) 用户请求登录语音网关,HWTACACS客户端收到请求之后,向HWTACACS服务器发送认证开始报文;
(2) HWTACACS服务器发送认证回应报文,请求用户名。HWTACACS客户端收到回应报文后,向用户询问用户名;
(3) HWTACACS客户端收到用户名后,向HWTACACS服务器发送认证持续报文,其中包括了用户名;
(4) HWTACACS服务器发送认证回应报文,请求登录密码。HWTACACS客户端收到回应报文,向用户询问登录密码;
(5) HWTACACS客户端收到登录密码后,向HWTACACS服务器发送认证持续报文,其中包括了登录密码;
(6) HWTACACS服务器发送认证回应报文,指示用户通过认证;
(7) HWTACACS客户端向HWTACACS服务器发送授权请求报文;
(8) HWTACACS服务器发送授权回应报文,指示用户通过授权;
(9) HWTACACS客户端收到授权回应成功报文,向用户输出语音网关的配置界面;
(10) HWTACACS客户端向HWTACACS服务器发送计费开始报文;
(11) HWTACACS服务器发送计费回应报文,指示计费开始报文已经收到;
(12) 用户退出,HWTACACS客户端向HWTACACS服务器发送计费结束报文;
(13) HWTACACS服务器发送计费结束报文,指示计费结束报文已经收到。
表1-4 AAA配置任务简介
配置任务 |
说明 |
详细配置 |
创建ISP域 |
必选 |
|
配置ISP域的属性 |
可选 |
|
配置ISP域的AAA认证方案 |
必选 如果采用本地认证,请参见“配置本地用户的属性”; 如果采用RADIUS认证,请参见“配置RADIUS”; 如果采用HWTACACS认证,请参见“配置HWTACACS ” |
|
配置ISP域的AAA授权方案 |
可选 |
|
配置ISP域的AAA计费方案 |
可选 |
|
配置本地用户的属性 |
可选 |
|
配置强制切断用户连接 |
可选 |
配置任务 |
说明 |
详细配置 |
创建RADIUS方案 |
必选 |
|
配置RADIUS认证/授权服务器 |
必选 |
|
配置RADIUS计费服务器及相关参数 |
可选 |
|
配置RADIUS报文的共享密钥 |
必选 |
|
配置RADIUS报文的超时重传次数的最大值 |
可选 |
|
配置支持的RADIUS服务器的类型 |
可选 |
|
配置RADIUS服务器的状态 |
可选 |
|
配置发送给RADIUS服务器的数据相关属性 |
可选 |
|
配置RADIUS服务器的定时器 |
可选 |
|
配置RADIUS的accounting on功能 |
可选 |
|
配置RADIUS服务器中安全策略服务器的IP地址 |
可选 |
|
使能RADIUS客户端的监听端口 |
可选 |
表1-6 HWTACACS配置任务简介
配置任务 |
说明 |
详细配置 |
创建HWTACACS方案 |
必选 |
|
配置HWTACACS认证服务器 |
必选 |
|
配置HWTACACS授权服务器 |
可选 |
|
配置HWTACACS计费服务器 |
可选 |
|
配置HWTACACS报文的共享密钥 |
必选 |
|
配置发送给HWTACACS服务器的数据相关属性 |
可选 |
|
配置HWTACACS服务器的定时器 |
可选 |
AAA功能可以在为合法用户提供网络接入服务的同时,对网络设备进行保护,防止非授权访问和抵赖行为。同时,通过配置ISP域可以对接入用户进行AAA等管理。
AAA将用户类型分为:lan-access用户(如802.1x认证、MAC地址认证用户)、login用户(如SSH、Telnet、FTP、终端接入用户)、Portal用户、PPP用户、VoIP用户、命令行用户(命令行授权用户)。
对于除命令行用户之外的各类型用户请求,按照实际需求,可以单独配置认证/授权/计费的策略。命令行用户可以单独配置授权策略,用来支持对设备的配置命令进行授权使用。
进行远端认证、授权或计费时,需要已经创建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 } |
可选 缺省情况下,自助服务器定位功能处于关闭状态 |
定义为PPP用户分配IP地址的地址池 |
ip pool pool-number low-ip-address [ high-ip-address ] |
可选 缺省情况下,没有定义为PPP用户分配IP地址的IP地址池 |
& 说明:
自助服务器定位功能需要与支持自助服务的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用户采用缺省的认证方案 |
为Portal用户配置认证方案 |
authentication portal { none | radius-scheme radius-scheme-name } |
可选 缺省情况下,Portal用户采用缺省的认证方案 |
为PPP用户配置认证方案 |
authentication ppp { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,PPP用户采用缺省的认证方案 |
为VoIP用户配置认证方案 |
authentication voip radius-scheme radius-scheme-name |
可选 缺省情况下,VoIP用户采用缺省的认证方案 |
& 说明:
l authentication default命令配置的认证方案不区分用户类型,即对所有类型的用户都起作用。此配置的优先级低于具体接入方式的配置。
l 当RADIUS被配置选择为认证方案时,AAA只接受RADIUS 服务器的认证结果,RADIUS授权的信息虽然在认证成功回应的报文中携带,但在认证回应的处理流程中不会被处理。
l 如果配置了radius-scheme radius-scheme-name local或hwtacacs-scheme hwtacacs-scheme-name local,则local为RADIUS 服务器或TACACS server没有正常响应后的备选认证方案。即当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用户采用缺省的授权方案 |
为Portal用户配置授权方案 |
authorization portal { none | radius-scheme radius-scheme-name } |
可选 缺省情况下,Portal用户采用缺省的授权方案 |
为PPP用户配置授权方案 |
authorization ppp { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,PPP用户采用缺省的授权方案 |
为VoIP用户配置授权方案 |
authorization voip radius-scheme radius-scheme-name |
可选 缺省情况下,VoIP用户采用缺省的授权方案 |
& 说明:
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用户采用缺省的计费方案 |
为Portal用户配置计费方案 |
accounting portal { none | radius-scheme radius-scheme-name } |
可选 缺省情况下,Portal用户采用缺省的计费方案 |
为PPP用户配置计费方案 |
accounting ppp { hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none | radius-scheme radius-scheme-name [ local ] } |
可选 缺省情况下,PPP用户采用缺省的计费方案 |
为VoIP用户配置计费方案 |
accounting voip radius-scheme radius-scheme-name |
可选 缺省情况下,VoIP用户采用缺省的计费方案 |
& 说明:
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 | { pad | ssh | telnet | terminal } * [ level level ] } |
必选 缺省情况下,系统不对用户授权任何服务 |
设置用户可以使用的服务类型为FTP |
service-type ftp |
可选 缺省情况下,系统不支持FTP匿名用户访问,不对用户授权任何服务 |
|
设置PPP用户的回呼及主叫号码属性 |
service-type ppp [ call-number call-number [ : subcall-number ] | callback-nocheck | callback-number callback-number ] |
可选 缺省情况下,系统不对用户授权任何服务;若授权PPP服务,缺省设置为回呼不认证,不设置用户回呼号码,不对ISDN用户进行主叫号码认证 |
|
设置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 | portal } | 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 } |
必选 此命令目前只对lan-access、Portal和PPP服务类型的用户有效 |
RADIUS配置是以RADIUS方案为单位进行的。当创建一个新的RADIUS方案之后,需要对属于此方案的RADIUS服务器的IP地址和UDP端口号进行设置,这些服务器包括认证/授权和计费服务器,而每种服务器又有主服务器和从服务器的区别。每个RADIUS方案的属性包括:主服务器的IP地址、从服务器的IP地址、共享密钥以及RADIUS服务器类型等。
RADIUS配置仅仅定义了设备和RADIUS服务器之间进行信息交互所必须的一些参数。为了使这些参数能够生效,还必须在某个ISP域视图下指定该域引用的RADIUS方案。具体配置细节,请参见“表1-5”。
在进行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的accounting-on功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
使能accounting-on功能 |
accounting-on enable |
必选 缺省情况下, accounting-on功能处于关闭状态 |
设置accounting-on报文重发次数 |
accounting-on enable send send-times |
可选 缺省情况下,accounting-on报文重发次数为5次 |
设置accounting-on报文重发时间间隔 |
accounting-on enable interval seconds |
可选 缺省情况下,accounting-on报文重发时间间隔为3秒 |
& 说明:
对于命令accounting-on enable,系统启动后,如果当前系统中没有使能accounting-on功能的认证方案,则执行完该命令后,必须执行save操作并重启系统使其生效。但是,如果当前系统中已经有方案使能了accounting-on功能,则对未启动该功能的认证方案执行该命令后,accounting-on功能会立即生效。
在设备上开启了Portal+功能时,需要有安全策略服务器对通过接入设备访问网络的用户进行安全检查,以确认用户是否可以合理的访问网络资源。该配置用来设定该安全策略服务器的IP地址。
表1-24 设置RADIUS服务器中安全策略服务器IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
必选 缺省情况下,未定义RADIUS方案 |
设置RADIUS服务器的安全策略服务器IP地址 |
security-policy-server ip-address |
可选 缺省情况下,RADIUS服务器中安全策略服务器IP地址未设置 |
注意:
l 当接入设备上有多个端口使能Portal功能时,各接口所对应的安全策略服务器可能不同,因此一个RADIUS方案中可以配置多个安全策略服务器IP地址,最多不能超过8个。
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 | portal } | 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 | pad | ppp | 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 } |
操作 |
命令 |
查看所有或指定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 |
& 说明:
SSH用户和Telnet用户通过RADIUS服务器进行认证、授权、计费的配置方法类似,下面的描述以Telnet用户的远端认证为例。
如图1-7所示,配置语音网关实现RADIUS服务器对登录语音网关的Telnet用户进行认证、授权和计费。
l 一台RADIUS服务器(其担当认证RADIUS服务器和计费RADIUS服务器的职责)与语音网关相连,服务器IP地址为10.1.1.1。
l 语音网关与认证RADIUS服务器交互报文时的共享密钥为expert、与计费RADIUS服务器交互报文时的共享密钥为expert,发送给RADIUS服务器的用户名带域名。
l RADIUS服务器使用CAMS服务器。在RADIUS服务器上设置与语音网关交互报文时的共享密钥为expert;设置验证及计费的端口号;添加Telnet用户名及登录密码,用户名应为“userid@isp-name”形式。
图1-7 配置Telnet用户的远端RADIUS认证、授权和计费
# 配置各接口的IP地址(略)。
# 开启语音网关的Telnet服务器功能。
<VG> system-view
[VG] telnet server enable
# 配置Telnet用户登录采用AAA认证方式。
<VG> system-view
[VG] user-interface vty 0 4
[VG-ui-vty0-4] authentication-mode scheme
[VG-ui-vty0-4] quit
# 创建ISP域。
[VG] domain 1
# 配置用户计费可选。RADIUS服务器使用CAMS服务器时,必须进行该配置,因为CAMS服务器并不对计费报文作回应。
[VG-isp-1] accounting optional
[VG-isp-1] quit
# 配置RADIUS方案。
[VG] radius scheme rad
[VG-radius-rad] primary authentication 10.1.1.1 1812
[VG-radius-rad] primary accounting 10.1.1.1 1813
[VG-radius-rad] key authentication expert
[VG-radius-rad] key accounting expert
[VG-radius-rad] server-type extended
[VG-radius-rad] user-name-format with-domain
[VG-radius-rad] quit
# 配置ISP域的AAA方案。在该应用配置中,因为接入用户对认证、授权和计费三个过程都需要,所以需要在域中对认证、授权和计费方案全部配置。
[VG] domain 1
[VG-isp-1] authentication login radius-scheme rad
[VG-isp-1] authorization login radius-scheme rad
[VG-isp-1] accounting login radius-scheme rad
[VG-isp-1] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[VG] domain 1
[VG-isp-1] authentication default radius-scheme rad
[VG-isp-1] authorization default radius-scheme rad
[VG-isp-1] accounting default radius-scheme rad
& 说明:
FTP用户除了没有计费过程外,与Telnet用户通过本地认证、授权的配置方法类似,下面描述仅以Telnet用户为例。
如图1-8所示,配置VG实现对登录VG的Telnet用户进行本地认证、授权和计费。
# 配置各接口的IP地址(略)。
# 开启设备的Telnet服务器功能。
<VG> system-view
[VG] telnet server enable
# 配置Telnet用户登录采用AAA认证方式。
[VG] user-interface vty 0 4
[VG-ui-vty0-4] authentication-mode scheme
[VG-ui-vty0-4] quit
# 创建本地用户telnet。
[VG] local-user telnet
[VG-luser-telnet] service-type telnet
[VG-luser-telnet] password simple aabbcc
[VG-luser-telnet] quit
# 配置ISP域的AAA方案为本地认证、授权和计费。
[VG] domain system
[VG-isp-system] authentication login local
[VG-isp-system] authorization login local
[VG-isp-system] accounting login local
[VG-isp-system] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[VG-isp-system] authentication default local
[VG-isp-system] authorization default local
[VG-isp-system] accounting default local
使用Telnet登陆时输入用户名为userid@system,以使用system域进行认证。
如图1-9所示,配置语音网关实现HWTACACS服务器对登录语音网关的PPP用户分配IP地址,并进行认证、授权、计费。
l 一台HWTACACS服务器(其担当认证、授权、计费服务器的职责)与语音网关相连,服务器IP地址为10.1.1.1。
l 语音网关与认证、授权、计费HWTACACS服务器交互报文时的共享密钥均为expert,发送给HWTACACS服务器的用户名中不带域名。
l 在HWTACACS服务器上设置与语音网关交互报文时的共享密钥为expert;添加PPP用户名及密码。
图1-9 配置PPP用户的远端HWTACACS认证、授权和计费
# 配置HWTACACS方案。
<VG> system-view
[VG] hwtacacs scheme hwtac
[VG-hwtacacs-hwtac] primary authentication 10.1.1.1 49
[VG-hwtacacs-hwtac] primary authorization 10.1.1.1 49
[VG-hwtacacs-hwtac] primary accounting 10.1.1.1 49
[VG-hwtacacs-hwtac] key authentication expert
[VG-hwtacacs-hwtac] key authorization expert
[VG-hwtacacs-hwtac] key accounting expert
[VG-hwtacacs-hwtac] user-name-format without-domain
[VG-hwtacacs -hwtac] quit
# 配置ISP的AAA方案。
[VG] domain 1
[VG-isp-1] authentication ppp hwtacacs-scheme hwtac
[VG-isp-1] authorization ppp hwtacacs-scheme hwtac
[VG-isp-1] accounting ppp hwtacacs-scheme hwtac
[VG-isp-1] ip pool 1 200.1.1.1 200.1.1.99
[VG-isp-1] quit
# 或者不区分用户类型,配置缺省的AAA方案。
[VG] domain 1
[VG-isp-1] authentication default hwtacacs-scheme hwtac
[VG-isp-1] authorization default hwtacacs-scheme hwtac
[VG-isp-1] accounting default hwtacacs-scheme hwtac
[VG-isp-1] ip pool 1 200.1.1.1 200.1.1.99
[VG-isp-1] quit
# 配置语音网关上的虚拟模板参数。
[VG] interface virtual-template 1
[VG-virtual-template 1] link-protocol ppp
[VG-virtual-template 1] ppp authentication-mode pap domain 1
[VG-virtual-template 1] ip address 2.2.2.1 255.255.255.0
[VG-virtual-template 1] remote address pool 1
[VG-virtual-template 1] quit
# 配置以太网接口。
[VG] interface GigabitEthernet 0/0
[VG-GigabitEthernet0/0] ip address 10.1.1.2 255.255.255.0
用户认证/授权总是失败。
(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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!