分享
 
 
 

建立Linux下的RADIUS服务器

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

作者:栗朝军

----远程认证拨号用户服务(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认证和计费所需要的各个表格,见附表1。

----3.填充各个表格

----向上面创建的各个数据库的表中添加内容。对于dictionary表的内容,icradius软件提供了一个脚本文件script/dictimport.pl来创建,步骤如下。

----(1)编辑该文件,修改

----my $dbusername =root;

----my $dbpassword = yourpassword;

----为对应的数据库管理员的用户名和密码。

----(2)运行该脚本,命令如下:

----#./dictimport.pl ../raddb/dictionary

----如果使用Cisco路由器,还需要加载Cisco的dictionary文件,命令如下:

----# ./dictimport.pl ../raddb/dictionary.cisco

----(3)向nas表格中添加内容,先进入mysql:

----# mysql -u root -pyourpassword radius

----执行SQL语言命令如下:

----insert into nas

----values (0,"cisco nas","nas","10.60.39.250","cisco",32,"cisco","public","on");

----其中各字段的意义见附表2。

----(4)srcipts目录下的radius.cgi是一个实现Web界面管理用户及记费信息的CGI程序,但是要在使用该脚本程序以前,首先要在radcheck表格中添加如下内容:

----INSERT INTO radcheck VALUES ("","admin","Password","adminpassword");

----INSERT INTO radcheck VALUES ("","admin","Radius-Operator","Yes");

----这里,admin为RADIUS管理员的用户名,adminpassword为管理员的密码。

----(5)将radius.cgi和usage.cgi拷贝到Web服务器的cgi-bin目录下,再编辑这两个文件,正确的设定数据库管理员的用户名和密码。最后指定两个文件中的$cookiedomain及$radhost为空。两个文件中的$radsecret指定为NAS和RADIUS共享的密码。

----4.配置启动radiusd

----(1)在/etc/目录下创建子目录raddb

----# mkdir /etc/raddb

----(2)在该目录下创建文件client,并设定其访问权限:

----# touch clients

----# chmod 664 clients

----(3)把icradius-0.18.1/raddb /目录下的radiusd.conf拷贝到/etc/raddb目录下:

----#cp ~/icradius-0.18.1/raddb/radius.conf /etc/raddb/

----(4)把~/icradius-0.18.1/raddb/中的所有文件拷贝到/etc/raddb目录中。

----其中在~/icradius-0.18.1/redhat/目录下有一个名为rc.radiusd-redhat的文件,它是redhat环境下radiusd的启动文件,将其拷贝到/etc/rc.d/init.d目录下:

----# cp ~/icradius-0.18.1/redhat/rc.radiusd-redhat /etc/rc.d/init.d/rc.radiusd

----(5)编辑文件/etc/raddb/radius.conf文件,password后面修改为mysql的管理员密码。

----(6)编辑文件/etc/rc.d/init.d/rc.radius,把如下内容:

----RADIUSD=/usr/sbin/radiusd

----WATCHER=/usr/sbin/radwatch修改为(缺省安装时)

----RADIUSD=/usr/local/sbin/radiusd

----WATCHER=/usr/local/sbin/radwatch

----(7)拷贝~/icradius-0.18.1/scripts目录下的radwatch到/usr/local/sbin目录下。拷贝~/icradius-0.18.1/scripts目录下的radiusd.cron.daily到/etc/cron.daily/目录下。拷贝~/icradius-0.18.1/scripts目录下的radiusd.cron.monthly到/etc/cron.daily/目录下。

----(8)启动radiusd,命令如下

----/etc/rc.d/init/rc.radiusd start

----5.添加用户

----在浏览器里输入http://radiusserver/cgi-bin/radius.cgi进入管理界面,在这里输入RADIUS管理员的用户名和密码。

----(1)创建一个组,该组具有所有用户都应该具有的特性,为该组起一个名字。

----(2)进入组属性设置界面,在“reply item”中设置最基本的属性,命令如下:

----Framed-Protocol PPP

----Service-Type Framed-User

----(3)添加用户,为该用户组起一个名字:aaa,并设定该用户的密码。

----(4)进入了用户属性设置界面,选择“add to group“*”all_user组”*“确定”,就可以看到,该用户如下“reply item”:

----Framed-Protocol PPP

----Service-Type Framed-User

----(5)如果需要设置该用户的时间限制,则需要输入时间限制的数字,注意时间单位为秒),因此一小时的时间限制对应的“Total-Time-Limte”属性值为3600。

----(6如果需要是设置回拨,在“reply item”中选择“Cisco-AVPair lcp:callback-dialstring=1234567(回拨的电话号码)”。对于“check item”和“reply item”根据不同的NAS设备类型有非常多的可选项,其功能也非常丰富。

----三、拨号服务器的设置

----通过上面的步骤,RADIUS服务器基本建立完毕了。为了让拨号服务器使用RADIUS作为拨号用户的身份验证方式,必须在拨号服务器上作相应的设置。在本文讨论的实例中使用了Cisco 2610路由器作为拨号服务器,在配备了16端口的异步串口模块后,可以允许16个用户同时拨入。在Cisco 2610上完成拨号基本配置可以正常工作后,需要加入如下语句来使用RADIUS作身份认证和记账。

----…

----aaa new-model #激活AAA(authentication、authorization、accounting)访问控制

----aaa authentication login default line enable #进行login认证,若RADIUS Server未找到从本地数据库内查找

----aaa authentication ppp default radius local #进行P

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有