freeradius关联mysql

来源:互联网 发布:尤克里里软件怎么调音 编辑:程序博客网 时间:2024/05/16 01:55
安装环境
CentOS Linux release 7.2.1511 (Core) 
软件版本
freeradius-server-3.0.11.tar.gz
mysql  Ver 14.14 Distrib 5.6.34
获取软件包
在官网下载freeradius-3.0.11.tar.gz安装包
安装
1.mysql
yum安装mysql5.6
centos自带mysql的yum源是mariadb,所以要下删除mariadb
yum -y remove mariadb-libs
安装epel包
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安装mysql
yum -y install mysql-community-server
登录mysql
mysql
重置密码:
mysql>set password = password ('1qaz@WSX');
mysql>flush prigileges;

2.freeradius
解压
tar -zxvf freeradius-server-3.0.11.tar.gz
编译
cd freeradius-server-3.0.11
./configure
make
make install
默认安装在/usr/local/etc/raddb下

最好先安装好下面的东西!!!
遇到的问题:
configure: WARNING: talloc library not found. Use --with-talloc-lib-dir=<path>.
configure: error: FreeRADIUS requires libtalloc
解决:

yum install libtalloc-devel -y


Debugger not attached
Refusing to start with libssl version OpenSSL 1.0.1e-fips 11 Feb 2013 0x1000105f (1.0.1e release) (in range 1.0.1 dev - 1.0.1f release)
Security advisory CVE-2014-0160 (Heartbleed)
For more information see http://heartbleed.com
Once you have verified libssl has been correctly patched, set security.allow_vulnerable_openssl = 'CVE-2014-0160'
解决:
vim /usr/local/etc/raddb/radiusd.conf
 allow_vulnerable_openssl = yes    #改为yes

Could not link driver rlm_sql_mysql: /usr/local/lib/rlm_sql_mysql.so: cannot open shared object file: No such file or directory 
Make sure it (and all its dependent libraries!) are in the search path of your system's ld
/usr/local/etc/raddb/mods-enabled/sql[20]: Instantiation failed for module "sql"
解决: 
yum -y install mysql-devel
然后重新编译freeradius即可。

启动radius
radiusd -X ##debug模式启动

如上图,说明启动成功。
配置
1配置mysql
创建radius库
#mysql -uroot -p
mysql>create database radius;
创建radius用户
mysql>grant all on radius.* to radius@localhost identified by 'radius';
mysql>flush privileges;
导入sql文件
将目录/usr/local/etc/raddb/mods-config/sql/main/mysql中的sql文件schema.sql导入到radius库中
#cd /usr/local/etc/raddb/mods-config/sql/main/mysql
#mysql -u radius -p radius<schema.sql
2配置radius
cd/usr/local/etc/raddb/sites-enabled
sql的配置
vim default

authorize {}下的sql去掉注释,并且将file注释掉。


accounting{}下的sql去掉注释,并且将file注释掉。

cd /usr/local/etc/raddb/mods-available
vim sql
修改driver="rlm_sql_null"

去掉注释,设置用户名和密码等信息

给sql做个软连接
在目录/usr/local/etc/raddb/mods-enabled
给 /usr/local/etc/raddb/mods-available/sql做个软连接
cd /usr/local/etc/raddb/mods-enabled
ln -s /usr/local/etc/raddb/mods-available/sql ./

测试
在mysql中插入一条数据,测试是否通过radius认证
mysql -u radius -p
mysql>use radius;
mysql>insert into radcheck(id,username,attribute,op,value) values('2','test','Cleartext-Password',':=','test123');


启动radius,debug模式
#radiusd -X

另外打开一个客户端,输入:
radtest test test123 localhost 1812 testing123
格式:radtest [user] [passwd] [主机] [nas port] [secret]

到这里配置就结束了。

0 0