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

  安装

yum -y install freeradius freeradius-utils freeradius-mysql

   启动radius

systemctl start radiusd
systemctl enable radiusd

   日志在

/var/log/radius/radius.log 

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

radiusd -X

   FreeRADIUS 3.0的测试

  修改配置文件

vim /etc/raddb/users

   把以下行的注释取消

 

   测试

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

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

 

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

 

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

 

  测试完把注释在加上

   4,安装mariadb

  安装

yum install -y mariadb-server mariadb

   启动

systemctl start mariadb
systemctl enable mariadb

  运行安全设置

mysql_secure_installation

 

 

   进入数据库

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

   创建数据库并授权

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和数据库

  导入数据库

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

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

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

   查看

[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,并更改数据库连接参数,以适合环境

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

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

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

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

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

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

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

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

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

   建立组信息和用户

  建立组信息

  登录mysql创建

  建立组信息

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)

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

   查看

 

   将用户加入组中

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

   重启radius测试

systemctl restart radiusd

   测试

radtest test testpwd localhost 1812 testing123

 

 

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

  设置如下

 

 

  电脑连接wifi

 

   手机 连接

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

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

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

radiusd -X

 

   



 

posted @ 2021-01-19 14:33  minseo  阅读(1725)  评论(0编辑  收藏  举报