本章节下载(1.62 MB)
目 录
2.3.12 使能RADIUS 服务器状态变为down时发送trap报文的功能
2.5 AAA及RADIUS/HWTACACS协议的显示和调试
2.6 AAA及RADIUS/HWTACACS协议典型配置举例
2.6.1 Telnet/SSH用户通过RADIUS服务器认证、计费的应用
2.6.3 PPP用户通过TACACS服务器认证、授权、计费的应用
2.6.5 Telnet用户通过TACACS服务器认证(一次性认证)、计费的应用
2.7 AAA及RADIUS/HWTACACS协议故障的诊断与排除
8.4.4 路由器与VRRP备份组虚地址之间建立SA配置举例
路由器必须防范来自公网上的恶意攻击。另外,有时用户无意识但有破坏性的访问也会导致设备的性能下降,甚至无法正常工作。因此,其安全特性有特别重要的地位。
Comware提供的网络安全特性:
l 基于RADIUS(Remote Authentication Dial-In User Service)和HWTACACS(HUAWEI Terminal Access Controller Access Control System)的AAA(Authentication, Authorization, Accounting)服务:与RADIUS和TACACS服务器配合实施的AAA服务,可以提供对接入用户的验证、授权和计费安全服务,防止非法访问。
l 验证协议:在PPP线路上支持CHAP和PAP验证。
l 包过滤(Packet Filter):用访问控制列表实现,允许指定可以通过(或禁止通过)路由器的报文类型。
l 应用层报文过滤ASPF(Application Specific Packet Filter):也称为状态防火墙,是一种高级通信过滤,它检查应用层协议信息并且监控基于连接的应用层协议状态,维护每一个连接的状态信息,并动态地决定数据包是否被允许通过防火墙或者被丢弃。
l 网络层安全(IP Security,IPSec):特定的通信方之间在IP层通过加密与数据源验证,来保证数据包在Internet上传输时的私有性、完整性和真实性。
l 事件日志:记录系统安全方面事件,实时跟踪非法侵入。
l 地址转换:NAT网关将公共网络和企业内部网分隔离开来,在公共网络中隐藏企业内部设备的IP地址,阻止来自公共网络上的攻击。
l 相邻路由器验证:确保所交换路由信息的可靠性。
l 视图分级保护:将用户分成4级,每级用户赋予不同的配置权限,级别低的用户不能进入更高级的视图。
本章中将详细介绍AAA及RADIUS配置、用户口令配置、防火墙和包过滤配置等,IPSec配置,IKE配置。PPP验证协议配置请参见链路层协议中的PPP配置,日志的配置请参见系统管理中日志配置,地址转换请参见网络协议中的NAT配置部分内容,相邻路由器验证请参见路由协议中各路由协议的配置。
系统命令行采用分级保护方式,命令行划分为参观级、监控级、配置级、管理级4个级别,只有提供了正确的登录口令,才能使用相应的命令。
AAA是验证(Authentication)、授权(Authorization)、计费(Accounting)的缩写,用来实现访问用户管理功能。AAA可以用多种协议来实现,这里AAA是基于RADIUS协议来实现的。
AAA提供如下功能:
l 用户的分级管理:用户可以对系统的配置数据进行管理维护,对设备进行监控和维护等操作,而这些操作对系统的正常运行至关重要。因此要对用户进行严格分级管理,不同级别的用户有不同的权限;低级别的用户只能进行一些查看操作,只有高级用户才能进行一些如修改数据、维护设备,以及其它比较敏感的操作。所有用户都必须进行口令验证,否则无法进入系统。
l PPP用户的验证:建立PPP连接时,对用户名进行验证。
l PPP用户的地址管理和分配:建立PPP连接时,可以为PPP用户分配事先指定的IP地址。
第二章将详细介绍RADIUS协议及其配置、用户口令配置、PPP用户地址配置。PPP验证协议请参见链路层协议配置模块中的PPP配置。
防火墙一方面阻止来自因特网的对受保护网络的未授权或未验证的访问,另一方面允许内部网络的用户对因特网进行Web访问或收发E-mail等。防火墙也可以作为一个访问因特网的权限控制关口,如允许组织内的特定的人可以访问因特网。

防火墙不单应用于和外部因特网的连接,也可以用于保护组织内部网络的大型机和重要资源(如数据)。对受保护数据的访问都必须经过防火墙的过滤,即使该访问是来自组织内部。
当外部网络的用户访问网内资源时,要经过防火墙;而内部网络的用户访问网外资源时,也会经过防火墙。这样,防火墙就起到了一个“警卫”的作用,可以将需要禁止的数据包在这里给丢掉。
一般把防火墙分为两类:网络层防火墙、应用层防火墙。网络层的防火墙主要获取数据包的包头信息,如协议号、源地址、目的地址和目的端口等,或者直接获取包头的一段数据;而应用层的防火墙则对整个信息流进行分析。
常见的防火墙有以下几种:
l 应用网关(Application Gateway):检验通过此网关的所有数据包中的应用层的数据。如FTP应用网关,对于连接的Client端来说是一个FTP Server,对于Server端来说是一个FTP Client。连接中传输的所有FTP数据包都必须经过此FTP应用网关。
l 电路级网关(Circuit-Level Gateway):此电路指虚电路。在TCP或UDP发起(Open)一个连接或电路之前,验证该会话的可靠性。只有在握手被验证为合法且握手完成之后,才允许数据包的传输。一个会话建立后,此会话的信息被写入防火墙维护的有效连接表中。数据包只有在它所含的会话信息符合该有效连接表中的某一条目(Entry)时,才被允许通过。会话结束时,该会话在表中的条目被删掉。电路级网关只对连接在会话层进行验证。一旦验证通过,在该连接上可以运行任何一个应用程序。以FTP为例,电路层网关只在一个FTP会话开始时,在TCP层对此会话进行验证。如果验证通过,则所有的数据都可以通过此连接进行传输,直至会话结束。
l 包过滤(Packet Filter):对每个数据包按照用户所定义的项目进行过滤,如比较数据包的源地址、目的地址等是否符合规则。包过滤不管会话的状态,也不分析数据。如用户规定允许端口是21或者大于等于1024的数据包通过,则只要端口符合该条件,数据包便可以通过此防火墙。如果配置的规则比较符合实际应用的话,在这一层能够过滤掉很多有安全隐患的数据包。
l 地址转换(NAT):地址转换又称地址代理,它实现了私有网络访问外部网络的功能。地址转换的机制就是将私有网络内主机的IP地址和端口替换为路由器的外部网络地址和端口,以及从路由器的端口转换为私有网络主机的IP地址和端口,即<私有地址+端口>与<公有地址+端口>之间的转换。私有地址是指内部网络或主机地址,公有地址是指在因特网上全球唯一的IP地址。因特网地址分配组织规定将下列的IP地址被保留用作私有地址:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
也就是说这三个范围内的地址不会在因特网上被分配,可在一个单位或公司内部使用。各企业根据在预见未来内部主机和网络的数量后,选择合适的内部网络地址,不同企业的内部网络地址可以相同。如果一个公司选择上述三个范围之外的其它网段作为内部网络地址,则有可能会造成混乱。地址转换在允许内部网络的主机访问网外资源的同时,为内部主机提供“隐私”(Privacy)保护。
包过滤一般是指对IP数据包的过滤。对路由器需要转发的数据包,先获取包头信息,包括IP层所承载的上层协议的协议号、数据包的源地址、目的地址、源端口和目的端口等,然后和设定的规则进行比较,根据比较的结果对数据包进行转发或者丢弃。
包过滤(对IP数据包)所选取用来判断的元素如图1-2所示(图中IP所承载的上层协议为TCP/UDP)。

大多数包过滤系统在数据本身上不做任何事,不做基于内容的筛选。
为了过滤数据包,需要配置一些规则,规定什么样的数据包可以通过,什么样的数据包不能通过。这些规则就是通过访问控制列表(Access Control List)体现的。
用户需要根据自己的安全策略来确定访问控制列表,并将其应用到整机或指定接口上,路由器就会根据访问控制列表来检查所有接口或指定接口上的所有数据包,对于符合规则的报文作正常转发或丢弃处理,从而起到防火墙的作用。
作为包过滤的访问控制列表和用于QoS的复杂流分类规则一同处理,二者在原理和操作上几乎相同,只是匹配后的动作有区别。
对于骨干路由器而言,维护正确的路由转发表是路由器正常工作的基础,而路由转发表的维护是通过相邻路由器动态交换路由信息来实现的。
在网络上,相邻的路由器需要交换大量的路由信息,不可靠的路由器可能会发送攻击网络设备的信息。如果具有路由信息认证的功能,路由器会对收到的相邻路由器的交换路由更新报文进行认证处理,从而保证路由器只接收可靠的路由信息。
相互交换路由信息的路由器都共享一个口令字,口令字与路由信息报文一起发送,收到路由信息的路由器对报文进行认证,检查报文中的口令字,如果与共享口令字相同,则接受报文,否则丢弃。
认证的实现有两种方式:明文认证和MD5认证。明文认证以明文形式发送口令字,安全性较低。而MD5认证是发送加密后的口令字,MD5认证方式安全性较高。
AAA是Authentication,Authorization and Accounting(认证、授权和计费)的简称,它提供了一个用来对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是对网络安全的一种管理。
这里的网络安全主要是指访问控制,包括:
l 哪些用户可以访问网络服务器?
l 具有访问权的用户可以得到哪些服务?
l 如何对正在使用网络资源的用户进行计费?
针对以上问题,AAA必须提供下列服务:
AAA支持以下认证方式:
l 不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。
l 本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在宽带接入服务器上。本地认证的优点是速度快,可以为运营降低成本;缺点是存储信息量受设备硬件条件限制。
l 远端认证:支持通过RADIUS协议或HWTACACS协议进行远端认证,由宽带接入服务器做为Client端,与RADIUS服务器或TACACS服务器通信。对于RADIUS协议,可以采用标准RADIUS协议或H3C公司的扩展RADIUS协议,与iTELLIN/CAMS等设备配合完成认证。
AAA支持以下授权方式:
l 直接授权:对用户非常信任,直接授权通过。
l 本地授权:根据宽带接入服务器上为本地用户帐号配置的相关属性进行授权。
l HWTACACS授权:由TACACS服务器对用户进行授权。
l if-authenticated授权:如果用户通过了验证,并且使用的验证方法不是none,则对用户授权通过。
l RADIUS认证成功后授权:RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。
AAA支持以下计费方式:
l 不计费:不对用户计费。
l 远端计费:支持通过RADIUS服务器或TACACS服务器进行远端计费。
AAA一般采用客户/服务器结构:客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。AAA是一种管理框架,因此,它可以用多种协议来实现,Comware中AAA是基于RADIUS协议或HWTACACS协议来实现的。
RADIUS是Remote Authentication Dial-In User Service(远程认证拨号用户服务)的简称,它是一种分布式的、客户机/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常被应用在既要求较高安全性、又要求维持远程用户访问的各种网络环境中(例如,它常被应用来管理使用串口和调制解调器的大量分散拨号用户)。RADIUS系统是NAS(Network Access Server)系统的重要辅助部分。
RADIUS服务包括三个组成部分:
l 协议:RFC2865、2866协议基于UDP/IP层定义了RADIUS帧格式及消息传输机制,并定义了1812 作为认证端口,1813作为计费端口。
l 服务器:RADIUS服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。
l 客户端:位于拨号访问服务器NAS(Network Access Server)侧,可以遍布整个网络。
RADIUS基于客户/服务器模型,NAS(如路由器)作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接入/挂断用户)。RADIUS服务器负责接收用户连接请求,认证用户,然后给NAS返回所有需要的信息。
RADIUS服务器通常要维护三个数据库:第一个数据库“Users”用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置),第二个数据库“Clients”用于存储RADIUS客户端的信息(如共享密钥),第三个数据库“Dictionary”存储的信息用于解释RADIUS协议中的属性和属性值的含义。如下图所示:

图2-1 RADIUS服务器的组成
另外,RADIUS服务器还能够作为其他AAA服务器的客户端进行代理认证或计费。RADIUS服务器支持多种方法来认证用户,如基于PPP的PAP、CHAP认证、基于UNIX的Login等。
RADIUS服务器对用户的认证过程通常需要利用NAS等设备的代理认证功能,RADIUS客户端和RADIUS服务器之间通过共享密钥认证相互间交互的消息,用户密码采用密文方式在网络上传输,增强了安全性。RADIUS协议合并了认证和授权过程,即响应报文中携带了授权信息。操作流程图和步骤如下所示:

图2-2 RADIUS的基本消息交互流程
基本交互步骤如下:
(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) RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request),Status-Type取值为stop;
(7) RADIUS服务器返回计费结束响应包(Accounting-Response)。
RADIUS采用UDP传输消息,通过定时器管理机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息正确收发。RADIUS报文结构如下:

图2-3 RADIUS报文结构
其中Identifier域用于匹配请求包和响应包,随着Attribute域改变、接收到有效响应包而不断变化,而在重传时保持不变化。Authenticator域(16字节)用于验证RADIUS服务器传输回来的请求,同时用于密码隐藏算法上,分为Request Authenticator和Response Authenticator。
l Request Authenticator采用16字节的随机码。
l Response Authenticator以对Code、Identifier、Request Authenticator 、Length、Attribute 和共享密钥进行MD5算法后的结果。
(1) 由Code域决定RADIUS报文的类型,主要包括:
表2-1 Code域主要取值的说明
|
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属性区分计费开始请求和计费结束请求。该报文包含属性和Access-Request报文大致相同。 |
|
5 |
Accounting-Response认证响应包 |
方向Server->Client,Server通知Client侧已经收到Accounting-Request报文并且已经正确记录计费信息。该报文包含端口上输入/输出字节数、输入/输出包数、会话时长等信息。 |
(2) Attribute域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(Type、Length、Value)三元组的形式提供,RFC中定义的标准Attribute域大致包括:
表2-2 Attribute域主要取值的说明
|
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号属性(Vender-Specific)可以被方便地扩展以支持用户自己定义的扩展属性,报文结构如下图所示:

HWTACACS安全协议是在TACACS(RFC1492)基础上进行了功能增强的一种安全协议。该协议与RADIUS协议类似,主要是通过Server-Client模式与TACACS服务器通信来实现多种用户的AAA功能,可用于PPP和VPDN接入用户及login用户的认证、授权和计费。
与RADIUS相比,HWTACACS具有更加可靠的传输和加密特性,更加适合于安全控制。HWTACACS协议与RADIUS协议的主要区别如下表:
表2-3 HWTACACS协议和RADIUS协议区别
|
HWTACACS协议 |
RADIUS协议 |
|
使用TCP,网络传输更可靠 |
使用UDP |
|
除了标准的HWTACACS报文头,对报文主体全部进行加密 |
只是对验证报文中的密码字段进行加密 |
|
认证和授权分离,例如,可以用一个TACACS服务器进行认证,另外一个TACACS服务器进行授权 |
认证和授权一起处理 |
|
适于进行安全控制 |
适于进行计费 |
|
支持对路由器上的配置命令进行授权使用 |
不支持 |
HWTACACS的典型应用是拨号用户或终端用户需要登录到路由器上进行操作,路由器作为TACACS客户端,将用户名和密码发给TACACS服务器进行验证,验证通过并得到授权之后可以登录到路由器上进行操作。如下图所示:

图2-5 HWTACACS的典型应用组网图
以Telnet用为例,使用HWTACACS对用户进行认证、授权和计费。在整个过程中的基本消息交互流程如下:
(1) 用户请求登录路由器,TACACS客户端收到请求之后,向TACACS服务器发送开始认证报文;
(2) TACACS服务器发送认证回应报文,请求用户名;TACACS客户端收到回应报文后,向用户询问用户名;
(3) TACACS客户端收到用户名后,向TACACS服务器发送认证持续报文,其中包括了用户名;
(4) TACACS服务器发送认证回应报文,请求登录密码;TACACS客户端收到回应报文,向用户询问登录密码;
(5) TACACS客户端收到登录密码后,向TACACS服务器发送认证持续报文,其中包括了登录密码;
(6) TACACS服务器发送认证回应报文,指示用户通过认证;
(7) TACACS客户端向TACACS服务器发送用户授权报文;
(8) TACACS服务器发送授权回应报文,指示用户通过授权;
(9) TACACS客户端收到授权回应成功报文,向用户输出路由器的配置界面;
(10) TACACS客户端向TACACS服务器发送计费开始报文;
(11) TACACS服务器发送计费回应报文,指示计费开始报文已经收到;
(12) 用户退出,TACACS客户端 向TACACS服务器发送计费结束报文;
(13) TACACS服务器 发送计费结束报文,指示计费结束报文已经收到。
基本消息交互流程图如下:

图2-6 Telnet用户认证、授权和计费流程图
& 说明:
在配置路由器的过程中,用户可能会发现超级终端上看到的个别命令及参数在本手册中没有描述,这主要是因为Comware V3软件兼容了LAN Switch的配置,实际上路由器是不支持这些命令的。
(1) 创建ISP域并配置相关属性
l 创建ISP域
l 配置用户使用的AAA方案
l 配置ISP域的状态
l 配置可接入用户数量的最大值
l 配置计费可选开关
l 定义本地地址池并为PPP用户分配IP地址
(2) 创建本地用户并配置相关属性(仅用于本地认证)
什么是ISP(Internet Service Provider)域?简单点说,ISP域即ISP用户群,一个ISP域即是由同属于一个ISP的用户构成的用户群。一般说来,在“userid@isp-name”形式(例如gw20010608@h3c163.net)的用户名中,“@”后的“isp-name”(如例中的“h3c163.net”)即为ISP域的域名。在路由器对用户进行接入控制时,对于用户名为“userid@isp-name”形式的ISP用户,系统就将把“userid”作为用于身份认证的用户名,把“isp-name”作为域名。
引入ISP域的设置是为了支持多ISP的应用环境:在这种环境中,同一个接入设备接入的有可能是不同ISP的用户。由于各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能各不相同,因此有必要通过设置ISP域的方法把它们区别开。在ISP域视图下,可以为每个ISP域配置包括使用的AAA方案在内的一整套单独的ISP域属性。
对于H3C系列路由器来说,每个接入用户都属于一个ISP域。系统中最多可以配置16个ISP域。如果某个用户在登录时没有上报ISP域名,则系统将把它归于缺省的ISP域。
请在系统视图下进行下列配置。
表2-4 创建/删除ISP域
|
操作 |
命令 |
|
创建ISP域或进入指定ISP域视图 |
domain [ isp-name | default { disable | enable isp-name } ] |
|
删除指定的ISP域 |
undo domain isp-name |
缺省情况下,系统中使用的域为“system”。
用户可以通过两种方式配置认证、授权、计费方案:
(1) 认证、授权、计费捆绑方式
采用这种方式时,用户通过scheme命令指定具体的AAA方案。若采用RADIUS(或HWTACAS)方案,认证、授权、计费统一由RADIUS(或HWTACAS)方案中指定的RADIUS(或TACACS)服务器来完成,即认证、授权、计费不能分别指定不同的方案。
若采用本地认证方案,只能完成认证、授权,不能实现计费。
如果配置了scheme radius-scheme radius-scheme-name local或scheme hwtacacs-scheme hwtacacs-scheme-name local,则local为RADIUS服务器或TACACS服务器没有正常响应后的备选认证方案。即当RADIUS服务器或TACACS服务器有效时,不使用本地认证;当RADIUS服务器或TACACS服务器无效时,使用本地认证。
如果local作为第一方案,那么只能采用本地认证,不能再同时采用RADIUS、HWTACACS或none方案。如果none作为第一方案,那么不能同时采用RADIUS、HWTACACS或local方案。
如果配置的认证方式为scheme none,则用户登录到系统后所能访问的命令级别为0。
请在ISP域视图下进行下列配置。
表2-5 配置ISP域的相关属性
|
操作 |
命令 |
|
配置域使用的AAA方案 |
scheme { radius-scheme radius-scheme-name [ local ] | hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none } |
|
恢复域使用的缺省的AAA方案 |
undo scheme [ radius-scheme | hwtacacs-scheme | none ] |
系统缺省使用的AAA方案为local。
(2) 认证、授权、计费分离方式
采用这种方式时,用户可以通过authentication、authorization、accounting这三条命令分别指定认证、授权、计费方案。如:采用RADIUS方案进行认证、授权,采用HWTACACS方案进行计费且计费可选,这样可以为用户提供更加灵活多样的组合方案。认证、授权、计费分离方式中对于AAA支撑的各种业务的具体实现如下:
l 对于终端用户
认证采用:RADIUS,HWTACACS,local,RADIUS-local,HWTACACS-local或者none。
授权采用:HWTACACS或者none。
计费采用:RADIUS,HWTACACS或者none。
用户可以参照上面的实现任意组合配置认证,授权和计费的方案。
l 对于FTP用户
对于FTP用户仅支持认证。
认证采用:RADIUS,HWTACACS,local,RADIUS-local,HWTACACS-local。
l 对于PPP及L2TP用户
认证采用:RADIUS,HWTACACS,local,RADIUS-local,HWTACACS-local或者none。
授权采用:HWTACACS或者none。
计费采用:RADIUS,HWTACACS或者none。
用户可以参照上面的实现任意组合配置认证、授权和计费的方案。
l 对于Portal业务
仅支持采用RADIUS进行认证和计费。
l 对于DVPN业务
当前仅支持RADIUS、local或者RADIUS-local认证、授权;支持RADIUS计费。
请在ISP域视图下进行下列配置。
表2-6 配置ISP域的相关属性
|
操作 |
命令 |
|
配置域使用的认证方案 |
authentication { radius-scheme radius-scheme-name [ local ] | hwtacacs-scheme hwtacacs-scheme-name [ local ] | local | none } |
|
恢复域缺省的认证方案 |
undo authentication |
|
配置域使用的授权方案 |
authorization { hwtacacs-scheme hwtacacs-scheme-name | none } |
|
恢复域缺省的授权方案 |
undo authorization |
|
配置域使用的计费方案 |
accounting { radius-scheme radius-scheme-name | hwtacacs-scheme hwtacacs-scheme-name | none } |
|
删除域使用的计费方案 |
undo accounting |
缺省情况下,没有配置分离的认证、授权、计费方案。
说明:
(1) 如果在配置了认证、授权、计费分离方案的同时还配置了认证、授权、计费捆绑方案,优先使用认证、授权、计费分离方案。
(2) 由于RADIUS方案与local方案不支持认证和授权的分离,在配置认证授权时应注意如下事项:
l 当域中配置了scheme radius-scheme命令或者scheme local命令,且没有同时配置authentication命令时,此时如果配置了authorization none,RADIUS方案和local方案返回的授权信息仍然有效;如果配置了authorization hwtacacs,表示使用HWTACACS方案进行授权。
l 如果配置了scheme radius-scheme或者scheme local命令,且同时配置了authentication hwtacacs-scheme命令,则使用HWTACACS方案进行认证,并且不进行授权。
每个ISP域有两种状态:active或block。当指示某个ISP域处于active状态时,允许该域下的用户请求网络服务;当指示某个ISP域处于block状态时,不允许该域下的用户请求网络服务,但是不影响已经在线的用户。一个ISP域在刚被创建时是处于active状态的,即在这个时候,允许任何属于该域的用户请求网络服务。
请在ISP域视图下进行下列配置。
表2-7 配置ISP域的状态
|
操作 |
命令 |
|
设置ISP域的状态 |
state { active | block } |
缺省情况下,当一个ISP域被创建以后,其状态为active。
可容纳接入用户数的最大值用来指定该ISP域最多可容纳多少个接入用户。缺省情况下,对任何一个ISP域,没有任何可容纳接入用户数的限制。
请在ISP域视图下进行下列配置。
|
操作 |
命令 |
|
指定可容纳接入用户数的最大值 |
access-limit { disable | enable max-user-number } |
|
恢复可容纳接入用户数到缺省设置 |
undo access-limit |
缺省情况下,当一个ISP域被创建以后,其可容纳的接入用户没有数量限制。
在对用户实施计费时,当发现没有可用的计费服务器或与计费服务器通信失败时,只要用户配置了accounting optional,即使无法实施计费,也不会挂断用户。
accounting optional命令与scheme命令中的none方案的区别在于,使用此命令时,系统仍然向计费服务器发送计费信息,但不管计费服务器是否响应,能否实施计费,系统都不会挂断用户。而使用none方案时,系统就不会向计费服务器发送计费信息,当然,也不会挂断用户。如果scheme命令中指定了采用RADIUS或HWTACACS方案,但没有配置此命令,系统就会向计费服务器发送计费信息,如果计费服务器没有响应,不能实施计费,那么系统就会挂断用户。
请在ISP域视图/RADIUS视图下进行下列配置。
|
操作 |
命令 |
|
打开计费可选开关 |
accounting optional |
|
关闭计费可选开关 |
undo accounting optional |
缺省情况下,当一个ISP域被创建以后,计费可选开关关闭。
采用PPP方式接入的用户,可以利用PPP地址协商功能获得IP地址。有三种方法可以为PPP用户分配IP地址:
l 不配置地址池,在接口上直接给对方配置IP地址。
l 在系统视图下定义IP地址池,然后在接口视图下指定该接口给对端分配地址时使用的IP地址池(只能指定一个)。
l 在域视图下定义PPP域用户的IP地址池(可以定义多个),依次使用这些地址池直接给用户分配IP地址。
前两种地址分配方式适用于不对PPP用户进行认证的情况,配置方法请参见《Comware V3 操作手册》链路层协议的PPP部分;第三种分配方式适用于对PPP用户进行认证的情况,配置方法如下。
请在ISP域视图下进行下列配置。
表2-10 定义PPP域用户的IP地址池
|
操作 |
命令 |
|
定义为PPP用户分配IP地址的地址池 |
ip pool pool-number low-ip-address [ high-ip-address ] |
|
删除指定的地址池 |
undo ip pool pool-number |
缺省情况下,没有配置IP地址池。
(1) 对于域的用户(包括userid和userid@isp-name两种用户)分配地址的优先级如下:
l 如果采用RADIUS或HWTACACS认证和授权,并且服务器给用户下发了地址,则采用服务器下发的地址。
l 如果服务器没有下发地址,而是下发地址池,则在域视图下相应的地址池中查找地址给用户。
l 如果上述两种方式没有分配到地址或是采用本地认证,则依次查找域视图下的地址池,并分配给用户。
l 如果接口配置了remote address ip-address命令,并且此地址没有被使用,则给用户分配此地址。
l 如果接口配置了remote address pool命令,则在域视图下相应的地址池中查找地址给用户分配。
l 如果接口没有配置了remote address命令,则在域视图下遍历所有的地址池查找地址给用户分配。
(2) 对于不认证用户,采用接口下指定的地址池(即在系统视图下定义的地址池)给用户分配地址。
& 说明:
当通过ip pool命令规划全局地址池或域地址池时,不能将网络地址和广播地址规划到地址池中。
当AAA方案选择了本地认证方案(local)时,应在路由器上创建本地用户并配置相关属性。
& 说明:
当用户配置了radius-scheme或hwtacacs-scheme认证方法时,应在RADIUS或HWTACACS服务器端进行类似的配置(是否能配置及如何配置取决于采用服务器),此时本地配置将不起作用。
所谓本地用户,是指在NAS(即路由器)上设置的一组用户的集合。该集合以用户名为用户的唯一标识。为使某个请求网络服务的用户可以通过本地认证,需要在NAS的本地用户数据库中添加相应的表项。
请在系统视图下进行下列配置。
表2-11 创建/删除本地用户
|
操作 |
命令 |
|
添加本地用户 |
local-user user-name |
|
删除指定类型的本地用户 |
undo local-user { user-name | all } |
缺省情况下,系统中没有任何本地用户。
本地用户的属性包括:用户密码显示方式、用户密码、用户状态以及授权用户可以使用业务类型等。
请在系统视图下进行下列设置。
|
操作 |
命令 |
|
设置所有本地用户密码的显示方式 |
local-user password-display-mode { cipher-force | auto } |
|
取消已设置的本地用户密码的显示方式 |
undo local-user password-display-mode |
其中,auto表示按照用户配置的密码显示方式(参考下面表格中password命令)显示,cipher-force表示所有接入用户的密码显示必须采用密文方式。
请在本地用户视图下进行下列配置。
表2-13 设置/取消指定用户的相关属性
|
操作 |
命令 |
|
设置指定用户的密码 |
password { simple | cipher } password |
|
取消指定用户的密码设置 |
undo password |
|
设置指定用户的状态 |
state { active | block } |
|
取消指定用户的状态 |
undo state { active | block } |
|
设置用户可以使用的服务类型 |
service-type { dvpn | telnet | ssh | terminal | pad } |
|
取消用户可以使用的服务 |
undo service-type { dvpn | telnet | ssh | terminal | pad } |
|
设置用户的优先级 |
level level |
|
恢复缺省的优先级 |
undo level |
|
授权FTP用户可以访问的目录 |
service-type ftp [ ftp-directory directory] |
|
恢复对FTP用户授权的缺省目录 |
undo service-type ftp [ ftp-directory ] |
|
设置PPP用户的回呼及主叫号码属性 |
service-type ppp [ callback-number callback-number | call-number call-number [ : subcall-number ] ] |
|
恢复PPP用户回呼及主叫号码属性的缺省设置 |
undo service-type ppp [ callback-number | call-number ] |
系统缺省不对用户授权任何服务。用户缺省优先级为0。
& 说明:
l 如果配置的认证方式需要用户名和口令(包括本地认证、radius认证及hwtacacs认证),则用户登录系统后所能访问的命令级别由用户的优先级确定。如果配置的认证方式为不认证或采用password认证,则用户登录到系统后所能访问的命令级别由用户界面的优先级确定。
l 使用password cipher命令配置的加密码在新的Comware版本中为最多64个字符,而在旧版本中为24个字符,所以当路由器的Comware程序从新版本升级为旧版本时,将可能丢失加密的密码,请做好配置文件的备份。
RADIUS协议配置是以RADIUS方案为单位进行的,一个RADIUS方案在实际组网环境中既可以是一台独立的RADIUS服务器,也可以是两台配置相同、但IP地址不同的主、从RADIUS服务器。由于存在上述情况,因此每个RADIUS方案的属性包括:主服务器的IP地址、从服务器的IP地址、共享密钥以及RADIUS服务器类型等。
实际上,RADIUS协议配置仅仅定义了NAS和RADIUS Server之间进行信息交互所必须的一些参数。为了使这些参数能够生效,还必须在某个ISP域视图下指定该域引用配置有上述参数的RADIUS方案。具体配置命令的细节,请参见前述的“AAA配置”一节。
l 创建RADIUS方案
l 配置RADIUS方案所属的VPN
l 设置RADIUS认证/授权服务器
l 设置RADIUS计费服务器及相关属性
l 设置RADIUS报文的共享密钥
l 设置RADIUS请求报文的最大传送次数
l 设置支持的RADIUS服务器的类型
l 设置RADIUS服务器的状态
l 设置发送给RADIUS服务器的用户名格式
l 设置发送给RADIUS服务器的数据流的单位
l 配置NAS发送RADIUS报文使用的源地址
l 配置RADIUS服务器的定时器
l 使能RADIUS服务器状态变为down时发送trap报文的功能
在以上的配置任务中,创建RADIUS方案、配置RADIUS认证/授权服务器是必需的;其余任务则是可选的,用户可以根据各自的具体需求决定是否进行这些配置。
如前所述,RADIUS协议的配置是以RADIUS方案为单位进行的。因此,在进行其它RADIUS协议配置之前,必须先创建RADIUS方案并进入其视图。
可以使用下面命令创建/删除RADIUS方案。
请在系统视图下进行下列配置。
表2-14 创建/删除RADIUS方案
|
操作 |
命令 |
|
创建RADIUS方案并进入其视图 |
radius scheme radius-scheme-name |
|
删除RADIUS方案 |
undo radius scheme radius-scheme-name |
一个RADIUS方案可以同时被多个ISP域引用。
缺省情况下,系统中已创建了一个名为“system”的RADIUS方案,其各项属性均为缺省值。
注意:
FTP、Terminal、SSH不是RADIUS协议的标准属性取值,需要修改RADIUS服务器的属性,在属性login-service(标准属性15)中增加两个取值的定义:
login-service(50) = SSH
login-service(51)=FTP
login-service(52) = Terminal
修改后再启动RADIUS服务器方可。
系统的radius的默认scheme为system,user-name-format默认属性为without-domain;而对于其他radius scheme,user-name-format默认属性为with-domain。
用户可以配置RADIUS方案所属的VPN。
请在RADIUS视图下进行下列配置。
表2-15 配置RADIUS方案所属的VPN
|
操作 |
命令 |
|
配置RADIUS方案所属的VPN |
vpn-instance vpn-instance-name |
|
取消RADIUS方案所属的VPN |
undo vpn-instance |
注意:
l 指定的VPN必须已经存在且已经生成VPN索引,如果指定的VPN不存在,则提示:The VPN instance doesn't exist(该VPN名字不存在);
l 如果配置的VPN存在,但是没有生成实例,则提示:The VPN instance has no index.(VPN实例未生成索引);
l 一个RADIUS方案只能与一个VPN绑定。
目前,H3C系列路由器有两种配置方式,下面将分别介绍:
请在RADIUS视图下进行下列配置。
表2-16 设置RADIUS报文的共享密钥、IP地址和端口号
|
操作 |
命令 |
|
设置主备RADIUS认证服务器的IP地址、端口号和共享密钥 |
authentication { primary | secondary } ip ip-address [ port port-number ] [ key { simple | cipher } key-string ] |
|
恢复主备RADIUS认证服务器的IP地址、端口号和共享密钥为缺省值。 |
undo authentication { primary | secondary } |
|
设置主备RADIUS计费服务器的IP地址、端口号和共享密钥 |
accounting { primary | secondary } ip ip-address [ port port-number ] [ key { simple | cipher } key-string ] |
|
恢复主备RADIUS计费服务器的IP地址、端口号和共享密钥为缺省值。 |
undo accounting { primary | secondary } |
缺省情况下,对于系统创建的RADIUS方案“system”,其主认证服务器的IP地址为127.0.0.1,UDP端口号为1645,其备份认证服务器的IP地址为0.0.0.0,UDP端口号为1812;对于新创建的RADIUS方案,其主、备份认证服务器的IP地址均为0.0.0.0,UDP端口号为1812。所有的RADIUS方案的主备认证服务器的缺省无密钥。
缺省情况下,对于系统创建的RADIUS方案“system”,其主计费服务器的IP地址为127.0.0.1,UDP端口号为1646,其备份计费服务器的IP地址为0.0.0.0,UDP端口号为1813;对于新创建的RADIUS方案,其主、备份计费服务器的IP地址均为0.0.0.0,UDP端口号为1813。所有的RADIUS方案的主备计费服务器的缺省无密钥。
可以使用下面命令设置RADIUS认证/授权服务器的IP地址和端口号。
请在RADIUS视图下进行下列配置。
表2-17 设置RADIUS认证/授权服务器的IP地址和端口号
|
操作 |
命令 |
|
设置主RADIUS认证/授权服务器的IP地址和端口号 |
primary authentication ip-address [ port-number ] |
|
将主RADIUS认证/授权服务器的IP地址和端口号恢复为缺省值 |
undo primary authentication |
|
设置从RADIUS认证/授权服务器的IP地址和端口号 |
secondary authentication ip-address [ port-number ] |
|
将从RADIUS认证/授权服务器的IP地址和端口号恢复为缺省值 |
undo secondary authentication |
RADIUS服务器的授权信息是随认证应答报文发给RADIUS客户端的,故不需要指定单独的授权服务器。
在实际组网环境中,可以指定2台RADIUS服务器分别作为主、备认证/授权服务器;也可以指定一台服务器既作为主认证/授权服务器,又作为备份认证/授权服务器。
(2) 配置RADIUS计费服务器及相关属性
l 配置RADIUS计费服务器
可以使用下面命令设置RADIUS计费服务器的IP地址和端口号。
请在RADIUS视图下进行下列配置。
表2-18 设置RADIUS计费服务器的IP地址和端口号
|
操作 |
命令 |
|
设置主RADIUS计费服务器的IP地址和端口号 |
primary accounting ip-address [ port-number ] |
|
将主RADIUS计费服务器的IP地址和端口号恢复为缺省值 |
undo primary accounting |
|
设置从RADIUS计费服务器的IP地址和端口号 |
secondary accounting ip-address [ port-number ] |
|
将从RADIUS计费服务器的IP地址和端口号恢复为缺省值 |
undo secondary accounting |
在实际组网环境中,可以指定2台RADIUS服务器分别作为主、备计费服务器;也可以指定一台服务器既作为主计费服务器,又作为从计费服务器。
为了保证NAS与RADIUS服务器能够正常交互,在设置RADIUS服务器的IP地址和UDP端口之前,必须确保RADIUS服务器与NAS的路由连接正常。此外,由于RADIUS协议采用不同的UDP端口来收发认证/授权和计费报文,因此必须将认证/授权端口号和计费端口号设置得不同。RFC2138/2139中建议的认证/授权端口号为1812、计费端口号为1813,但是也可以不选用RFC建议值(尤其是比较早期的RADIUS Server,普遍采用1645作为认证/授权端口号、1646作为计费端口号)。在使用中,请保证H3C系列路由器上的RADIUS服务端口设置与RADIUS服务器上的端口设置保持一致。
缺省情况下,主、备计费服务器的IP地址为0.0.0.0,计费服务的UDP端口号为1813。
l 使能停止计费报文缓存及重传功能
由于停止计费请求报文涉及到话单结算、并最终影响收费多少,对用户和ISP都有比较重要的影响,因此NAS应该尽最大努力把它发送给RADIUS计费服务器。所以,如果RADIUS计费服务器对H3C系列路由器发出的停止计费请求报文没有响应,路由器应将其缓存在本机上,然后重新发送直到RADIUS计费服务器产生响应,或者在重新发送的次数达到指定的次数限制后将其丢弃。可以使用下面的命令来设置路由器允许停止计费报文缓存功能。
请在RADIUS视图下进行下列配置。
|
操作 |
命令 |
|
使能停止计费报文缓存功能 |
stop-accounting-buffer enable |
|
关闭停止计费报文缓存功能 |
undo stop-accounting-buffer enable |
|
使能停止计费报文重传功能,并配置停止计费报文可以传送的最大次数 |
retry stop-accounting retry-times |
|
恢复停止计费报文最大传送次数为缺省值 |
undo retry stop-accounting |
缺省情况下,使能停止计费报文缓存功能,最多可以将缓存的停止计费请求报文重发500次。
l 设置允许实时计费请求无响应的最大次数
RADIUS服务器通常通过连接超时定时器来判断用户是否在线。如果RADIUS服务器长时间收不到NAS传来的实时计费报文,它会认为线路或设备故障并停止对用户计费。为了配合RADIUS服务器的这种特性,有必要在不可预见的故障条件下在NAS端尽量与RADIUS服务器同步切断用户连接。H3C系列路由器提供对连续实时计费请求无响应次数限制的设置——在NAS向RADIUS服务器发出的实时计费请求没有得到响应的次数超过所设定的限度时,NAS将切断用户连接。
可以使用下面的命令设置允许实时计费请求无响应的最大次数。
请在RADIUS视图下进行下列配置。
|
操作 |
命令 |
|
设置允许实时计费请求无响应的最大次数 |
retry realtime-accounting retry-times |
|
恢复允许实时计费请求无响应的最大次数为缺省值 |
undo retry realtime-accounting |
考虑一下该值如何计算:假设RADIUS服务器的连接超时时长为T,NAS的实时计费间隔为t,则NAS的count应取为T除以t后取整的数值。因此,在实际应用中,应尽量将T设置为一个能被t整除的数。
缺省情况下,最多允许5次实时计费请求无响应。
(3) 设置RADIUS报文的共享密钥
可以使用下面命令设置RADIUS报文的共享密钥。
请在RADIUS视图下进行下列配置。
表2-21 设置RADIUS报文的共享密钥
|
命令 |
|
|
设置RADIUS认证/授权报文的共享密钥 |
key authentication string |
|
恢复RADIUS认证/授权报文共享密钥为缺省 |
undo key authentication |
|
设置RADIUS计费报文的共享密钥 |
key accounting string |
|
恢复RADIUS计费报文共享密钥为缺省 |
undo key accounting |
缺省情况下,RADIUS认证/授权报文和RADIUS计费报文的无共享密钥。
由于RADIUS协议采用UDP报文来承载数据,因此其通信过程是不可靠的。如果RADIUS服务器在响应超时定时器规定的时长内没有响应NAS,则NAS有必要向RADIUS服务器重传RADIUS请求报文。如果各类报文累计的重传次数超过设置的最大值,而RADIUS服务器仍旧没有响应时,则NAS将认为其与当前RADIUS服务器的通信已经中断,并将转而向其它的RADIUS服务器发送请求报文。
可以使用下面命令设置RADIUS各类报文重传次数之和的最大值。
请在RADIUS视图下进行下列配置。
表2-22 设置RADIUS各类报文重传次数之和的最大值
|
操作 |
命令 |
|
设置RADIUS请求报文的最大传送次数 |
retry retry-times |
|
将RADIUS请求报文的最大传送次数恢复为缺省值 |
undo retry |
缺省情况下,RADIUS各类报文重传次数之和的最大值为3次。
限制唯一性用户是指在CAMS上设置了“在线数量限制”为1的用户。在路由器与CAMS配合实现认证/授权/计费的AAA方案中,当这类用户通过认证/授权,开始计费时,如果路由器发生重启,在CAMS进行用户在线检查前,当用户再次登录路由器时,路由器会提示该用户已经在线,导致该用户无法正常访问网络资源。只有在网络管理员手工删除该用户的在线信息后,该用户才可以再次登录
解决上述问题的方法是在路由器上启动设备重启用户再认证功能。启动设备重启用户再认证功能后,路由器每次发生重启时:
l 路由器机生成Accounting-On报文,该报文主要包括NAS-ID、NAS-IP(源IP)和会话ID信息;
l 路由器每隔设定的时间间隔向CAMS发送Accounting-On报文;
l CAMS收到Accounting-On报文后,立即向路由器发送一个响应报文,并根据Accounting-On报文中的NAS-ID、NAS-IP和会话ID,找到并删除通过路由器接入的原用户在线信息,并按照最后一次计费更新报文结束计费。
l 当路由器收到CAMS的响应报文后,即停止发送Accounting-On报文。
l 如果路由器发送Accounting-On报文的次数已达到设定的最大发送次数,但是仍没有收到CAMS的响应报文,则路由器停止发送Accounting-On报文。
& 说明:
Accounting-On报文中的主要属性:NAS-ID、NAS-IP和会话ID由路由器自动生成,其中NAS-IP还可以通过命令(nas-ip)手工配置,如果手工配置,请注意配置正确、合法的IP地址;如果不配置,路由器会自动选报文出接口的IP地址作为NAS-IP地址。
创建RADIUS方案,配置该方案中的RADIUS认证/计费服务器为CAMS。
设备重启用户再认证功能的配置过程如下:
|
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入RADIUS方案视图 |
radius scheme radius-scheme-name |
- |
|
启动设备重启用户再认证功能 |
accounting-on enable [ send times ] [ interval interval ] |
缺省情况下:设备重启用户再认证功能处于关闭状态;发送Accounting-On报文的最大次数(times)为15次、时间间隔(interval)为3秒 |
可以使用下面的命令来选择支持何种RADIUS服务器类型。
请在RADIUS视图下进行下列配置。
|
操作 |
命令 |
|
设置支持何种类型的RADIUS服务器 |
server-type { extended | standard | portal } |
|
恢复RADIUS服务器类型为缺省设置 |
undo server-type |
缺省情况下,RADIUS服务器的类型为standard。
对于某个RADIUS方案中的主、备服务器(无论是认证/授权服务器还是计费服务器),当主服务器因故障与NAS的通信中断时,NAS会主动地转而与从服务器交互报文。当主服务器恢复正常后,NAS却不会立即恢复与其通信,而是继续与从服务器通信;直到从服务器也出现故障后,NAS才能再转而恢复与主服务器交互报文。为了使NAS在主服务器故障排除后迅速恢复与其通信,需要通过下面的命令手工将主服务器的状态设为active。
当主服务器与从服务器的状态都为active或都为block时,NAS将只把报文发送到主服务器上。
请在RADIUS视图下进行下列配置。
表2-25 设置RADIUS服务器的状态
|
操作 |
命令 |
|
设置主RADIUS认证/授权服务器的状态 |
state primary authentication { block | active } |
|
设置主RADIUS计费服务器的状态 |
state primary accounting { block | active } |
|
设置从RADIUS认证/授权服务器的状态 |
state secondary authentication { block | active } |
|
设置从RADIUS计费服务器的状态 |
state secondary accounting { block | active } |
缺省情况下,RADIUS方案中各RADIUS服务器的状态均为active。
如前所述,接入用户通常以“userid@isp-name”的格式命名,“@”后面的部分为ISP域名,H3C系列路由器就是通过该域名来决定将用户归于哪个ISP域的。但是,有些较早期的RADIUS服务器不能接受携带有ISP域名的用户名,在这种情况下,有必要将用户名中携带的域名去除后再传送给RADIUS服务器。因此,H3C系列路由器提供下面的命令以指定发送给RADIUS服务器的用户名是否携带有ISP域名。
表2-26 设置发送给RADIUS服务器的用户名格式
|
操作 |
命令 |
|
设置发送给RADIUS服务器的用户名格式 |
user-name-format { with-domain | without-domain } |
& 说明:
如果指定某个RADIUS方案不允许用户名中携带有ISP域名,那么请不要在两个乃至两个以上的ISP域中同时设置使用该RADIUS方案,否则,会出现虽然实际用户不同(在不同的ISP域中)、但RADIUS服务器认为用户相同(因为传送到它的用户名相同)的错误。
缺省情况下,NAS发送给RADIUS服务器的用户名携带有ISP域名。
H3C系列路由器提供下面的命令以指定发送给RADIUS服务器的数据流的单位。
表2-27 设置发送给RADIUS服务器的数据流的单位
|
操作 |
命令 |
|
设置发送给RADIUS服务器的数据流的单位 |
data-flow-format data { byte | giga-byte | kilo-byte | mega-byte } packet { giga-packet | kilo-packet | mega- packet | one-packet } |
|
恢复发送到RADIUS服务器的数据流的单位为缺省设置 |
undo data-flow-format |
缺省情况下,RADIUS方案默认的发送数据单位为byte,数据包的单位为one packet。
请在相应视图下进行下列配置。
表2-28 配置NAS发送RADIUS报文使用的源地址
|
操作 |
命令 |
|
配置NAS发送RADIUS报文使用的源地址(RADIUS视图) |
nas-ip ip-address |
|
取消NAS发送RADIUS报文使用的源地址(RADIUS视图) |
undo nas-ip |
|
配置NAS发送RADIUS报文使用的源地址(系统视图) |
radius nas-ip ip-address [ vpn-instance vpn-instance-name ] |
|
取消NAS发送RADIUS报文使用的源地址(系统视图) |
undo radius nas-ip [ vpn-instance vpn-instance-name ] |
这两条命令的作用相同。当执行radius nas-ip命令并指定vpn-instance时,配置的是私网的nas-ip。
缺省情况下,不指定源地址,即以发送报文的接口地址作为源地址。
如果在RADIUS请求报文(认证/授权请求或计费请求)传送出去一段时间后,NAS还没有得到RADIUS服务器的响应,则有必要重传RADIUS请求报文,以保证用户确实能够得到RADIUS服务。
可以使用下面命令设置RADIUS服务器应答超时定时器。
请在RADIUS视图下进行下列配置。
表2-29 设置RADIUS服务器应答超时定时器
|
操作 |
命令 |
|
设置RADIUS服务器应答超时定时器 |
timer response-timeout seconds |
|
将RADIUS服务器应答超时定时器恢复为缺省值 |
undo timer response-timeout |
缺省情况下,RADIUS服务器应答超时定时器为3秒。
& 说明:
不同接入模块配置的RADIUS服务器应答超时时间与请求报文的最大传送次数乘积不能大于或等于接入模块的超时时间。比如,语音接入的超时时间为10秒,所以应答超时时间与请求报文最大传送次数的乘积不能大于等于10秒;telnet接入的超时时间为30秒,所以应答超时时间与请求最大传送次数的乘积不能大于等于30秒。否则,会造成计费停止、报文不能被缓存以及主备服务器不能切换的问题。
请在RADIUS视图下进行下列配置。
表2-30 配置RADIUS服务器的主服务器恢复激活状态时间
|
操作 |
命令 |
|
配置恢复激活时间 |
timer quiet minutes |
|
恢复缺省配置 |
undo timer quiet |
缺省情况下,主服务器恢复激活状态前需要等待5分钟。
为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,NAS会向RADIUS服务器发送一次在线用户的计费信息。
可以使用下面命令设置实时计费间隔。
请在RADIUS视图下进行下列配置。
|
操作 |
命令 |
|
设置实时计费间隔 |
timer realtime-accounting minutes |
|
将实时计费间隔恢复为缺省值 |
undo timer realtime-accounting |
其中,minutes为实时计费间隔时间,单位为分钟,其取值必须为3的整数倍。
实时计费间隔的取值对NAS和RADIUS服务器的性能有一定的相关性要求——取值越小,对NAS和RADIUS服务器的性能要求越高。建议当用户量比较大(¦1000)时,尽量把该间隔的值设置得大一些。以下是实时计费间隔与用户量之间的推荐比例关系:
|
用户数 |
实时计费间隔(分钟) |
|
1~99 |
3 |
|
100~499 |
6 |
|
500~999 |
12 |
|
¦1000 |
¦15 |
缺省情况下,实时计费间隔为12分钟。
请在系统视图下进行下列配置。
表2-33 使能RADIUS 服务器状态变为down时发送trap报文的功能
|
操作 |
命令 |
|
使能RADIUS 服务器状态变为down时发送trap报文的功能 |
radius trap { authentication-server-down | accounting-server-down } |
|
关闭RADIUS 服务器状态变为down时发送trap报文的功能 |
undo radius trap { authentication-server-down | accounting-server-down } |
缺省情况下,关闭该功能。
路由器提供了本地简单RADIUS服务器端功能(包括认证和授权),称之为本地RADIUS认证服务器功能。
表2-34 配置本地RADIUS认证服务器
|
操作 |
命令 |
|
配置本地RADIUS认证服务器 |
local-server nas-ip ip-address key password |
|
取消本地RADIUS认证服务器的配置 |
undo local-server nas-ip ip-address |
缺省情况下,系统创建了一个NAS-IP为127.0.0.1、无缺省密钥的本地RADIUS认证服务器。
& 说明:
l 采用本地RADIUS认证服务器功能时,其认证/授权服务的UDP端口号必须为1645,计费服务的UDP端口号为1646。
l 用此命令配置的报文加密密钥(key password)必须和在RADIUS方案视图下用命令key authentication配置的认证/授权报文加密密钥一致。
l 包括系统缺省创建的本地RADIUS认证服务器在内,设备最多支持16个本地RADIUS认证服务器。
HWTACACS的配置包括:
l 创建HWTACACS方案
l 配置HWTACACS方案所属的VPN
l 配置TACACS认证服务器
l 配置TACACS授权服务器
l 配置TACACS计费功能
l 配置TACACS服务器的密钥
l 配置NAS发送HWTACACS报文使用的源地址
l 配置TACACS服务器的用户名格式
l 配置TACACS服务器的流量单位
l 配置TACACS服务器的定时器
l 配置在线用户主动修改当前密码
& 说明:
与RADIUS的配置相比,配置TACACS服务器时需要注意以下几点:
l 除删除方案外,HWTACACS的大部分属性在改变配置时都不检查当前是否有用户在使用此方案。
l TACACS服务器缺省没有密钥。
在以上的配置任务中,创建HWTACACS方案、配置TACACS认证/授权服务器是必需的;其余任务则是可选的,用户可以根据各自的具体需求决定是否进行这些配置。
如前所述,HWTACACS协议的配置是以HWTACACS方案为单位进行的。因此,在进行其它HWTACACS协议配置之前,必须先创建HWTACACS方案并进入其视图。
请在系统视图下进行下列配置。
|
操作 |
命令 |
|
创建HWTACACS方案,并进入HWTACACS视图 |
hwtacacs scheme hwtacacs-scheme-name |
|
删除HWTACACS方案 |
undo hwtacacs scheme hwtacacs-scheme-name |
如果指定的HWTACACS方案名不存在,将创建一个新的HWTACACS方案并进入HWTACACS视图。
在HWTACACS视图下,可以对此HWTACACS方案进行具体配置。
系统最多支持配置128个HWTACACS方案。只有当方案没有用户使用时,才能删除该方案。
缺省情况下,没有定义HWTACACS方案。
用户可以配置HWTACACS方案所属的VPN。
请在HWTACACS视图下进行下列配置。
表2-36 配置HWTACACS方案所属的VPN
|
操作 |
命令 |
|
配置HWTACACS方案所属的VPN |
vpn-instance vpn-instance-name |
|
取消HWTACACS方案所属的VPN |
undo vpn-instance |
注意:
l 指定的VPN必须已经存在且已经生成VPN索引,如果指定的VPN不存在,则提示:The VPN instance doesn't exist(该VPN名字不存在);
l 如果配置的VPN存在,但是没有生成实例,则提示:The VPN instance has no index.(VPN实例未生成索引);
l 一个HWTACACS方案只能与一个VPN绑定。
使用TACACS服务器作为AAA服务器时,可设置密钥以提高路由器与TACACS服务器通信的安全性。用户可以配置一个主服务器和两个备份服务器。
请在HWTACACS视图下进行下列配置。
表2-37 配置TACACS服务器的IP地址、端口号和密钥
|
操作 |
命令 |
|
命令用来设置主备TACACS认证服务器的IP地址、端口号和共享密钥 |
authentication { primary | secondary } ip ip-address [ port port-number ] [ key { simple | cipher } key-string ] |
|
删除配置的认证服务器 |
undo authentication { primary | secondary ip ip-address } |
|
命令用来设置主备TACACS授权服务器的IP地址、端口号和共享密钥 |
authorization { primary | secondary } ip ip-address [ port port-number ] [ key { simple | cipher } key-string ] |
|
删除配置的授权服务器 |
undo authorization { primary | secondary ip ip-address } |
|
命令用来设置主备TACACS计费服务器的IP地址、端口号和共享密钥 |
accounting { primary | secondary } ip ip-address [ port port-number ] [ key { simple | cipher } key-string ] |
|
删除配置的计费服务器 |
undo accounting { primary | secondary ip ip-address } |
缺省情况下,没有密钥。
(1) 配置TACACS认证服务器
请在HWTACACS视图下进行下列配置。
表2-38 配置TACACS认证服务器
|
操作 |
命令 |
|
配置TACACS主认证服务器 |
primary authentication ip-address [ port ] |
|
删除TACACS主认证服务器 |
undo primary authentication |
|
配置TACACS从认证服务器 |
secondary authentication ip-address [ port ] |
|
删除TACACS从认证服务器 |
undo secondary authentication |
主认证服务器和备用认证服务器的IP地址不能相同,否则将提示配置不成功。端口号缺省使用49。
如果多次执行此命令,新的配置将覆盖原来的配置。
只有当没有活跃的用于发送认证报文的TCP连接使用该认证服务器时,才允许删除该服务器。删除服务器只对之后的报文有效。
(2) 配置TACACS授权服务器
请在HWTACACS视图下进行下列配置。
表2-39 配置TACACS授权服务器
|
操作 |
命令 |
|
配置TACACS主授权服务器 |
primary authorization ip-address [ port ] |
|
删除TACACS主授权服务器 |
undo primary authorization |
|
配置TACACS从授权服务器 |
secondary authorization ip-address [ port ] |
|
删除TACACS从授权服务器 |
undo secondary authorization |
& 说明:
对于所有类型的用户,如果配置了HWTACACS认证,但没有配置TACACS授权服务器,则用户无法登录。
主授权服务器和备用授权服务器的IP地址不能相同,否则将提示配置不成功。端口号缺省使用49。
如果多次执行此命令,新的配置将覆盖原来的配置。
只有当没有活跃的用于发送授权报文的TCP连接使用该授权服务器,才允许删除该服务器。
(3) 配置TACACS计费服务器及相关属性
l 配置TACACS计费服务器
请在HWTACACS视图下进行下列配置。
表2-40 配置TACACS计费服务器
|
操作 |
命令 |
|
配置TACACS主计费服务器 |
primary accounting ip-address [ port ] |
|
删除配置的TACACS主计费服务器 |
undo primary accounting |
|
配置TACACS从计费服务器 |
secondary accounting ip-address [ port ] |
|
删除配置的TACACS从计费服务器 |
undo secondary accounting |
主计费服务器和备用计费服务器的IP地址不能相同,否则将提示配置不成功。端口号缺省使用49。
缺省情况下,TACACS计费服务器的IP地址为全零。
如果多次执行此命令,新的配置将覆盖原来的配置。
只有当没有活跃、用于发送计费报文的TCP连接使用该计费服务器时,才允许删除该服务器。
l 使能停止计费报文重传功能
请在HWTACACS视图下进行下列配置。
|
操作 |
命令 |
|
使能停止计费报文重传,并配置传送的最大次数 |
retry stop-accounting retry-times |
|
关闭停止计费报文重传功能 |
undo retry stop-accounting |
缺省情况下,使能停止计费报文重传功能,且允许停止计费报文传送100次。
(4) 配置TACACS服务器的密钥
使用TACACS服务器作为AAA服务器时,可设置密钥以提高路由器与TACACS服务器通信的安全性。
请在HWTACACS视图下进行下列配置。
表2-42 配置TACACS服务器的密钥
|
操作 |
命令 |
|
配置TACACS计费、授权及认证服务器的密钥 |
key { accounting | authorization | authentication } string |
|
删除配置 |
undo key { accounting | authorization | authentication } |
缺省情况下,没有密钥。
请进行下列配置。
表2-43 配置NAS发送HWTACACS报文使用的源地址
|
操作 |
命令 |
|
配置NAS发送HWTACACS报文使用的源地址(HWTACACS视图) |
nas-ip ip-address |
|
取消NAS发送HWTACACS报文使用的源地址HWTACACS视图) |
undo nas-ip |
|
配置NAS发送HWTACACS报文使用的源地址(系统视图) |
hwtacacs nas-ip ip-address [ vpn-instance vpn-instance-name ] |
|
取消NAS发送HWTACACS报文使用的源地址(系统视图) |
undo hwtacacs nas-ip [ vpn-instance vpn-instance-name ] |
当执行hwtacacs nas-ip命令并指定vpn-instance时,配置的是私网的nas-ip。
缺省情况下,不指定源地址,即以发送报文的接口地址作为源地址。
用户名通常采用“userid@isp-name”格式,“@”后面的部分为域名。
如果TACACS服务器不接受带域名的用户名时,可以配置将用户名的域名去除后再传送给TACACS服务器。
请在HWTACACS视图下进行下列配置。
表2-44 配置TACACS服务器的用户名格式
|
操作 |
命令 |
|
配置用户名带域名 |
user-name-format with-domain |
|
配置用户名不带域名 |
user-name-format without-domain |
缺省情况下,发往TACACS服务器的用户名带域名。
请在HWTACACS视图下进行下列配置。
表2-45 配置TACACS服务器的流量单位
|
操作 |
命令 |
|
配置TACACS服务器的流量单位 |
data-flow-format data [ byte | giga-byte | kilo-byte | mega-byte ] data-flow-format packet [ giga-packet | kilo-packet | mega-packet | one-packet ] |
|
恢复发送到TACACS服务器的数据流的单位为缺省设置 |
undo data-flow-format [ data | packet ] |
缺省情况下,使用字节做为流量的单位(byte)。
由于HWTACACS是基于TCP实现的,因此,服务器应答超时或TCP超时都可能导致与TACACS服务器的连接断开。
请在HWTACACS视图下进行下列配置。
表2-46 配置TACACS服务器应答超时时间
|
操作 |
命令 |
|
配置应答超时时间 |
timer response-timeout seconds |
|
恢复缺省配置 |
undo timer response-timeout |
缺省情况下,应答超时时间为5秒。由于各种接入对超时时间要求不同,建议配置该值小于30秒。
请在HWTACACS视图下进行下列配置。
表2-47 配置TACACS服务器的主服务器恢复激活状态时间
|
操作 |
命令 |
|
配置恢复激活时间 |
timer quiet minutes |
|
恢复缺省配置 |
undo timer quiet |
缺省情况下,主服务器恢复激活状态前需要等待5分钟。
为了对用户实施实时计费,有必要设置实时计费的时间间隔。在设置了该属性以后,每隔设定的时间,NAS会向TACACS服务器发送一次在线用户的计费信息。
可以使用下面命令设置实时计费间隔。
请在HWTACACS视图下进行下列配置。
|
操作 |
命令 |
|
设置实时计费间隔 |
timer realtime-accounting minutes |
|
将实时计费间隔恢复为缺省值 |
undo timer realtime-accounting |
其中,minutes为实时计费间隔时间,单位为分钟,其取值必须为3的整数倍。
实时计费间隔的取值对NAS和TACACS服务器的性能有一定的相关性要求——取值越小,对NAS和TACACS服务器的性能要求越高。建议当用户量比较大(¦1000)时,尽量把该间隔的值设置得大一些。以下是实时计费间隔与用户量之间的推荐比例关系:
|
用户数 |
实时计费间隔(分钟) |
|
1~99 |
3 |
|
100~499 |
6 |
|
500~999 |
12 |
|
¦1000 |
¦15 |
缺省情况下,实时计费间隔为12分钟。
请在用户视图下进行下列操作。
|
操作 |
命令 |
|
配置在线用户主动修改当前密码 |
hwtacacs change-password self |
系统会提示用户输入旧密码、新密码并确认新密码,如3次不能修改成功,TACACS服务器会自动退出修改操作;如修改成功,TACACS服务器会给出提示。
该功能只对配置为TACACS验证的Terminal用户(包括console、aux、tty、vty)有效,对其它用户无效。
& 说明:
在线用户主动修改当前密码时,TACACS Server应同时开启此功能。
完成上述配置后,在任意视图下执行display命令可以显示配置后AAA、RADIUS/HWTACACS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可清除相关配置。
在用户视图下,执行debugging命令可进行调试。
表2-51 AAA协议的显示和调试
|
操作 |
命令 |
|
显示所有或指定ISP域的配置信息 |
display domain [ isp-name ] |
|
显示用户连接的相关信息 |
display connection [ domain isp-name | hwtacacs-scheme hwtacacs-scheme-name | ip ip-address | mac mac-address | radius-scheme radius-scheme-name | ucibindex ucib-index | user-name user-name ] |
|
显示本地用户的相关信息 |
display local-user [ domain isp-name | service-type { pad | telnet | ssh | terminal | ftp | ppp } | state { active | block } | user-name user-name ] |
表2-52 RADIUS协议的显示和调试
|
操作 |
命令 |
|
显示RADIUS全局的nas-ip |
display radius nas-ip |
|
显示所有或指定RADIUS方案的配置信息 |
display radius [ scheme radius-scheme-name ] |
|
显示RADIUS报文的统计信息 |
display radius statistics |
|
显示缓存的没有得到响应的停止计费请求报文 |
display stop-accounting-buffer { radius-scheme radius-scheme-name | session-id session-id | time-range start-time stop-time | user-name user-name } |
|
打开RADIUS报文调试开关 |
debugging radius packet |
|
关闭RADIUS报文调试开关 |
undo debugging radius packet |
|
删除那些缓存的、没有得到响应的停止计费请求报文 |
reset stop-accounting-buffer { radius-scheme radius-scheme-name | session-id session-id | time-range start-time stop-time | user-name user-name } |
|
清除RADIUS服务器的统计信息 |
reset radius statistics |
表2-53 HWTACACS协议的显示和调试
|
操作 |
命令 |