Freeradius服务器的搭建流程

一、服务器方面的配置

1 、安装radius服务器,数据库扩展插件

预先安装mysql数据库,然后安装freeradius,以及freeradius的数据库扩展插件freeradius-mysql:

yuminstall -y freeradius freeradius-mysql freeradius-utils 

   

 

2 、配置freeradius

修改users

#vi /etc/raddb/users

 

 

然后找到下面这段文字

  steve  Cleartext-Password := "testing"  

   Service-Type = Framed-User,  

Framed-Protocol = PPP,  

Framed-IP-Address = 172.16.3.33,  

 Framed-IP-Netmask = 255.255.255.0,  

 Framed-Routing = Broadcast-Listen,  

 Framed-Filter-Id = "std.ppp",  

 Framed-MTU = 1500,  

 Framed-Compression = Van-Jacobsen-TCP-IP  

然后把这段文字前面的#注释全部去掉后保存文件

 

 

3、启动freeradius服务端

可以通过radiusd -X来做首次启动,注意首次启动必须是root账户才行,注意那个X是大写的哦

 

 

会出现一堆的代码,如果最后出现如下提示,应该就是启动成功了:

 

 

4、测试radius是否安装成功

然后另外开一个终端运行 radtest yangqinwoaini test localhost 1812 testing123 进行测试,当出现rad_recv: Access-Accept  说明freeradius已经安装成功.

 

 

测试无问题以后记得再次vi /etc/raddb/users,把这个测试账户相关的配置全部注释掉,然后关闭radiusd的调试进程,

killall -9 radiusd       关闭radius进程命令

chkconfig  radiusd on

service radiusd start

 

 

5、配置freeradius客户端

cp /etc/raddb/clients.conf /etc/raddb/clients.conf.bak      备份客户端配置

[root@localhost raddb]# grep -v \# /etc/raddb/clients.conf.bak >/etc/raddb/clients.conf  

[root@localhost raddb]# vi /etc/raddb/clients.conf  

 

 

内容配置为:

client 127.0.0.1 {  

 ipaddr = 127.0.0.1  

 secret = testing123  

 shortname=localhost  

}  

 

 

一般默认就是这个配置了

保存退出

需要注意,上面配置的127.0.0.1主要用于测试,将来真正的客户端要按照下面的信息进行补充说明

1.    #将来你的真正的raidus计费客户端如routeros等需要在这里配置ip信息,例如  

2.    client x.x.x.x{  #这里的x.x.x.x就是你的routeros服务器内网口ip  

3.       ipaddr=x.x.x.x #routeros内网ip  

4.       secret=xxxxxxxxxx    #你自己定义的密码  

5.       shortname=ros  

6.    }  

 

6、修改admin.conf

cp /etc/raddb/sql/mysql/admin.sql/etc/raddb/sql/mysql/admin.sql.bak   备份

grep -v ^# /etc/raddb/sql/mysql/admin.sql.bak >/etc/raddb/sql/mysql/admin.sql

vi /etc/raddb/sql/mysql/admin.sql

 

 

内容改成下面这个样子的 ;

CREATE USER 'radius'@'localhost';  

SET PASSWORD FOR 'radius'@'localhost' = PASSWORD('radpass');  

  

GRANT SELECT ON radius.* TO 'radius'@'localhost';  

GRANT ALL ON radius.* TO 'radius'@'localhost';   

 

我这边将原有两行注释掉了,加了一行进去。

 

保存退出

二、数据库方面的配置

1、Freeradius-mysql数据库导数据

 mysql -u root -p 回车后输入mysql的root管理员帐号密码,然后

create database radius;       创建radius数据库

exit

再次mysql -u root -p 回车,输入密码后

然后执行

source /etc/raddb/sql/mysql/admin.sql;

包括分号一起输入,数据库操作命令是带分号的。

 

 

然后 use radius 回车选中radius数据库,

source /etc/raddb/sql/mysql/schema.sql;

 

 

source /etc/raddb/sql/mysql/nas.sql;

source /etc/raddb/sql/mysql/ippool.sql;

flush privileges;

 

 

exit退出mysql管理控制台。

2、数据库的配置

然后在linux终端里面执行

vi /etc/raddb/radiusd.conf

 

 

使劲往下翻页到module那块以后去掉 $INCLUDE sql.conf 这句话前面的# 和

 $INCLUDEsql/mysql/counter.conf 前面的#后保存文件退出vi编辑器,找到下面内容  将注释的#去掉

 

 

然后执行

vi /etc/raddb/sql.conf

 

 

找到readclients = yes这一行(快到文档末尾了),去掉前面的#注释后保存退出vi编辑器。

 

 

然后执行

vi /etc/raddb/sites-enabled/default

 

 

 

找到authorize,accounting,session这几个配置,将里面的sql全部启用就行了,就是把sql前面的#去掉就ok了。

如图找到以下内容

 

 

 

 

 

到了这就终于配置完了

3、测试数据库

下面就是插入一条数据到mysql数据库中真实的测试一下了:

mysql -u root -p

use radius

INSERT INTO radcheck (UserName, Attribute, Value)VALUES ('user1', 'Password','password1');

exit

 

 

service radiusd restart

radtest user1 password1 localhost 1812 testing123

成功的样子就是这样的:

 

 

OK,万事大吉了!

接下来就是需要跟哪个地址的AC或其他客户端通信,修改相应的地址就行了。

 

转载自:http://blog.csdn.net/kafeng1987/article/details/70578342