CentOS FreeRadius+mysql
上一遍介绍了FreeRadius在CentOS是如何安装的,这次来讲FreeRadius如何对接MariaDB,利用mysql方便管理用户
系统要求
- 操作系统
CentOS - 安装对象
MariaDB - 注意事项
所有操作都以ROOT身份进行
全过程需要联网进行
安装MariaDB
- 输入命令
yum -y install mariadb-server
成功显示
6. 激活和启动mariadb服务
默认情况下,mariadb并没有激活,使用命令激活服务
systemctl enable mariadb
使用命令启动mariadb
systemctl start mariadb
查看mariadb状态
systemctl status mariadb
正常情况下显示
-
首次安装需要进行数据库配置
输入:mysql_secure_installation
在这里输入数据库超级管理员ROOT的密码;
第一次进入先回车,再输入Y
输入密码
-
登录mysql
输入命令:mysql -u root -p
输入刚刚设置的密码就能登录成功了
-
创建数据库
create database radius;
grant all on radius.* to radius@localhost identified by "radpass";
exit;
- 导入表结构
mysql -u root -p radius< /etc/raddb/mods-config/sql/main/mysql/schema.sql
nas Nas设备登机表
radcheck 用户检查信息表
radreply 用户回复信息表
radgroupcheck 用户组检查信息表
radgroupreply 用户组检查信息表
radusergroup 用户和组关系表
radacct 计费情况表
radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。
- 建立组信息和用户信息
mysql -u root -p radius
# 组信息
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 radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');
17. 修改FreeRadius中的mysql认证配置
cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql
chgrp -h radiusd /etc/raddb/mods-enabled/sql
- 修改FreeRadius中的mysql配置文件
vi /etc/raddb/mods-available/sql
找到driver = “rlm_sql_null”这一行,修改为driver = “rlm_sql_mysql”
21. 修改FreeRadius配置文件,以便方便连接sql数据库
vim /etc/raddb/radiusd.conf
- 修改default
vim /etc/raddb/sites-available/default
取消sql的注释,将-sql的-去掉
vim /etc/raddb/mods-available/sql
修改dialect = “sqlite”》dialect = “mysql”
server = “localhost”
port = 3306
login = “radius”
password = “radpass”
read_clients=yes
取消注释
- 测试radius是否运行正常
radiusd -X
ok
27. 启动radius
systemctl restart radiusd
systemctl status radiusd
29. 测试通过数据库用户认证
radtest test testpwd localhost 1812 testing123
至此FreeRadius+mysql完毕