安装radius服务器,数据库扩展插件
预先安装mysql数据库,然后安装freeradius,以及freeradius的数据库扩展插件freeradius-mysql:
yum install -y freeradius freeradius-mysql freeradius-utils
配置freeradius
修改users
#vim /etc/raddb/users
然后找到下面这段文字 然后把这段文字前面的#注释全部去掉后保存文件
steve Cleartext-Password := "testing"
Service-Type = Framed-User,
Framed-Protocol = PPP,
Framed-IP-Address = 172.16.3.33,
Framed-IP-Netmask = 255.255.255.0,
Framed-Routing = Broadcast-Listen,
Framed-Filter-Id = "std.ppp",
Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP
启动freeradius服务端
可以通过radiusd -X来做首次启动,注意首次启动必须是root账户才行。
会出现一堆的代码,如果最后出现如下提示,应该就是启动成功了:
测试radius是否安装成功
然后另外开一个终端运行 radtest yangqinwoaini test localhost 1812 testing123 进行测试,当出现rad_recv: Access-Accept 说明freeradius已经安装成功.
修改权限
chown root.radiusd /etc/raddb/*
客户端配置文件修改
clients.conf配置
/etc/raddb/clients.conf
添加客户端:private-network,
0.0.0.0/0:表示可以从任意IP发起访问,
testing123:当前实例的秘钥。
default配置
/etc/raddb/sites-available/default
修改
accounting {}中
“-sql"改为"sql”
authorize {}中
“-sql"改为"sql”
session {}中
“# sql"改为” sql"
inner-tunnel配置
/etc/raddb/sites-available/inner-tunnel
修改
authorize {}中
“-sql"改为"sql”
post-auth {}中
“-sql"改为"sql”
session {}中
“# sql"改为” sql"
数据库配置
# vim /etc/raddb/mods-available/sql
创建硬链接
(radius启动时会去访问)
cd /etc/raddb/mods-enabled/
ln ../mods-available/sql ./
修改驱动
将driver = "rlm_sql_null"这一行注释,
添加:driver = “rlm_sql_mysql”;
修改所用数据库
将dialect = "sqlite"注释,
添加:dialect = “mysql”;
修改数据库连接
在"# Connection info:"下边另起一行,添加数据源配置:
server = “192.168.1.123”
port = 3306
login = “x”
password = “y”
# 可用root用户 也可以使用radius用户 并赋予权限
MariaDB [(none)]> grant all on radius.* to radius@localhost identified by 'yourPassword';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
创建表
create database radius;
source /etc/raddb/mods-config/sql/main/mysql/schema.sql;
初始化数据库
radius_user.sql
-- 用户组
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-Address',':=','255.255.255.255');
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
-- 用户
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');
-- 将用户添加进用户组
insert into radusergroup (username,groupname) values ('test','user');
主数据库各字段含义
radcheck 用户检查信息表
radreply 用户回复信息表
radgroupcheck 用户组检查信息表
radgroupreply 用户组检查信息表
radusergroup 用户和组关系表
radacct 计费情况表
radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。
nas 网络设备表
扩展功能表,可以按需导入ippool.sql、wimax.sql wimax、cui.sql cui详细的表定义参见:http://wiki.freeradius.org/MySQL_DDL_script。
设置开机启动
systemctl enable radiusd
systemctl start radiusd
测试
debug模式启动
radiusd -X
测试
另起一个窗口,radtest命令测试,
test:用户名,
testpwd:用户密码,
localhost 1812:radius地址,1812为默认端口号,
testing123:当前实例的秘钥。
radtest test testpwd localhost 1812 testing123
输入正确密码
输入错误密码
三次正确一次错误
查看radpostauth表
chap模式
-t chap:
指定chap模式,
-x:
输出debug信息。
radtest -t chap -x test testpwd 192.168.1.123 1812 testing123
方式一:安装openwisp-radius 提供web
安装virtualenvwrapper虚拟环境
参考:https://www.jianshu.com/p/2c20bd5d1fb0
mkvirtualenv radius
安装openwisp-radius
pip install -U pip setuptools wheel
pip install openwisp-radius
具体参考:https://www.jianshu.com/p/c69daaf36871
方式二:安装php DaloRadius提供web
组件安装
yum install -y net-tools //安装Ifconfig工具
yum install bash-completion -y //安装命令补全工具
yum -y install lrzsz //安装文件管理工具
yum install -y wget unzip //安装unzip
yum install -y epel-release //安装EPEL软件库
yum makecache fast //重置软件库缓存信息
安装Apache Web服务器及
DaloRadius是PHP开发的Web应用,需要安装Apach Web服务器和PHP
# 安装Apache Web服务器
yum install -y httpd //安装httpd服务
systemctl enable httpd //设置开机自启动
systemctl start httpd //开启httpd服务
安装PHP及相关软件包
//安装PHP及软件包
yum install -y php php-mysql php-pear php-devel php-common php-gd php-mbstring php-mcrypt php-xml php-pear-DB
//安装完成后重启hApache Web服务以使PHP生效
systemctl restart httpd
安装DaloRadius
下载DaloRadius源代码并解压后将文件夹移动到Apache Web服务器工作目录
//从Github上获取并下载源代码
https://github.com/lirantal/daloradius/archive/master.zip
或者 https://sourceforge.net/projects/daloradius/ 推荐这个 第一个安装后登录不了
//解压
unzip daloradius-xxx.zip
rm -f daloradius-xxx.zip
//移动文件夹
mv daloradius /var/www/html/
设置DaloRadius目录权限及属主信息
chown -R apache:apache /var/www/html/daloradius
chmod -R 664 /var/www/html/daloradius/library/daloradius.conf.php
在MariaDB中创建DaloRadius数据对象
//导入SQL脚本
mysql -u root -p
use radius
source /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
source /var/www/html/daloradius/contrib/db/mysql-daloradius.sql
修改DaloRadius配置文件
vim /var/www/html/daloradius/library/daloradius.conf.php
# 改成自己所使用的数据库用户密码 使用root用户或radius用户都可以
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
在浏览器输入
http://ip:8080/daloradius # 我的httpd配置的是8080 端口
如下页面
登录系统(默认用户名:administrator 密码:radius)
汉化
# vim /var/www/html/daloradius/config-lang.php //加入
# vim /var/www/html/daloradius/lang/main.php //加入
case "zh":
include (dirname(__FILE__)."/zh.php");
break;
汉化参考:
https://www.freesion.com/article/3762668346/
https://www.beijinghuayu.com.cn/daloradius-%E6%B1%89%E5%8C%96/
参考
https://blog.csdn.net/qq_35549286/article/details/117423686
http://t.zoukankan.com/lsgxeva-p-14244471.html
https://news.68idc.cn/server/linux/20150119177443.html
https://blog.csdn.net/forget_zhx/article/details/108389908