天天看点

CentOS FreeRadius+mysql

CentOS FreeRadius+mysql

上一遍介绍了FreeRadius在CentOS是如何安装的,这次来讲FreeRadius如何对接MariaDB,利用mysql方便管理用户

系统要求

  1. 操作系统

    CentOS

  2. 安装对象

    MariaDB

  3. 注意事项

    所有操作都以ROOT身份进行

    全过程需要联网进行

安装MariaDB

  1. 输入命令
yum -y install mariadb-server
           
CentOS FreeRadius+mysql

成功显示

CentOS FreeRadius+mysql

6. 激活和启动mariadb服务

默认情况下,mariadb并没有激活,使用命令激活服务

systemctl enable mariadb
           
CentOS FreeRadius+mysql

使用命令启动mariadb

systemctl start mariadb
           
CentOS FreeRadius+mysql

查看mariadb状态

systemctl status mariadb
           

正常情况下显示

CentOS FreeRadius+mysql
  1. 首次安装需要进行数据库配置

    输入:

    mysql_secure_installation

    CentOS FreeRadius+mysql

    在这里输入数据库超级管理员ROOT的密码;

    第一次进入先回车,再输入Y

    CentOS FreeRadius+mysql
    输入密码
    CentOS FreeRadius+mysql
  2. 登录mysql

    输入命令:

    mysql -u root -p

    输入刚刚设置的密码就能登录成功了
    CentOS FreeRadius+mysql
  3. 创建数据库
CentOS FreeRadius+mysql
CentOS FreeRadius+mysql
CentOS FreeRadius+mysql
  1. 导入表结构
mysql -u root -p radius< /etc/raddb/mods-config/sql/main/mysql/schema.sql 
           
CentOS FreeRadius+mysql
CentOS FreeRadius+mysql

nas Nas设备登机表

radcheck 用户检查信息表

radreply 用户回复信息表

radgroupcheck 用户组检查信息表

radgroupreply 用户组检查信息表

radusergroup 用户和组关系表

radacct 计费情况表

radpostauth 认证后处理信息,可以包括认证请求成功和拒绝的记录。

  1. 建立组信息和用户信息
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');
           
CentOS FreeRadius+mysql

17. 修改FreeRadius中的mysql认证配置

cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql
chgrp -h radiusd /etc/raddb/mods-enabled/sql
           
  1. 修改FreeRadius中的mysql配置文件
vi /etc/raddb/mods-available/sql
           

找到driver = “rlm_sql_null”这一行,修改为driver = “rlm_sql_mysql”

CentOS FreeRadius+mysql
CentOS FreeRadius+mysql

21. 修改FreeRadius配置文件,以便方便连接sql数据库

vim /etc/raddb/radiusd.conf
           
CentOS FreeRadius+mysql
CentOS FreeRadius+mysql
  1. 修改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

取消注释

  1. 测试radius是否运行正常
radiusd -X
           
CentOS FreeRadius+mysql

ok

27. 启动radius

systemctl restart radiusd
systemctl status radiusd
           
CentOS FreeRadius+mysql

29. 测试通过数据库用户认证

radtest test testpwd localhost 1812 testing123
           
CentOS FreeRadius+mysql

至此FreeRadius+mysql完毕