注:本次安装是基于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的安装
四、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数据库中将有多张表
登陆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');
在radcheck中插入一条用户信息
mysql> useradius;
mysql> insert into radcheck(id,username,attribute,op,value) values('2','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.131secret=anthorSecret
}