1. 什么是FreeRADIUS?
RADIUS是Remote Access Dial In User Service的简称。
RADIUS主要用来提供认证(Authentication)机制,用来辨认使用者的身份与密码 –> 确认通过之后,经由授权 (Authorization)使用者登入网域使用相关资源 –> 并可提供计费(Accounting)机制,保存使用者的网络使用记录。
FreeRADIUS是一款OpenSource软件,基于RADIUS协议,实现RADIUS AAA(Authentication、Authorization、Accounting)功能。
2. 安装freeradius
安装环境CentOS,使用yum来安装。
安装freeradius和mysql扩展:
yum install freeradius yum install freeradius-mysql
3. 验证freeradius
启动freeradius服务debug模式
radiusd -X
出现“Ready to process requests.”表示启动ok。
另外开一个shell客户端,输入测试命令:
radtest test test localhost 0 testing123
服务端和客户端会有收发消息的信息输出。
顺利通过。
4. freeradius和pptpd集成
下载ppp源码包,复制配置文件
wget http://www.sfr-fresh.com/linux/misc/ppp-2.4.5.tar.gz tar -zxvf ppp-2.4.5.tar.gz cp -R ppp-2.4.5/pppd/plugins/radius/etc /etc/radiusclient/
配置freeradius服务器密码
nano /etc/radiusclient/servers
最后添加
localhost testpwd
修改freeradius配置文件信息
nano /etc/radiusclient/radiusclient.conf
确保这个文件中radiusclient相关的路径都是“/etc/radiusclient”开头的
比如issue /usr/local/etc/radiusclient/issue
改为 issue /etc/radiusclient/issue
pptpd添加freeradius插件
nano /etc/ppp/options.pptpd
最后添加
plugin /usr/lib/pppd/2.4.4/radius.so
如果你是64位系统添加
plugin /usr/lib64/pppd/2.4.4/radius.so
5. freeradius和mysql集成
mysql建数据库radius(这个不用说怎么建吧?命令或者phpmyadmin)
mysql中导入freeradius表
mysql -u root -p radius < /usr/share/doc/freeradius-1.1.3/examples/mysql.sql
修改freeradius的sql配置文件,主要是mysql数据库的连接信息:
nano /etc/raddb/sql.conf
找到sql{}模块,设置数据库登录名、密码、数据库名
login = "root" password = "12345" radius_db = "radius"
找到# simul_count_query = "SELECT COUNT(*) FROM ${acct_table1} WHERE UserName='%{SQL-User-Name}' AND AcctStopTime = 0",去掉前面的#,打开sql的用户同时连接数测试语句;
找到#readclients = yes,去掉前面的#号,打开sql查询NAS。
配置freeradius的配置文件:
nano /etc/raddb/radiusd.conf
找到# $INCLUDE ${confdir}/sql.conf,去掉前面的#号;
找到authorize {}模块,注释掉files,去掉sql前的#号;
找到preacct {}模块,注释掉files;
找到accounting {}模块,注释掉radutmp,去掉sql前面的#号;
找到session {}模块,注释掉radutmp,去掉sql前面的#号;
找到post-auth {}模块,去掉sql前的#号;
总之就是去掉files模块,开启sql模块。
6. 添加测试用户和NAS
mysql -u root -p use radius insert into radcheck set username='user',attribute='User-Password',value='pwd'; insert into nas set nasname='127.0.0.1',shortname='localhost',type='other',secret='testpwd';
7. 启动pptpd和freeradius测试
service pptpd start radiusd -X
启动后,电脑上vpn拨号,用户名/密码:user/pwd,测试。
接下来就是需要一个web界面来管理freeradius.
FreeRADIUS中包含了一个图形管理系统(dailup-admin)
近期评论