背景
由于我们当前行业终端产品的面向客户群体是企业级用户,因此针对个人的wpa/wpa2-psk认证方式无法满足客户对Security的需求,而企业环境下的wifi解决方案非WPA/WPA2-EAP莫属。
所以搭建WPA/WPA2-EAP测试环境不管是对开发调试还是测试来说都势在必行。
搭建
网络拓扑图
网络拓扑图如下:
当前被WiFi Alliance认可的基于TLS的EAP方式主要有两种,分别是EAP-PEAP和EAP-TLS,区别是EAP-PEAP是证书单项认证,只需要服务器提供证书给客户端。而EAP-TLS是证书双向认证,需要客户端上传客户端证书。
我们先讲EAP-PEAP的实现方式,EAP-PEAP有两种实现方式,当我们没有认证服务器时可以在WLC上通过Local EAP的方式实现。具体步骤如下:
Local PEAP
-
首先登录WLC管理网页,点击Advance进入高级管理页面,在Security-Loacl EAP-Profile页面下新建Local Eap配置并勾选LEAP和PEAP,如下图:
-
在AAA设置的Local Net Users管理界面添加登录用户,这里设置的用户名和密码将会在客户端登录时用到,如下图:
-
在WLAN管理界面新建WLAN并将Security Layer2将加密协议设置成WPA/WPA2,认证方式选择802.1x:
-
在WLAN的AAA Server 勾选RADIUS Server Overwrite interface ,勾选Local EAP Authentication 并选择刚刚我们新建的Local Eap Profile:
-
Android端选择刚新建的WLAN,EAP method选择PEAP,CA certificate选择Do not validate,Identity填入Local User时新建的用户名,PassWord 填入密码,点击连接,能连接成功说明配置成功。
EAP-PEAP
EAP-PEAP的实现需要用到认证服务器,在Windows平台上需要用windows server系统,价格机器昂贵,秉承勤俭节约的原则,我们选择在ubuntu上部署免费的FreeRadius服务器。EAP-PEAP与Local PEAP相比我们需要添加认证服务器,并在WLC上配置。
首先配置Freeradius认证服务器
-
安装命令
sudo apt-get install freeradius
-
配置client,设置用户访问的网段信息
cd /etc/freeradius sudo vim clients.conf # 在配置文件中添加当前的测试网段信息 client 10.0.0.0/24 { secret = cisco shortname = MDtestNetwork }
-
配置users,添加用户组
sudo vim user.conf # 添加需要接入的用户组信息,以下示例添加2组用户 MDtest Cleartext-Password := "ciscotest" MDsoft Cleartext-Password := "ciscosoft"
-
启用EAP
cd /etc/freeradius/ sudo vim radiusd.conf # 去掉以下语句前的 "#"以取消注释 $INCLUDE ${confdir}/modules/ $INCLUDE eap.conf
-
重启Freeradius服务
sudo server freeradius stop sudo freeradius -X
配置WLC
-
进入WLC高级管理界面,在Security-AAA-Radius-Authentication,下面新建Radius服务器配置,Server IP 填写Ubuntu认证服务器地址,端口填写1812,Shared Secret填写Freeradius服务器clients.conf底下配置的secret:
-
在WLAN管理界面新建WLAN并将Security Layer2将加密协议设置成WPA/WPA2,认证方式选择802.1x:
-
在Security-AAA Server配置下勾选RADIUS Server Overwrite interface,勾选Authentication Servers,并在下拉栏选中刚添加的认证服务器IP,取消勾选Local EAP: