文章主要由以下几部分组成:

0、概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x

1、编译hostapd

2、配置hostapd的conf文件

3、外接路由器设置

4、配置hostapd的user文件

5、运行命令

0、概念理解

(1)802.11i 是一个标准,这种安全标准为增强WLAN的数据加密和认证性能,定义了RSN(Robust Security Network)的概念,标准范畴分为媒介层(MAC)与物理层(PHY)。该标准为整个802.11协议族共用。

(2)EAP一种可扩展的认证框架,各种认证方法可以得到很好的支持。

认证者(A),申请认证者(S),后端认证服务器(B, 本文是Radius服务器)

有以上三种角色组成的模式叫做BAS模式,

还有一种AAA模式:Authentication、Authorization and Accounting,认证、授权和计费。

(3)802.1X是802.1规范家族中的一员。简单来说,802.1X详细讨论了EAP在Wired LAN上的实现,即EAPOL。

(4)IEEE 是一个组织,负责制定(1)(2)(3)中所说的802.11i。

(5)WiFi联盟也是一个团体,组织。他们拥有 Wi-Fi 这个名词的商标,并且会检验要使用Wi-Fi这个名词的设备以核发证书。什么样的无线传输可以称之为WiFi,由他们认证。

(6) WPA 实现了 IEEE 802.11i 标准的大部分,是在 802.11i 完备之前替代 WEP 的过渡方案。WPA由WiFi联盟建立,并提供该项接入方式的认证。2003年开始强制性实施。

英文缩写: WPA (Wi-Fi Protected Access)

中文译名: Wi-Fi网络安全接入

认识了WPA, WPA2也就是WPA的第二代,是经由 Wi-Fi 联盟验证过的 IEEE 802.11i标准的认证形式。

WPA/WPA2有两种认证模式,一种是个人版(预先秘钥共享机制,即PSK)和企业版(使用802.1x框架)

最后,总结成如下图,各个实体之间的关系。

1、编译hostapd

(1) 配置.conf文件

该文档使用的是hostapd-2.5源码。

在执行make之前需要安装openssl等开发包。这里编译环境使用的是Ubuntu,因为开发环境比较容易配置。

到hostapd文件夹下,

一般有类似于“defconfig”的文件,将其重命名为“.config”。

首先,因为我们是将hostapd当做radius服务器,所以这一项的配置很重要。

然后后面根据需要配置各种EAP方法

(2) 执行make命令

make //生成hostapd运行文件

make hlr_auc_gw //编译生成hlr_auc_gw 运行文件

2配置hostapd.conf文件

dirver=none

ieee8021x=1

eap_server=1

eap_user_file=hostapd.eap_user

# TLS parameters (shared by EAP-PEAP, EAP-TTLS, EAP-FAST)

ca_cert=cas.pem

# Server certificate and private key from separate files

server_cert=server.pem

private_key=server.key

radius_server_clients=hostapd.radius_clients

radius_server_auth_port=1812 randius服务器的端口】

 

注: server.pem, server.key, cas.pem可以复用hostapd文件夹下的同名文件,即拷贝过去配置好相对路径就好。

其他参照里面的说明配置,EAP-FAST的项需要比较多的配置。(现在很少设备支持EAP-FAST这种认证方式)

3配置路由器

使用路由器作为AP,所以需要让AP知道如何把信息转发给Radius服务器

配置一个SSID

配置路由器认证方式

关于上图中的radiuis服务器IP地址,Radiuis端口和Radius密码,参照以下步骤执行。

【如何获取本机的radius IP地址】

先修改hostapd.conf配置文件:

RADIUS authentication server

auth_server_addr=192.168.1.102

auth_server_port=1812

auth_server_shared_secret=secret

然后在终端中运行 ./hostapd -ddK hostapd.conf 命令

可以看到local address就是本机的Radius服务器的IP地址是192.168.1.100,这个就是【radius服务器的IP地址】

这种投机取巧的办法就是利用外部radius服务器打印本机的radius服务器地址。现在依旧将上面刚刚添加的几行注释掉,使用#

#RADIUS authentication server

#auth_server_addr=192.168.1.102

#auth_server_port=1812

#auth_server_shared_secret=secret

修改下面一行的密码为12345678,这个就是radius【服务器的密码】。

参考将路由器的组秘钥更新周期改为0.

4配置user文件,用于用户登陆

刚刚在hostapd.conf文件中配置的

eap_user_file=hostapd.eap_user

注:就是用户的登录名和密码,配置用户名和密码时候,每一种EAP method的用户名不能相同,不然会出现找不到该method的情况。

