《数据系列_技术原理分册_第11章_Radius协议》由会员分享,可在线阅读,更多相关《数据系列_技术原理分册_第11章_Radius协议(48页珍藏版)》请在金锄头文库上搜索。
1、 第11章 Radius协议第11章Radius协议概述:RADIUS(Remote Authentication Dial In User Service)协议是一项通用的认证计费协议。该协议在利用IEEE 802 LAN优势的基础上,提供了对连接到局域网的设备或用户进行认证和授权的功能。通过此方式的认证,能够在 LAN 这种多点访问环境中提供一种点对点识别用户的方式。这里的端口是指连接到LAN的一个单点结构,可以是被认证系统的MAC地址,也可以是服务器或网络设备上连接LAN的物理端口,或者是在IEEE 802.11 无线 LAN 环境中定义的工作站和访问点。RADIUS是一种C/S结构的协
2、议,它的客户端最初就是NAS(Net Access Server)服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,其全部工作都是基于Attribute-Length-Value的向量进行的。用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提
3、出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。 RADIUS还支持代理和漫游功能。简单地说,代理就是一台服务器,可以作为其他RADIUS服务器的代理,负责转发RADIUS认证和计费数据包。所谓漫游功能,就是代理的一个具体实现,这样可以让用户通过本
4、来和其无关的RADIUS服务器进行认证。 RADIUS服务器和NAS通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。采用UDP的基本考虑是因为NAS和RADIUS服务器大多在同一个局域网中,使用UDP更加快捷方便。 RADIUS协议还规定了重传机制。如果NAS向某个RADIUS服务器提交请求没有收到返回信息,可以按照设定的时间和次数向RADIUS服务器重传该请求,当所有重传报文都没有收到返回消息时,才认为该请求失败。这一机制可以避免由于到RADIUS服务器的单个报文丢失造成用户请求的失败。用作网络访问设备(NAS)的交换机通过RADIUS报文同RAD
5、IUS服务器通信,RADIUS报文中的属性用来传递认证、授权和计费的详细信息。我们现在的NAS版本中使用的属性主要指在RFC2865、RFC2866、RFC2869中规定的标准属性,另外还包括一些用户可以配置的自定义属性以传递一些我们需要的用户参数,包括用户的带宽、优先级以及VLAN ID,这里我们介绍的配置RADIUS属性主要涉及配置自定义属性。用户认证过程中,认证系统将用户的一些特征信息,通过认证请求报文传递给RADIUS服务器;用户认证通过后,RADIUS服务器将一些用户配置参数通过Access-Accept报文传递给RADIUS Client。其中包括用户的上下行带宽、优先级,以及用户
6、进出的VLAN ID。RADIUS Client从属性中提取出配置参数,并对用户作相应的处理。具体使用哪些属性来携带这些参数,不同的厂商可能有不同的要求,考虑到这种情况,我们能够做到根据厂商的要求利用命令行进行灵活配置。由于这些参数的取值为数值形式,因此我们要求RADIUS服务器相关属性值的类型应为INTEGER,而不要使用STRING或TEXT类型。港湾公司目前支持的RADIUS标准属性如下表所示:11.1港湾设备对radius属性支持:l RFC2865、RFC2866、RFC2869中规定的标准属性l 厂家支持的自定义属性用作网络访问设备(NAS)的交换机通过RADIUS报文同RADIU
7、S服务器通信,RADIUS报文中的属性用来传递认证、授权和计费的详细信息。我们现在的NAS版本中使用的属性主要指在RFC2865、RFC2866、RFC2869中规定的标准属性,另外还包括一些用户可以配置的自定义属性以传递一些我们需要的用户参数,包括用户的带宽、优先级以及VLAN ID,这里我们介绍的配置RADIUS属性主要涉及配置自定义属性。用户认证过程中,认证系统将用户的一些特征信息,通过认证请求报文传递给RADIUS服务器;用户认证通过后,RADIUS服务器将一些用户配置参数通过Access-Accept报文传递给RADIUS Client。其中包括用户的上下行带宽、优先级,以及用户进出
8、的VLAN ID。RADIUS Client从属性中提取出配置参数,并对用户作相应的处理。具体使用哪些属性来携带这些参数,不同的厂商可能有不同的要求,考虑到这种情况,我们能够做到根据厂商的要求利用命令行进行灵活配置。由于这些参数的取值为数值形式,因此我们要求RADIUS服务器相关属性值的类型应为INTEGER,而不要使用STRING或TEXT类型。港湾公司目前支持的RADIUS标准属性如下表所示:港湾公司目前支持的RADIUS标准属性表:编号属性名称属性说明1User-Name被认证的用户名2User-PasswordPAP认证支持3CHAP-PasswordCHAP认证支持4NAS-IP-A
9、ddress发起认证请求的NAS设备IP地址5NAS-Port用户接入使用的NAS设备物理端口及VLAN信息6Service-type用户请求的服务类型7Framed-Protocol用户接入的链路层协议8Framed-IP-Address使用Radius方式分配给用户的IP地址11Filter-Id指定特定用户所使用的filter-list的名字18Relay-Message显示给用户的文本信息24StateRadius server状态25ClassRadius server 发送的class属性26Vendor-Specific厂商自定义属性27Session-Timeout按时长预付费
10、支持28Idle-Timeout用户idle 超时的最大值31Calling-Station-ID传送宽带接入用户的MAC地址32NAS-IdentifierNAS设备标识符40Acct-Status-Type计费状态(开始或者结束)41Acct-Delay-Time计费延迟时间42Acct-Input-Octets帐号接收的字节数43Acct-Output-Octets帐号输出的字节数44Acct-Session-ID用户计费ID45Acct-Authentic用户认证方式46Acct-Session-Time按时长计费47Acct-Input-Packets帐号接收的数据包数48Acct-
11、Output-Packets帐号输出的数据包数49Acct-Terminate-Cause计费终止原因60CHAP-ChallengeCHAP认证支持61NAS-Port-TypeNAS设备的端口类型79EAP-MessageEAP-MD5认证支持80Message-AuthenticatorEAP-MD5认证支持85Acct-Interim-Interval实时计费支持港湾公司目前支持的自定义厂商扩展属性表:编号属性名称属性类型属性说明1Harbour-Uplink-Bandwidth Integer用户的上行带宽(单位bps或kbps)2Harbour-Downlink-Bandwidth
12、Integer用户的下行带宽(单位bps或kbps)7Harbour-ACL-IdInteger应用于用户的ACL id8Harbour-Primary-DNS-ServerIP Address主DNS服务器IP地址9Harbour-Primary-NBNS-ServerIP Address主NBNS服务器IP地址10Harbour-Secondary-DNS-ServerIP Address备DNS服务器IP地址11Harbour-Secondary-NBNS-ServerIP Address备NBNS服务器IP地址12Harbour-Supplicant-Upgrade-URLString
13、802.1x客户端软件升级的URL13Harbour-Portal-Site-URLString门户站点的URL14Harbour-User-Access-Switch-NameString用户直接接入交换机的名字15Harbour-User-Access-Switch-IPIP Address用户直接接入交换机的IP16Harbour-User-Access-Switch-MACString用户直接接入交换机的MAC17Harbour-User-Access-Switch-PortInteger用户直接接入交换机的Port(用户连接的Port)31Harbour-VLAN-IPIP Addr
14、ess用户所在VLAN的IP地址32Harbour-VLAN-IdInteger用户所在VLAN的ID33Harbour-Path-TrackString用户所在的物理位置(用户直连的交换机名字、MAC及端口号等信息)38Harbour-PPPoEoA-VPIIntegerPPPoEoA用户绑定的vpi信息39Harbour-PPPoEoA-VCIIntegerPPPoEoA用户绑定的vci信息40Harbour-PPPoE-PeerMACIntegerPPPoE用户绑定的mac信息41Harbour-Uplink-CBSInteger用户上行带宽的突发流量42Harbour-Downlink
15、-CBSInteger用户下行带宽的突发流量11.2RADIUS认证当一个客户端被配置使用Radius,客户端的用户提供认证信息给客户端。可能是一个用户性的提示,以便用户输入用户名和密码。或者用户也可以使用链路层的协议如PPP,这个协议有携带这个信息的认证包。一旦客户端获得那些信息,它可以选择使用Radius进行认证。客户端产生一个包含一些属性的“Access-Request”,这些属性如用户名,用户密码,客户端ID,用户正在访问的端口ID。当密码出现时,它被基于MD5的加密隐藏。Access-Request通过网络提交给Radius服务器。如果在一段长的时间里没有相应,请求被重发数次。另外如果有多个RADIUS服务器的话,NAS在屡次尝试主RADI