0. 概述 FreeRadius是一个开源的Radius服务器系统,可以作为一般标准化的用户身份验证系统为网络中的用户提供服务,通常用作有线和无线的网络接入,为各种接入设备和方式提供用户身份鉴定和记账服务。 1. 系统 本文以CentOS 5.5系统作为参考操作系统平台,文中的各种命令、参数和设置均基于此系统。其他Linux系统应该大同小异。 本机服务器的IP地址为192.168.8.100。并且可以直接访问互联网(用于软件下载和安装)。 2.安装 使用以下命令安装FreeRADIUS软件模块,一般涉及到的有三个: yum install freeradius2 (主服务) yum install freeradius2-mysql (mysql支持) yum install freeradius2-utils (本地测试工具如ratest等) 安装完成后可以使用下列命令检查已安装的软件包 rpm -qa freeradius\* freeradius2-mysql-2.1.7-7.el5 freeradius2-2.1.7-7.el5 freeradius2-utils-2.1.7-7.el5 3. 启动和诊断模式 使用以下命令启动 radius服务程序,也可以停止服务和查看服务状态 service radiusd start/stop/status 如果需要随系统启动,下列命令将服务作为启动项目 chkconfig --add radiusd (添加注册) chkconfig radiusd on (创建启动项目) 在系统调试过程中可以使用诊断模式,该模式可以诊断服务启动过程,配置信息错误和用户连接和响应等过程。但需要注意该模式不能和正常运行模式同时使用。 service radiusd stop (停止服务) radiusd -X (进入诊断模式) ctrl-c 退出诊断模式 正常进入诊断模式成功的结果应为 ”Ready to process requests” 4. 配置文件 FreeRaduis的设置涉及到很多配置文件,这里稍作总结: /etc/raddb/radiusd (主服务配置文件) /etc/raddb/clients.conf (文件方式的客户端设备配置文件) /etc/raddb/users (文件方式的用户配置) /etc/raddb/sql.conf (数据库相关配置) 5. 客户端配置 这里的客户端指的是处理用户接入请求的网络设备,系统也为测试提供了一个内置的客户端。可以查看配置文件(默认不需要修改) /etc/raddb/clients.conf 系统默认配置了一个名为localhost的本地NAS Client配置设备,默认共享密钥为testing123。 任何需要利用radius服务器来进行验证前,都需要类似的客户端设置,通常的格式为: client 192.168.8.100 { secret = testing123 shortname = myradclient nastype=other } 上述直接在服务器上创建一个客户端(其实是服务器本身)。 6. 测试帐号配置 这里使用一个保存在文件中的帐号作为测试帐号,编辑 /etc/raddb/users 文件,在尾部添加信息创建下列测试帐号 ufiletest Cleartext-Password := “password123” 含义是创建一个名为ufiletest,密码是明文"password123" 7. 服务测试 在运行 radius -X诊断程序后,在新的终端窗口使用下列命令(radtest,需要预先安装 freeradius2-utils )测试服务是否正常运行radtest ufiletest password123 localhost 10 testing123 语法为 radtest {用户名} {用户密码} {RADIUS服务器地址或主机名} 10(NAS端口,但好像没什么特别含义) {共享密码} 如果结果中有 Access-Accept 接受指令,表明服务器工作正常并且用户验证正常。也可以试着修改用户名或口令查看相关的错误信息,确认radius基本服务工作正常。 8. sql配置(MySQL) 上面都使用文件来保存相关信息如客户端、用户等等,在真正的较大规模的环境中通常使用数据库来保存和维护这些信息。就需要做相关配置告诉radius服务器如何来连接和使用数据库系统。 a. MySQL配置 我们假设已经在本机安装了MySQL数据库系统。进一步需要在MySQL数据库中创建相应的数据库和表结构。一个参考的表结构可以使用daloradius系统设计的表结构,由于此内容较多,但并不直接影响FreeRadius的设置,关于如何安装和配置MySQL for FreeRadius的更详细的信息,参见另一篇文章: b. 包含sql.conf配置文件 编辑FR主服务器配置文件,取消注释信息,告诉系统包含sql.conf中的配置信息: $INCLUDE sql.conf c.编辑FR数据库配置文件中的连接信息 打开/etc/raddb/sql.conf 修改下列属性 login=”radius” (数据库登录用户) password=”radpass” (相应密码) radius_db=”radiusdb” (radius所使用的数据库名) readclients=yes (是否从数据库中读取客户端设备列表) d. 添加功能模块支持 编辑 /etc/raddb/sites-enabled/default 文件,取消sql关键字前的注释,以添加相关模块(可能包括authorize-认证,accounting-审计,session-会话用于监测同时连接,post_auth-验证后记录...)对数据库的支持,如: authorize { (认证组件) preprocess (预处理) chap (支持chap) mschap (对mschap的支持) suffix (后缀) eap (支持eap) sql (支持数据库) pap (支持pap认证协议) } 重启radiusd服务或者进入诊断模式查看配置是否正确 e. 联合测试 检查在sql.conf中关于数据库特别是表的设置是否和数据库中的实际情况相符,使用sql语句在用户表中添加一个用户记录,就可以使用radiusd-X和radtest来进行测试了。 |
Sunday, August 14, 2011
FreeRadius安装和配置-基础
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment