笔者用的平台是RedHat Linux 7.2
1. 安装mysql
本人用的是光盘上的RPM包 rpm -ivh mysql-3.23.41.1.i386.rpm rpm -ivh mysql-devel-3.23.41.1.i386.rpm rpm -ivh mysql-server-3.23.41.1.i386.rpm rpm -ivh mysqlclient9-3.23.22-6.i386.rpm
启动mysql服务 service mysqld start
更改mysql的root密码(注意:mysql的root 和系统的root是2个不用的概念) mysql -uroot -p
创建radius数据库 creat database radius; use mysql; update user set password=password('你的密码') where user='root';
允许远程机器连接 update user set host='%' where user='root';
退出及重新启动mysql quit service mysqld restart
2. 安装openSSL
本人也是用的光盘上的RPM包 rpm -ivh openssl095a-0.9.5a-11.i386.rpm rpm -ivh openssl096-0.9.6-6.i386.rpm
3. 安装freeradius
从 编译和安装 tar xvfz freeradius.tar.gz cd xvfz freeradius-0.8.1
注: 如果mysql不是安装在/usr/local/目录下需要做个连接: ln -s /PATH/mysql/ /usr/local/mysql l
./configure make make install
建立mysql的数据库radius的表 cd src/modules/rlm_sql/drivers/rlm_sql_mysql mysql -uroot -p密码 radius < db_mysql.sql
更改freeradius的设置 cd /usr/local/etc/raddb 更改radiusd.conf,让其支持sql (如下面所说)
authorize { preprocess chap mschap suffix sql } accouting { …. sql … }
更改sql.conf server="localhost" login="root" password="mysql的root的密码" radius_db="radius"
更改 client.conf支持所用的NAS具体可以看该文档,要注意的是secret是NAS和radius服务器的共享密码 数据库加入测试账号
加入组
mysql -uroot -p密码 radius
insert into radgroupreply (GroupName,Attribute,op,Value) values ('user','Auth-Type',':=','Local'); insert into radgroupreply (GroupName,Attribute,op,value) values ('user','Service-Type',':=','Framed-User'); insert into radgroupreply (GroupName,Attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.254'); insert into radgroupreply (GroupName,Attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
加入测试账号 insert into radcheck (UserName,Attribute,op,Value) values ('test','User-Password',':=','test');
测试账号加入组 insert into usergroup (UserName,GroupName) values ('test','user');
4. 启动radius服务、测试账号
启动到debug模式
radiusd -X
有时候会报找不到文件rlm_sql_mysql这个时候只要把库文件加入系统搜索的目录里
比如:
cp /usr/local/lib/* /usr/lib
测试账号
radtest test teset localhost 0 testing123
如果能看到radius的应答,恭喜服务器设置成功了。