其他的用户配置就请阅读上面的说明。添加新的EAP-Method 用户可以参照PEAP的方法配置,但是用户名不能相同。

5、运行命令,在hostapd文件夹下

./hlr_auc_gw -g hostapd.sim_db -m hlr_auc_gw.milenage_db

./hostapd -ddK hostapd.conf

(版权所有,转载请告知)

[EAP]将hostapd作为radius服务器搭建EAP认证环境的更多相关文章

  1. CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证

    CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osno ...

  2. [原创]CentOS下Radius服务器搭建

    一.   实现环境: 1.系统:CentOS  release  6.6 (Final) 2.需要软件包: 1) freeradius-2.1.12-6.e16.x86_64 freeradius-m ...

  3. hostapd作为radius服务器

    使用hostapd作为radius服务器,用于企业wifi加密认证. 参考链接: http://www.cnblogs.com/claruarius/p/5902141.html 去网上下载hosta ...

  4. radius服务器搭建

    yum install -y unzip gcc-c++ cd /opt unzip release-stable.zip mv ToughRADIUS-release-stable toughrad ...

  5. ubuntu 16.04服务器 搭建php LAMP环境

    1.安装Apache 下载目录: sudo apt update 安装程序: sudo apt install apache2 检查是否安装成功: sudo systemctl status apac ...

  6. Centos7服务器搭建VNC Server环境

    在企业级项目的开发中,尤其是分布式项目,经常直接在服务器上进行开发工作,操作系统环境一般是Centos 7.普遍状况是,在服务器上安装IDE 开发工具,通过 Xshell等工具远程启动,本地通过虚拟桌 ...

  7. centos7服务器搭建javaweb运行环境及代码部署

    之前在一直在学习java web终于写完了第一个小demo,于是在阿里云上买了一个服务器,开始了配置服务器环境的踩坑之旅.... ps:本文不讨论服务器配置的具体步骤,网上都很多,按部就班就是,本文主 ...

  8. 腾讯云服务器搭建Apache/PHP/MySQL环境

    软件环境 Windows Server 2008 R2 企业版 SP1 64位 刚刚进入 Windows Server ,你会看到以下界面: 列出了服务器的基础信息和常用配置 下载 XAMPP htt ...

  9. 腾讯云服务器搭建WampServer环境

    软件环境Windows Server 2008 R2 企业版 SP1 64位 刚刚进入 Windows Server ,你会看到以下界面: 列出了服务器的基础信息和常用配置下载 XAMPP https ...

随机推荐

  1. osg 笔记一 (转)

    场景图形采用一种自顶向下的,分层的树状数据结构来组织空间数据集,以提高渲染的效率 场景图形树结构的顶部是一个根节点,从根节点向下延伸,各个组节点中均包含了几何信息和用于控制其外观的渲染状态信息.根节点 ...

  2. iOS开发——UI篇&九宫格算法

    九宫格算法 关于iOS开发中九宫格的实现虽然使用不多,而且后面会有更好的方实现,但是作为一个程序员必需要知道的就是九宫格算法的实现. 一:实现思路: (1)明确每一块用得是什么view (2)明确每个 ...

  3. JS原型连

    [推荐]关于JS中的constructor与prototype[转] 最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与proto ...

  4. 初步认知MySQL metadata lock(MDL)

    http://blog.itpub.net/26515977/viewspace-1208250/ 概述 随着5.5.3引入MDL,更多的Query被“Waiting for table metada ...

  5. c语言字符串实例

    例子:涉及字符串.字符.指针.++等 例一:字符串与字符 #include <stdio.h> void reverse(char *str) { char *end=str; print ...

  6. 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?

    在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "StdAfx.h"”? 右键选择该文件.cpp格式的->属性->预编译头,→ 不使用预编译 ...

  7. 2014年GCT考试报名时

    第一阶段: 网上报名时间预计为2014年6月20日至2014年7月10日. 考生可在6月20日后在中国学位与研究生教育信息网(http://www.chinadegrees.cn/)网站报名.网报时按 ...

  8. 美国L1签证和B1,E2签证的区别

    L1是跨国公司派驻工作人员到美国关联公司工作所需的签证.L1有两种: L1A是给管理人员的.L1B是给关键技术人员的.通过延期,L1A最长时间可达7年. L1B最长时间可达五年. 最初的L1申请,如果 ...

  9. python 调用zabbix api接口实现主机的增删改查

    python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools()  调用zabbi ...

  10. akw、grep、sed常用命令

    awk 求和 cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 平均值 cat data|awk '{sum+=$1} END ...