继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Centos6.0之mysql+freeradiu实现帐号统一认证

largeQ
关注TA
已关注
手记 994
粉丝 93
获赞 586


RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系统由RFC2865,RFC2866定义,是目前应用最广泛的AAA协议;

RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS也支持厂商扩充厂家专有属性。

本文Centos6.0

安装lamp平台,个人习惯

yum install -y httpd mysql* php*

安装freeradius

yum install -y freeradius*

1.jpg

进行测试下是否可以接收到返回值;

radtest steve testing 127.0.0.1 1812 testing123

1.jpg

如图所示即为ok;

1、登录Mysql创建radius库;

mysql> create database radius;

mysql> grant all on radius.* to radius@localhost identified by 'radius123';

针对FreeRadius2,数据表的设计和结构定义在下面的文件中:

/etc/raddb/sql/mysql/schema.sql 主数据库定义,7个表,包括

radcheck 用户检查信息表

radreply 用户回复信息表

radgroupcheck 用户组检查信息表

radgroupreply 用户组检查信息表

radusergroup 用户和组关系表

radacct 计费情况表

radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。

/etc/raddb/sql/mysql/nas.sql 网络设备定义,只有一个表

nas 网络设备表

下面的表用于一些扩展功能,可以按需导入。

ippool.sql  ip池

wimax.sql wimax设备支持

cui.sql cui 支持

2、导入sql文件

mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql

mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql

配置radius.conf

vim /etc/raddb/radiusd.conf

700         $INCLUDE sql.conf  # 启用sql文件

配置数据库文件sql.conf

vim /etc/raddb/sql.conf

sql {

    database = "mysql"

    driver = "rlm_sql_${database}"

    server = "localhost"

    login = "radius"

    password = "radius123"

    radius_db = "radius"

配置radius数据库功能文件 /etc/raddb/sites-available/default 

实现相关模块对数据库的支持 

authorize(认证),accounting(审计),session(会话,用于监测同时连接),post_auth(记录) 子段加入sql关键字,如:

authorize {

          preprocess

          chap

          mschap

          suffix

          eap

          sql

          pap

}

service radiusd start

3、进行测试;

mysql -u root -p

mysql> use radius;

mysql> insert into radcheck(username,attribute,value,op)values("lansgg","Cleartext-Password","password123","=");

service radiusd restart

测试

radtest lansgg password123 localhost 10 testing123

1.jpg

测试结果如上,OK

©著作权归作者所有:来自51CTO博客作者西索oO的原创作品,如需转载,请注明出处,否则将追究法律责任

mysqlradiusfreeradiusServices


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP