文档详情

建立Linux下的RADIUS服务器.doc

发布:2017-08-16约6.26千字共10页下载文档
文本预览下载声明
建立Linux下的RADIUS服务器 远程认证拨号用户服务(Remote Authentication Dial In User Service,RADIUS)是在网络访问服务器(Network Access Server,NAS)和集中存放认证信息的Radius服务器之间传输认证、授权和配置信息的协议。其协议的标准定义在IETF的RFC 2865和RFC 2866文件中。对于中小型企业NAS应用来说,以Linux为平台建立RADIUS服务器是非常好的选择。使用共享软件完全可以建立简洁、高效的 RADIUS服务器,而且无须任何软件上的花费。 一、RADIUS的工作原理 RADIUS以Client/Server方式工作,实现了对远程电话拨号用户的身份认证、授权和计费功能。其Client端多为通过拨号方式实现的 NAS,主要用来将用户信息传递给服务器;RADIUS服务器则对用户进行认证,并返回用户的配置信息。为了保证传输的安全性,在Client和 Server之间传送的数据均以MD5方式加密。在RADIUS的Server端和Client端之间的通信主要有两种情况;一种是接入认证;另一种是计费请求。 使用RADIUS可以实现集中化的认证和记费功能,可以减少管理的负担和费用,同时还可以实现很多扩展的功能,如用户拨号时间的限定、用户拨号时间的配额、根据用户分配特定IP地址等等。RADIUS是一种基于UDP协议的上层协议,认证服务的监听端口号为1812,记费服务的监听端口号为1813。 RADIUS的工作流程是:(1)用户拨入NAS; (2)NAS向RADIUS服务器发送一系列加密的“属性/值”; (3)RADIUS服务器检查用户是否存在、属性/值是否匹配;(4)RADIUS服务器发送回“接受“或“拒绝“给NAS。 RADIUS服务器通常是基于数据库来实现的。对于大型ISP,通常会使用诸如Oracle之类的大型后台数据库。而对于中小型应用使用mySQL这样的数据库就足够了。其实RADIUS的身份验证也可以通过LDAP来实现,但其应用不如数据库那么广泛。 这里介绍一种使用IC-RADIUS与mySQL配合建立RADIUS服务器的方案。并分别介绍了使用Cisco2610+Modem Pool作为NAS和使用Linux作为NAS的配置实例。 二、RADIUS服务器的建立 首先安装配置好Linux的基本系统,注意需要安装开发工具、Perl、Perl DBI和mySQL DBD模块,当然还必须安装mySQL数据库。这里我们假设把数据库和RADIUS服务放在同一台服务器上。现在几乎每个Linux发行版本里都包含 mySQL,所以可以直接安装到系统里。具体步骤如下。 1.安装和配置ICRADIUS (1)输入以下命令 #tar xvfz icradius-0.18.1.tar.gz #cd icradius-0.18.1/src 然后拷贝针对Linux的Make文件Makefile.lnx为Makefile,命令如下: cp Makefile.lnx Makefile 这里需要注意的是有可能需要修改Makefile文件,把mySQL库、头文件的位置根据实际安装的情况加以修改。对于可执行文件的安装位置也可以修改。 (2)运行如下命令 #make #make install 2.创建RADIUS数据库 (1)连接mysql数据库,命令如下 #mysql -u root -pyourpassword CREATE DATABASE radius; ### 创建radius数据库 然后需要创建RADIUS数据库需要的各个表格,这里要使用icradius-0.18.1目录下script子目录中的radius.db文件,该文件已经定义了所需要的各个表格,这里只要使用命令 #mysql -u root -pyourpassword radius radius.db 即可。这时就创建了Radius认证和计费所需要的各个表格,见附表1。 3.填充各个表格 向上面创建的各个数据库的表中添加内容。对于dictionary表的内容,icradius软件提供了一个脚本文件script/dictimport.pl来创建,步骤如下。 (1)编辑该文件,修改 my $dbusername =root; my $dbpassword = yourpassword; 为对应的数据库管理员的用户名和密码。 (2)运行该脚本,命令如下: #./dictimport.pl ../raddb/dictionary
显示全部
相似文档