radius mysql_wifi认证Portal开发系列(二):FreeRadius的安装和测试、关联Mysql

注:本次安装是基于FreeRadius 3版本进行安装配置的,在配置Mysql的过程中,与2版本有些不同。操作系统是CentOS 7

一、准备工作

工具的安装

#安装rz、sz命令用于文件上传

yum install -y lrzsz

rz命令:

6d7ed429ad040cda8203f8059bab58a8.png

修改yum镜像源地址为网易开源镜像源,解决国外镜像下载慢的问题。repos文件下载地址:http://mirrors.163.com/

#进入目录

cd /etc/yum.repos.d#备份repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup#rz上传163repos文件#刷新缓存

yum clean all

yum makecache

修改yum镜像源地址为阿里巴巴开源镜像源。

#进入目录

cd /etc/yum.repos.d#备份repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo#刷新缓存

yum clean all

yum makecache

安装编译FreeRadius所需要的依赖

#安装wget、gcc、gcc-c++、make

yum install –y wget gcc gcc-c++make#安装libtalloc

yum -y install libtalloc libtalloc-devel#安装openssl以及openssl头文件

yum install -y openssl openssl-devel

二、安装FreeRadius service端

注意:如果FreeRadius需要与Mysql关联,请先安装mysql-devel

yum install -y mysql-devel

yum install -y freeradius-utils freeradius-mysql

安装方法一:

yum安装,安装后FreeRadius的路径为/etc/raddb

yum install -y freeradius

安装方法二:

make编译安装,安装后FreeRadius的路径为/usr/local/etc/raddb

通过wget命令下载FreeRadius压缩包

cd /home

wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.15.tar.gz

或者直接下载压缩包(下载地址:http://freeradius.org/releases/),然后使用rz命令上传至服务器

tar命令解压压缩包,并进入解压后的文件夹

tar -zxvf freeradius-server-3.0.15.tar.gz

cd freeradius-server-3.0.15

使用./configure检测你的安装平台的目标特征,出现错误提示缺什么就安装什么,例:出现configure: error: FreeRADIUS requires libtalloc 错误则安装libtalloc及libtalloc-devel。监测成功后出现make.inc.in文件

./configure

检测不成功:

04741609400a1e6d3ab9efb01c5d177b.png

检查成功:

36da2b27130ff034411a484932fcd233.png

没有其他错误后编译安装FreeRadius

#编译

make#安装

make install

a3da16a39e0d5d61af772f911b4bc40d.png

开放防火墙端口,1812是认证授权端口,1813是计费端口

iptables -A INPUT -p udp --dport 1812 -j ACCEPT

iptables -A INPUT -p udp --dport 1813 -j ACCEPT

查看端口是否开放

iptables -L -n | grep 181

b9abfa325c1cdcd64f3a2a5b5faf2875.png

使用命令:

#开启freeRadius调试模式

radiusd -X

出现Ready to process requests表示安装成功

dc5046925fdae7000051cd43f45c64fd.png

修改本地用户文件

cd /usr/local/etc/raddb/

#修改users

vim users

查找 steve Cleartext-Password := "testing" (76-84行), 取消该段内容的注释。

c2f19b78b3a78bc589b4a9f6a7b29fb7.png

重启radiusd -X,启动另一个窗口,输入命令

radtest steve testing localhost 0 testing123

接受到Access-Accept表示请求成功

5472b60bf14b20ef721081c448c0f52a.png

三、Mysql的安装

四、FreeRadius与Mysql关联

1、创建radius数据库

登陆mysql,创建一个名为radius的数据库

mysql> create database radius;

创建radius用户,并赋予管理radius数据库的权限,密码为:radius123

mysql> grant all on radius.* to radius@localhost identified by 'radius123';

刷新

mysql> flush privileges;

切换到FreeRadius存放sql目录下

cd /usr/local/etc/raddb/mods-config/sql/main/mysql

导入FreeRadius的sql文件

mysql -uradius -pradius123 radius

mysql -uradius -pradius123 radius

此时radius数据库中将有多张表

05b4492e1b6f431f8b1d310c7954045f.png

登陆mysql

加入组信息,本例中的组名为user

/*切换数据库*/mysql> useradius;

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');

2927d628a6626ec0d26806d65f13048f.png

在radcheck中插入一条用户信息

mysql> useradius;

mysql> insert into radcheck(id,username,attribute,op,value) values('2','test','Cleartext-Password',':=','test123');

ef01eeff414fcf2b85f3f7412c2885bf.png

用户加到组里

mysql> insert into radusergroup(username,groupname) values('test','user');

2、配置FreeRadius与mysql的关联

进入FreeRadius目录,yum安装的为:/etc/raddb

cd /usr/local/etc/raddb

09658e2f43c8f5d5a81a7902b9b364d9.png

进入mods-available文件夹,并修改sql文件

cd mods-available/vim sql

修改修改driver="rlm_sql_null"为你所对应的数据库类型,此处修改为为“driver=rlm_sql_mysql”,配置radius数据库连接属性

103730f8f63f022cb91b2097f8fff9bc.png

f16b108e90a1cd736e0017fc5c9df8be.png

给mods-enabled文件夹和mods-available文件夹下的sql文件做个软链接

cd ../mods-enabled

ln -s /usr/local/etc/raddb/mods-available/sql ./

7570b5a4c0c857b14df5cb15dd3e3e2a.png

修改sites-enabled目录下的default文件

2cfc7be114d96512debb8a415eccf4b3.png

分别将authorize {}、accounting{}下的sql去掉注释,并且将file注释掉。

开启FreeRadius调试模式

radiusd -X

打开另一个客户端,输入格式:radtest [user] [passwd] [主机] [nas port] [secret]

radtest test test123 localhost 1812 testing123

出现Access-Accept表示请求成功

d910371df4259e029e2943422b4e3108.png

radiusd段打印出来的信息

cb565258c33684bd55a3958790598def.png

secret在clients.conf文件中配置,默认给localhost配置的为testing123

8003155178f6e082c396956ad6f5529c.png

可以自行添加配置Radius Client段的IP以及密钥

client anthorClientIpName {

ipaddr= 192.168.206.131secret=anthorSecret

}

f8d2d16665aa6e484ab6cd71463a135c.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值