资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Freeradius + mysql + 华为 AP无线认证1 freeradius 安装与测试1.1安装 freereradius 与 mysql 。环境: centos 6.6 软件版本 freeradius-server-2.2.9。#mkdir /usr/local/radius /创建一个安装包目录。#mv freeradius-server-2.2.9.tar.gz /usr/local/radius / 将安装包移动至此目录下。#cd /usr/local/radius /进入该目录#tar zxvf freeradius-server-2.2.9.tar.gz /解压文件到当前目录#cd freeradius-server-2.2.9 /进入该文件夹安装之前,先将需要的库环境安装, 因为系统安装的版本不一致,可能没有安装相应的库。#yum install y gcc vim /编译工具和编辑工具#yum install y openssl.devel /安装 OpenSSL 库#./configure /安装检查#make/ 编译#make install /安装1.2测试 redius服务是否安装成功。相关配置文件路径为: /usr/local/etc/raddb/。#vim /usr/local/etc/raddb/users 去掉以下内容前面的 #注释:steve Cleartext-Password := “testing“ 这样就有了测试账号steve 和密码: testing 。或者自行新建一行记录。1.3对 radius服务进行启动测试。#radiusd X,在debug 模式下运行,可以看到报错和认证信息。如果程序正常运行,最后三行如下Listening on authentication *:1812 Listening on accounting *:1813 Ready to process requests. 1.4进行简单的连接测试# radtest steve testing localhost 1812 testing123出现 Access-Accept 字样说明成功。这里 的 testing123是 在/etc/raddb/clients.conf中 定义 的localhost的密码。测试完成后将 steve 用户再恢复原样, 即加上#注释。测试成功后把 /usr/local/etc/raddb/users改回去。2 Mysql运行测试及与redius的连接设置2.1Mysql 服务启动#yum install y mysql-server /安装 mysql # /etc/init.d/mysqld start,进行 mysql 服务启动,出现mysqld: OK 表示启动成功。2.2Radius 与 mysql 数据库的连接结合。2.2.1Freeradius mysql模块配置1. #vim /usr/local/etc/raddb/radius.conf,去掉“ /使用 root权限创建一个名为radius的数据库。 PASSWOED 表示 root 用户的密码。2.2.3将两者进行结合关联1. 将 freeradius的库表导入 mysql 的 radius 数据库中:#mysql uroot pPASSWOED radius GRANT SELECT ON radius.* TO radiuslocalhost IDENTIFIED BY rad pass; # mysql GRANT ALL on radius.radcheck TO radiuslocalhost; #mysql GRANT ALL on radius.radgroupcheck TO radiuslocalhost; #mysql GRANT ALL on radius.radusergroup TO radiuslocalhost; 3. 在数据库中加入测试组 #mysql uroot p 密码 radius #mysql insert into radgroupreply (groupname,attribute,op,value) values (use r,Auth-Type,:=,Local); #mysql insert into radgroupreply (groupname,attribute,op,value) values (use r,Service-Type,=,Framed-User); #mysqlINSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES (user,Framed-Protocol,:=,PPP); #mysql insert into radgroupreply (groupname,attribute,op,value) values (use r,Framed-IP-Address,=,255.255.255.255); mysql insert into radgroupreply(groupname,attribute,op,value) values(user,Framed-IP- Netmask, := , 255.255.255.0); #mysqlINSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES (user,Framed-Compression,:=,Van-Jacobson-TCP-IP); #mysqlINSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES (user,Framed-MTU,:=,1500);4. 打开从数据库查询nas 支持默认从 “/usr/local/etc/raddb/clients.conf“ 文件读取,开启后可从数据库 nas 表读取: sed -i s/#readclients/readclients/g /usr/local/etc/raddb/sql.conf 5. 修改文件配置#vim /usr/local/etc/raddb/sites-enabled/default authorize模块: 注释掉 files(159行) ,去掉 sql 前的#号(166行)accounting模块: 注释掉 radutmp(385 行), 注释掉去掉 sql 前面的 #号(395 行) 。session 模块: 注释掉 radutmp(439行) ,去掉 sql 前面的 #号(443行) 。post-auth模块: 去掉 sql 前的#号(464行) ,去掉 sql 前的#号(552 行) 。#/usr/local/etc/raddb/sites-enabled/inner-tunnel authorize 模块: 注释掉 files(124行) ,去掉 sql 前的#号(131行) 。session 模块: 注释掉 radutmp(251行) ,去掉 sql 前面的 #号(255行) 。post-auth 模块: 去掉 sql 前的#号(277行), 去掉 sql 前的#号(301 行) 。#vim /usr/local/etc/raddb/clients.conf 在 client localhost 后面加上 : Client 客户端地址段 / 掩码 Secret = testing123 #一般默认都是这个,如果要修改必须与客户端的共享秘钥保持一致。Shortname = AP #可以随便写,暂时没有发现用处。Nastype = other #使用的 NAS 是其他类型。require_message_authenticator = no #消息取消,减少认证错误。可以不加 6. 在数据库 radius 添加新用户#mysql uroot ppasswd #mysql use radius; # 添加用户 demo ,密码 demo ,注意是在 radchec 表INSERT INTO radcheck (username,attribute,op,VALUE) VALUES (demo,Cleartext-Password,:=,demo); # 将用户 demo加入 VIP1 用户组INSERT INTO radusergroup (username,groupname) VALUES (demo,user );#对用户的使用时长进行设置INSERT INTO radcheck (username,attribute,op,VALUE) VALUES (demo,Expiration,:=,11 Mar 2017); #对用户的使用时间段进行设置INSERT INTO radcheck (username,attribute,op,VALUE) VALUES (demo,Login-Time,:=,A10600-1230); 以上设置表示 demo这个账号只能在 2017年 3 月 11 日前每天的上午 6 点至中午 12 点 30 分的时间段内使用2.2.4启动测试#radiusd Mysqlcreate user username % ” IDENTIFIED BY password;授权Mysql grant all on radius.* to username % ;账号创建与授权完成。2.3.4常见的错误1. rlm_eap: SSL error error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt rlm_eap_tls: Error reading private key file /usr/local/etc/raddb/certs/server.pem rlm_eap: Failed to initialize type tls /usr/local/etc/raddb/eap.conf17: Instantiation failed for module “eap“ /usr/local/etc/raddb/sites-enabled/default310: Failed to load module “eap“. /usr/local/etc/raddb/sites-enabled/default252: Errors parsing authenticate section. Answer:eap.conf 中 private_key_password 的值与 ca.cnf中reqinput password,output password 属性值不一致。2. 如果接收到类似于这样的信息:rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=222, length=38。可以到 usr/local/var/log去查看 freeradius 的日志。在安装过程我就接收到这样的信息,百思不得其解,以为是安装出了问题,后来是
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号