Linux+FreeRadius+Mysql实现Radius认证
第一部分服务器端配置
一、基础系统准备
1、安装Redhat-Linux操作系统,系统版本号5.5
2、安装Mysql所有3个组件,如下图所示:
3、安装FreeRadius2所有9个组件,如下图所示:
4、安装pear所有15个组件,如下图所示:
5、安装http组件,如下图所示
6、安装php-mysql组件
二、配置Mysql
1、进入Mysql数据库:
mysql -u root –p
输入回车
2、mysql库受权:
mysql>use mysql
//进入mysql库
mysql>GRANT ALL PRIVILEGES ON *.*TO root@localhost IDENTIFIED BY '<rootpassword>' WITH GRANTOPTION;
//主数据库数据库root用户授权本地登录
mysql> GRANT ALL PRIVILEGES ON *.*TO 'root'@'%'IDENTIFIED BY '<rootpassword>' WITH GRANT OPTION;
// 主数据库数据库root用户授权远端登录
mysql> flush privileges;
3、创建名为“Radius”的数据库:
mysql -u root -p
CREATE DATABASE radius;
//创建数据库名为radius
GRANT ALL ON radius.* TO <radiusname>@localhostIDENTIFIED BY "<radiuspassword>";
//radius数据库用户授权本地登录
GRANT ALL ON radius.* TO <radiusname>@"%"IDENTIFIED BY "<radiuspassword>";
// radius数据库用户授权远端登录
4、导入和建立表结构:
mysql -u root -p radius </etc/raddb/sql/mysql/schema.sql
//导入用户列表至radius库
mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql
//导入NAS列表至radius库
三、配置FreeRadius
1、配置clients.conf:
修改/etc/raddb/clients.conf文件:
client x.x.x.x/x {
//NAS地址限制
secret = <naspassword>
//NAS密码
shortname = <nasname>
//NAS别名
}
2、配置sql.conf:
修改/etc/raddb/sql.conf文件:
database = "mysql"
login = "<radiusname>"
//数据库用户名
password = "<radiuspassword>"
//数据库密码
3、配置radiusd.conf
修改/etc/raddb/radiusd.conf文件:
$INCLUDE sql.conf
//取消注释
4、配置sites-enabled/default
修改/etc/raddb/sites-enabled/default文件:
authorize {
sql
//取消注释
}
authenticate {
sql
//取消注释
}
}
accounting {
sql
//取消注释
}
四、添加NAS设备登录账号(可选)
mysql -u root –p
use radius
insert into radcheck(username,attribute,value,op) values ('<logname>','Cleartext-Password','<logpassword>',':=')
五、安装Daloradius
wget http://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
//下载安装包
tar zxvfdaloradius-0.9-9.tar.gz
//解压安装包
mv daloradius-0.9-9 /var/www/html/daloradius
//复制至web根目录下
chown -R apache:apache/var/www/html/daloradius
//受权apache访问
六、配置Daloradius
1、导入mysql元素
mysql -uroot -p radius </var/www/html/daloradius/contrib/db/mysql-daloradius.sql
//导入radius库中
mysql -uroot -p radius < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
2、设置配置文件
/var/www/html/radius/library/daloradius.conf.php
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = '<radiusname>';
//数据库用户名
$configValues['CONFIG_DB_PASS'] = '<radiuspassword>';
//数据库密码
$configValues['CONFIG_DB_NAME'] = 'radius';
$configValues['CONFIG_FILE_RADIUS_PROXY'] = '/etc/raddb/proxy.conf';
$configValues['CONFIG_PATH_RADIUS_DICT'] = '';
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';