Radius服务器搭建

in 默认分类 with 0 comment

2023-10-12T01:51:07.png
Freeradius是一个模块化,高性能并且功能丰富的一套Radius程序,包含服务器,客户端(radius client),开发库和一些额外的相关radius工具。 作为第一款开源发布的Radius程序,同时作为一个普通安装包,被许多种操作系统内置。
前提条件:
Radius认证服务器(此处使用centos 7搭建),支持Radius服务器认证路由等硬件设备。
参考网站:Centos 7 freeradius 搭建企业wifi认证服务

搭建实验环境并关闭防火墙

实验环境为centos7,IP地址为192.168.0.178,开始时需将防火墙关闭。

[root@loaclhost ~]# systemctl stop firewalld.service  /*关闭防火墙*/

安装mariadb数据库

[root@loaclhost ~]# yum -y update

(PS:如在yum -y update时出现下图 /var/run/yum.pid 被占用,可使用下面命令解除占用后在执行安装。)

[root@loaclhost ~]#  rm -f /var/run/yum.pid 

2023-10-12T00:28:22.png
2023-10-12T00:28:35.png

[root@loaclhost ~]# yum install -y mariadb-server mariadb

2023-10-12T00:28:53.png

开启mariadb数据库及设置为开机自启动:

[root@loaclhost ~]# systemctl start mariadb   /*开启数据库*/
[root@loaclhost ~]# systemctl enable mariadb   /*设置开机自启动*/

2023-10-12T00:29:09.png

查看mariadb数据库状态:

[root@loaclhost ~]# systemctl status mariadb
[root@loaclhost ~]# systemctl is-enabled mariadb.service

初始化mariadb数据库

[root@loaclhost ~]# mysql_secure_installation /*初始化数据库时,需要选择的可按照下图进行设置。*/

2023-10-12T00:32:11.png
2023-10-12T00:32:19.png

创建FreeRadius 数据库

[root@loaclhost ~]# mysql -u root -p

2023-10-12T00:32:37.png

MariaDB [(none)]> CREATE DATABASE radiusdb; /*创建radiusdb数据库*/
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO dbuser@localhost IDENTIFIED BY "mypass";  /*赋予权限*/
GRANT ALL ON radiusdb.* TO dbuser@'%' IDENTIFIED BY "mypass";  /*赋予权限*/
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q  /*退出*/
Bye

2023-10-12T00:32:49.png

安装FreeRadius

yum安装freeradius

[root@loaclhost ~]# yum -y install freeradius freeradius-utils freeradius-mysql

导入数据库schema。schema.sql 里是创建数据表的sql语句

[root@loaclhost~]# mysql -u root -p radiusdb < /etc/raddb/mods-config/sql/main/mysql/schema.sql  /*输入数据库密码*/

2023-10-12T00:35:11.png

配置FreeRadius使用mysql,启用sql模块

[root@loaclhost~]# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
[root@loaclhost~]# chgrp -h radiusd /etc/raddb/mods-enabled/sql

配置mysql数据库连接信息

[root@loaclhost~]# vim /etc/raddb/mods-available/sql

将图示处进行修改
2023-10-12T00:36:03.png
2023-10-12T00:36:15.png
修改如下图所示后进行保存:
2023-10-12T00:37:28.png
2023-10-12T00:37:35.png

添加FreeRadius启动服务

[root@loaclhost~]# systemctl enable radiusd.service

2023-10-12T00:37:48.png

强制指定radius服务启动的顺序

FreeRadius服务必须在数据库正常启动后才能正常启动,否则会出错。为了确保这一点,按照以下方法强制指定radius服务启动的顺序

[root@loaclhost~]# vi /etc/systemd/system/multi-user.target.wants/radiusd.service

2023-10-12T00:38:08.png

添加客户端连接设置

编辑/etc/raddb/clients.conf文件,为允许连接的客户端设置相应的共享秘钥允许所有客户端连接, secret 是在访问freeradius时要使用的秘钥,设置AP路由器时要使用.(非常重要)

[root@loaclhost~]#vi  /etc/raddb/clients.conf

2023-10-12T00:38:22.png
添加此代码至最后处,需放在最后大括号里面方可生效。

    client all_client {
        ipaddr = 0.0.0.0/0
        secret = testing123
        require_message_authenticator = no
}

2023-10-12T00:39:59.png

[root@loaclhost~]# systemctl start radiusd.service
[root@loaclhost~]# systemctl status radiusd.service

2023-10-12T00:40:11.png
若要看在终端看日志
如果radius启动出现问题,可以将radius进程停止,然后以参数-X的方式临时启动调试模式, 就可以在终端实时看日志

[root@loaclhost~]# pkill radius   
[root@loaclhost~]# radiusd -X

2023-10-12T00:40:25.png

测试radius

连接mysql命令行mysql -p radiusdb,使用sql添加一条测试记录:这条记录是使用手机、电脑等终端登录路由器的账号和密码

[root@loaclhost~]# mysql -u root -p
[root@loaclhost~]# use radiusdb /*进入radiusdb数据库中*/

2023-10-12T00:40:40.png
MariaDB [radiusdb]> INSERT INTO radcheck (id, username, attribute, op, value) VALUES (1,x----t','Cleartext-Password',':=','x---b'); /创建索引为1,用户名为x----t用户及设置密码为x---b的用户/
2023-10-12T00:49:23.png

[root@loaclhost~]# radtest x----t x---b localhost 0 testing123 /*此处testing123 为上述client all_client 创建时所设置的共享密钥*/

认证成功的输出如下:
2023-10-12T00:53:12.png

到此Radius服务器搭建完毕。

AP设置

1)在AP后台中点击【认证授权】,【外部服务器】,【新增】。将新建认证服务器【IP地址】输入【192.168.0.178】,输入上述【共享秘钥】及在数据库中创建的【用户名】(x----t)及【密码】(x---b)进行有效性测试。
2023-10-12T00:55:31.png
2023-10-12T00:56:10.png
2)如搭建无误时则提示【服务可用】
2023-10-12T00:56:51.png
3)在接入点设置,无线网络中新增无线网络(此处为X-----st)
2023-10-12T00:58:05.png
2023-10-12T00:58:23.png
2023-10-12T00:59:03.png
4)在【认证服务器】,【账号认证】,【主认证服务器】中选择【radius 文档】。
2023-10-12T00:59:23.png
2023-10-12T01:18:50.png
到此AP设置完毕。

连接测试

1)连接上述AP中设置无线SSID: X-----t.
2023-10-12T01:00:32.png
2)此时则会弹出【账号认证】页面,输入上述设置用户名及密码。
2023-10-12T01:00:46.png
3)认证成功后即可上网。
2023-10-12T01:07:20.png

Responses