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语句导入