freeradius配置

  • 格式:doc
  • 大小:31.00 KB
  • 文档页数:4

zhx@

一、安装freeradius服务:

1、 安装 freeradius需要openssl 库,所以如果系统里没安装的话,请先安装

# tar zxvf freeradius-1.1.1.tar.gz

# cd freeradius-1.1.1

# ./configure

# make

# make install

配置文件:/usr/local/etc/raddb

执行文件:/sbin/radiusd

dictionary:/usr/local/share/freeradius/dictionary.

在mysql中导入radius表所需sql语句目录:/usr/local/share/doc/freeradius/examples/mysql.sql)

2、 配置

1) 修改 clients.conf

# vi /usr/local/etc/raddb/clients.conf

在最后增加如下几行:

client 127.0.0.1 { ;增加本地帐户,测试radius是否工作正常

secret = 123456 ;本地连接radius的密码

shortname = localhost

nastype = other

}

client 192.168.80.2 { ;增加防火墙连接radius的接口地址

secret = mymingya ;防火墙连接radius的密码

shortname = sec100f

nastype = other

}

2) 修改naslist

# vi /usr/local/etc/raddb/naslist

在最后加入一行:

192.168.80.2 sec100f other ;加入防火墙nas

3) 编辑users

# vi /usr/local/etc/raddb/users

在文本最后加入用户rhh: (这个用户是保存在文本文件里的,做测试用)

rhh Auth-Type:=local,User-Password==123456

Service-Type = Framed-User,

Framed-Protocol = PPP,

Framed-IP-Address = 10.0.0.2,

Framed-IP-Netmask = 255.255.255.0

# /sbin/radiusd –X & (加上&在后台运行,便于下面测试命令执行)

# /sbin/radtest rhh 123456 localhost 0 123456

三、建立radius和mysql的联系

1、 创建radius数据库

#mysqladmin –u root –p create radius ; 注意:磁盘空间不足回导致建库失败!!!

2、 导入radius数据表:

# cd /usr/local/share/doc/freeradius/examples/

# mysql -u root -p radius < mysql.sql

radius数据库中有2个表需要注意:

radcheck:存放用户名和密码的表,以后在这儿添加VPN用户名和密码

radacct:计费信息,以后自动记录VPN登录的时间和收发数据的统计信息

3、 编辑 radius.conf 使其支持mysql认证

# vi /usr/local/etc/raddb/radiusd.conf

authorize {

preprocess

chap

mschap

suffix

sql 将前面#号去掉

...

}

accounting {

...

sql 将前面#号去掉

...

}

4、 编辑 sql.conf ,使radius可以访问mysql

# vi /usr/local/etc/raddb/sqlconf

sql {

driver = "rlm_sql_mysql"

server = "localhost"

login = "root"

password = "mysql的密码" ;mysql的root用户的密码

radius_db = "radius" ;刚才创建的数据库名

5、 向数据库里增加一些数据;

# /usr/local/mysql/bin/mysql -u root -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-Netmask','=','255.255.255.255');

insert into radgroupcheck (groupname, attribute, op, value) values ("user", "Auth-Type", ":=",

"Local");

然后加入第一个用户信息:

insert into radcheck (username,attribute,op,value) values ('rhh','User-Password','==','123456');

然后把用户加到组里:

insert into usergroup(username,groupname) values('rhh','user');

6、 测试radius和mysql的连接:

重启mysql:#service mysqld restart

启动radius:

# /sbin/radiusd –x & ;以debug模式运行radius

# /sbin/radtest rhh 123456 localhost 0 123456 ;用mysql中的帐号测试

出现 Access-Accept 之类的字样就表示radius和mysql之间的连接正常。

这时可以正式启动radiusd:

# ps –aux |grep radiusd ;查询radius进程号

# kill -9 xxxxx ;根据进程号,杀掉radius进程

# /sbin/radiusd & ;正式启动

2、mysql数据库的备份

a、 mysql默认将数据文件放在/var/lib/mysql/目录下,我们只要将整个目录复制保存既可。

b、 正规操作:

备份:

mysqldump-制作整个数据库的一个备份:

# mysqldump -u root -p --opt radius > radius-back.sql

恢复:

mysqldump导出的是完整的SQL语句,用mysql客户程序很容易就能把数据导入了:

# mysqladmin -u root -p create radius ;建库

# mysql -u root -p radius < radius-back.sql ;从备份的sql语句导入