Centos 7 freeradius 搭建企业wifi认证服务
Centos 7 搭建Wpa认证服务
关键字 :freeradius wpa eap
参考: http://www.racksam.com/2017/03/02/centos7-install-freeradius
路由器设置为WPA/WPA2企业版模式之后,热点的security=SECURITY_EAP,设备再连接该wifi
1、 准备工作:
一台支持WPA/WPA2企业版的路由器
一台安装了centos7的电脑或者虚拟机
要保证电脑或虚拟机与路由器同一个网段。
注意:若使用虚拟机,网络不要使用共享网络模式,要用桥架wifi模式(保证同一网段,使路由器能够访问到freeradius)
2、安装数据库
2.1安装mariadb服务器
# yum -y update
# yum install -y mariadb-server mariadb
2.2开启mariadb服务
# systemctl start mariadb
# systemctl enable mariadb
2.3查看数据库状态
# systemctl status mariadb
# systemctl is-enabled mariadb.service
enabled
2.4初始化数据库安全设置
设置数据库密码,要记住,后面要用到。推荐选项:
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
3、创建FreeRadius数据库
创建radius数据库,并设置用户名及密码:
-u 用户名 。由于我们没有为数据库创建新用户,所以只能使用root账号登录, 密码就是上面设置的数据库密码
# mysql -u root -p
创建一个名为radiusdb的数据库
MariaDB [(none)]> CREATE DATABASE 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
4、安装FreeRadius
4.1 yum安装freeradius
yum -y install freeradius freeradius-utils freeradius-mysql
4.2导入数据库schema
schema.sql 里是创建数据表的sql语句
# mysql -u root -p radiusdb < /etc/raddb/mods-config/sql/main/mysql/schema.sql
4.3 配置FreeRadius使用mysql
启用sql模块
# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
# chgrp -h radiusd /etc/raddb/mods-enabled/sql
4.4配置mysql数据库连接信息
vim /etc/raddb/mods-available/sql
主要修改内容
sql {(...省略...)driver = "rlm_sql_mysql"dialect = "mysql"# Connection info:#server = "localhost"port = 3306login = "dbuser"password = "mypass"radius_db = "radiusdb"(...省略...)
}
5、调整FreeRadius与MariaDB的启动顺序
5.1添加FreeRadius启动服务
# systemctl enable radiusd.service
FreeRadius服务必须在数据库正常启动后才能正常启动,否则会出错。为了确保这一点,按照以下方法强制指定radius服务启动的顺序
# vi /etc/systemd/system/multi-user.target.wants/radiusd.service
[Unit]
Description=FreeRADIUS high performance RADIUS server.
After=syslog.target network.target
After=mariadb.service
5.2添加客户端连接设置
编辑/etc/raddb/clients.conf文件,为允许连接的客户端设置相应的共享秘钥
允许所有客户端连接, secret 是在访问freeradius时要使用的秘钥,设置路由器时要使用
client all_client {ipaddr = 0.0.0.0/0secret = testing123require_message_authenticator = no
}
5.3启动服务
# systemctl start radiusd.service
# systemctl status radiusd.service
5.4调试radius
若要看在终端看日志
如果radius启动出现问题,可以将radius进程停止,然后以参数-X的方式临时启动调试模式, 就可以在终端实时看日志
# pkill radius
# radiusd -X
6、测试radius
连接mysql命令行mysql -p radiusdb,使用sql添加一条测试记录:
这条记录是使用手机、电脑等终端登录路由器的账号和密码
MariaDB [radiusdb]> INSERT INTO radcheck (id, username, attribute, op, value) VALUES (1,'testuser','Cleartext-Password',':=','mypass');
使用radtest命令测试:radtest [用户名] [密码] [radius服务器host/ip] 0 [对客户端设置的共享秘钥],例如
# radtest testuser mypass localhost 0 testing123
认证成功的输出如下
Sending Access-Request Id 143 from 0.0.0.0:51053 to 127.0.0.1:1812
User-Name = 'testuser'
User-Password = 'mypass'
NAS-IP-Address = 127.0.0.1
NAS-Port = 0
Message-Authenticator = 0x00
Received Access-Accept Id 143 from 127.0.0.1:1812 to 127.0.0.1:51053 length 26
Acct-Interim-Interval = 60
删除用户的指令:
MariaDB [radiusdb]> delete from radcheck where username = 'testuser';
7、防火墙配置radius相关规则
7.1配置防火墙,打开radius服务端口
如果已经打开firewalld的话,可以跳过该步骤, 若仅作为测试使用,可以关闭防火墙
systemctl enable firewalld 启用防火墙
systemctl start firewalld 打开防火墙
systemctl status firewalld 查看防火墙状态
7.2添加radius服务
cat /usr/lib/firewalld/services/radius.xml
firewall-cmd --add-service=radius --permanent
firewall-cmd --reload
firewall-cmd --list-services
8、路由器配置
Centos 7 freeradius 搭建企业wifi认证服务相关推荐
- 如何在CentOS 7系统搭建企业常用的远程yum仓库,详细教学!
简介: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器 ...
- (转)搭建企业内部yum仓库(centos6+centos7+epel源)
搭建企业内部yum仓库(centos6+centos7+epel源) 原文:https://www.cnblogs.com/nulige/p/6081192.html https://www.linu ...
- linux搭建虚拟化平台报告,CentOS 7中搭建KVM虚拟化平台的方法步骤
什么是虚拟化 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化 ...
- 企业wifi统一认证怎样呀
什么是无线wifi认证系统:是搭建无线热点认证系统的解决方案之一,他比nocat更适合互联网营销思路.目前支持openwrt系统,他实现了路由器和认证服 务器的数据交互,在路由器方是用C语言代码,通过 ...
- 渗透测试之地基服务篇:无线攻防之Kali自搭建钓鱼Wifi
简介 渗透测试-地基篇 该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西. 请注意 : 本文仅用于技术讨论与研究,对于所有 ...
- 手把手搭建企业IT实战环境第三季:快速搭建SCCM1902服务器
手把手搭建企业IT实战环境第三季:快速搭建SCCM1902服务器 ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者 博客:https://blog. ...
- 【转载】用开源软件搭建企业内部协作平台, Kill QQ MSN
作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...
- centos 6.5 搭建lnmp环境
centos 6.5 搭建lnmp环境 建议安装顺序: mysql------->>编译php---->>编译nginx 最麻烦:编译php出各种错. 最简单:mysql 软件 ...
- CentOS 7下搭建LAMP并把MySQL单独分离
CentOS 7下搭建LAMP并把MySQL单独分离 原文:http://www.linuxidc.com/Linux/2017-05/144037.htm 环境: 系统:CentOS-7-x86_6 ...
最新文章
- soap php 分开类,将请求处理到同一PHP SOAP服务器中的多个类
- ubuntu下用apt-get安装软件时网速太慢的解决办法
- Spark SQL来读取现有Hive中的数据
- .NET Core 如何禁止.resx文件自动生成Designer.cs
- css布局:块级元素的居中
- 5分钟入门Lindorm SearchIndex
- 《大数据》再获新荣誉——“综合性人文社会科学”学科最受欢迎期刊
- python中的异或操作_Python中的异或和位操作的反转
- 关于git push报403的问题
- 半导体行业半双工(HDX)低频工业RFID读写器|读卡器CK-S640-AP60E之MODBUS TCP 协议说明
- Linux离线安装rzsz
- MySQL集群Cluster
- Nutch 深入浅出
- 【测试表征】五分钟了解俄歇电子能谱仪(AES)
- 萤石开放平台 .net c# sdk
- java:布局方法(边界布局)
- 同步时序逻辑电路功能分析之同步五进制加法计数器
- 【Luogu】P8195 小智的疑惑
- 午夜分享女人的绝对隐私
- Android----------- Banner2 广告图片轮播ViewPager2实现