CentOS搭建radius服务器用于wifi的wap2认证

  参考:https://www.dazhuanlan.com/2019/10/01/5d9313aa9a9a9/

    https://www.cnblogs.com/keephappy/p/7681695.html

    https://blog.csdn.net/qq_29056051/article/details/81066205

  1,网络拓扑

 

  IP规划

明细 IP  备注
路由器WAN口 192.168.1.10  
路由器LAN口  192.168.0.0/24  
Radius服务器  192.168.1.100  

  2,环境查看

 

   路由器型号为TP-Link TL-WAR1200L也可以使用其他支持WPA2认证的路由器

  3,安装FreeRadius

  安装

1
yum -y install freeradius freeradius-utils freeradius-mysql

   启动radius

1
2
systemctl start radiusd
systemctl enable radiusd

   日志在

1
/var/log/radius/radius.log

   也可以使用调试模式启动,直接在当前页面显示日志

1
radiusd -X

   FreeRADIUS 3.0的测试

  修改配置文件

1
vim /etc/raddb/users

   把以下行的注释取消

 

   测试

1
[root@localhost ~]# radtest steve testing localhost 0 testing123

   如果输出"Access-Accept"表示成功了,"Access-Reject"表示失败了。

 

   使用radius -X启动则在终端显示以下代表认证成功

 

   关闭radius测试会提示没有响应

 

  测试完把注释在加上

   4,安装mariadb

  安装

1
yum install -y mariadb-server mariadb

   启动

1
2
systemctl start mariadb
systemctl enable mariadb

  运行安全设置

1
mysql_secure_installation

 

 

   进入数据库

1
2
[root@localhost ~]# mysql -uroot -p
Enter password:

   创建数据库并授权

1
2
3
4
5
6
7
8
9
MariaDB [(none)]> create database radius;
 
Query OK, 1 row affected (0.00 sec)
 
MariaDB [(none)]> grant all on radius.* to radius@'localhost' identified by 'radius';
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

   5, 配置radius和数据库

  导入数据库

1
[root@localhost ~]# mysql -uroot -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql

   为/etc/raddb/mods-enabled创建软连接

1
[root@localhost ~]# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/

   查看

1
2
[root@localhost ~]# ll /etc/raddb/mods-enabled/sql
lrwxrwxrwx 1 root root 29 1月  19 14:09 /etc/raddb/mods-enabled/sql -> /etc/raddb/mods-available/sql

   配置SQL模块/ raddb/mods-available/ SQL,并更改数据库连接参数,以适合环境

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

   设置以下项,其余项保持默认

1
2
3
4
5
6
7
8
9
driver = "rlm_sql_mysql"
dialect = "mysql"
server = "localhost"
port = 3306
login = "radius"
password = "radius"
radius_db = "radius"
 
read_clients = yes

   然后,将/etc/raddb/mods-enabled/sql所属组更改为radiusd

1
#chgrp -h radiusd /etc/raddb/mods-enabled/sql

   添加客户端连接设置,添加允许所有用户接入,如需特定ip访问,ip可以自由更改。

1
[root@localhost ~]# vim /etc/raddb/clients.conf

   本次设置所有client都可以接入,生产中可设置特定ip

  密钥为testing123为需要在路由器配置的密钥

1
2
3
4
5
client all_client {
ipaddr = 0.0.0.0/0
secret = testing123
require_message_authenticator = no
}

   建立组信息和用户

  建立组信息

  登录mysql创建

  建立组信息

1
2
3
4
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');

   查看

  建立用户信息:(在此新建用户名为test,密码为testpwd)

1
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

   查看

 

   将用户加入组中

1
insert into radusergroup (username,groupname) values ('test','user');

   重启radius测试

1
systemctl restart radiusd

   测试

1
radtest test testpwd localhost 1812 testing123

 

 

   6,路由器设置使用radius认证

  设置如下

 

 

  电脑连接wifi

 

   手机 连接

   注意:连接可以查看日志排错

1
tail -f /var/log/radius/radius.log

   调试期间可以使用调试模式启动,显示详细日志信息

1
radiusd -X

 

   



 

posted @   minseo  阅读(1774)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2019-01-19 MySQL主从同步添加至zabbix监控即怎么使用zabbix收集shell脚本执行数据
2019-01-19 MySQL设置只读模式
2019-01-19 MySQL使用root用户授权出现错误ERROR 1045 (28000) at line 2: Access denied for user 'root'@'%' (using password: YES)解决办法
点击右上角即可分享
微信分享提示