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

一、准备工作

  工具的安装

#安装rz、sz命令用于文件上传
yum install -y lrzsz

  rz命令:

  修改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

  检测不成功:

  检查成功:

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

#编译
make
#安装
make install

  开放防火墙端口,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

  使用命令:

#开启freeRadius调试模式
radiusd -X

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

  修改本地用户文件

cd /usr/local/etc/raddb/
#修改users
vim users

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

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

radtest steve testing localhost 0 testing123

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

三、Mysql的安装

  参考:CentOs安装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<schema.sql

  或

mysql -uradius -pradius123 radius</usr/local/etc/raddb/mods-config/sql/main/mysql/schema.sql

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

  登陆mysql

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

/*切换数据库*/
mysql> use radius;
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');

  在radcheck中插入一条用户信息

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

  用户加到组里

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

2、配置FreeRadius与mysql的关联

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

cd /usr/local/etc/raddb

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

cd mods-available/
vim sql

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

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

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

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

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

  开启FreeRadius调试模式

radiusd -X

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

radtest test test123 localhost 1812 testing123

  出现Access-Accept表示请求成功

  radiusd段打印出来的信息

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

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

client anthorClientIpName {
ipaddr = 192.168.206.131
secret = anthorSecret
}

wifi认证Portal开发系列(二):FreeRadius的安装和测试、关联Mysql的更多相关文章

  1. wifi认证Portal开发系列(一):Radius与FreeRadius简介

    RADIUS 维基百科上的介绍: Remote Authentication Dial-In User Service (RADIUS) is a networking protocol that p ...

  2. wifi认证Portal开发系列(四):portal协议的java封装

     一.报文封装类 AbstractPortalMsg.java Portal协议数据报文封装类 package org.yoki.edu.common.protocol.portal.msg; imp ...

  3. wifi认证Portal开发系列(三):portal协议

    中国移动WLAN业务PORTAL协议规范介绍 一.用户上线认证流程 上线流程完成用户账号的认证,并把认证结果通知Portal Server,Portal server将会通知WLAN用户并且显示相应的 ...

  4. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...

  5. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda

    ---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...

  6. WordPress版微信小程序开发系列(二):安装使用问答

    自WordPress版微信小程序发布开源以来,受关注的程度超过我原来的想象.这套程序主要面对的用户是wordpress网站的站长,如果wordpress站想在微信的生态圈得到推广,小程序成为一种重要的 ...

  7. 微信小程序开发系列二:微信小程序的视图设计

    大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...

  8. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  9. BizTalk开发系列(二十八) MSMQ 适配器

    MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...

随机推荐

  1. [HNOI2012]矿场搭建(tarjan求点双)

    题目 Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤点设立救援出口,使得无 ...

  2. Android开发跳坑记录

    本文主要记录在Android开发中遇见的一些问题,以及解决方法. 2015.12.01 1.adb.exe 端口被占用 解决: http://blog.csdn.net/xiaanming/artic ...

  3. vue-cli脚手架每行注释

    .babelrc文件 { // 此项指明,转码的规则 "presets": [ // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es ...

  4. 【C/C++】快速排序的两种实现思路

    方法一:不断填坑,一次确定一个值.http://blog.csdn.net/morewindows/article/details/6684558 #include<stdio.h> vo ...

  5. 倒计时器CountDownLatch与同步屏障CyclicBarrier

    CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行.在这里指CountDownL ...

  6. AC日记——K-th Number poj 2104

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 52348   Accepted: 17985 Ca ...

  7. UVA - 294 Divisors【数论/区间内约数最多的数的约数个数】

    Mathematicians love all sorts of odd properties of numbers. For instance, they consider to be an int ...

  8. 2018年东北农业大学春季校赛 B wyh的矩阵【找规律】

    链接:https://www.nowcoder.com/acm/contest/93/B来源:牛客网 题目描述 给你一个n*n矩阵,按照顺序填入1到n*n的数,例如n=5,该矩阵如下 1 2 3 4 ...

  9. luogu P2744 [USACO5.3]量取牛奶Milk Measuring

    题目描述 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位——译者注) 他的最好的牛奶,并把它装入一个大瓶子中卖出.消费者要多少,他就给多少,从不有 ...

  10. Scut游戏服务器引擎6.0.5.0发布-支持C#脚本

    1. 增加C#脚本支持2. 增加Pay和Sns中间件对Mysql数据库支持3. 精简布署步骤,取消Redis写入程序,将其移到游戏底层运行4. 修正Mysql对中文可能会出现乱码的BUG 点击下载:S ...