校园网基于802.1x无感知认证的研究与实现

一、现状与需求分析

随着智能终端的普及,接入校园网络的终端类型正在逐渐发生变化。智能终端需要通过3G、GPRS、WIFI接入Internet网络。但目前3G、GPRS上网资费较贵,所以WIFI成为校园网中智能终端的主要接入方式。为了保障无线网络及用户数据传输的安全,需要对接入终端身份进行校验,同时对传输数据进行加密。

校园网中常见的无线身份验证方式为:预共享密钥的方式、Portal方式(WEB认证)。

(1)预共享密钥:学校网络管理员提前配置无线安全密钥,用户接入网络时输入提前配置的密钥进行身份验证。由于密钥为静态管理方式,如果该密钥泄露,将失去用户身份验证的作用,该方式在大型无线网络中已经很少使用。

(2)Portal方式:用户使用浏览器进行认证(WEB认证),不存在系统兼容性的问题,但是用户每次接入网络都需要打开浏览器进行一次Portal认证,如果每次都需要进行Portal认证将大大降低用户的无线体验。

根据老师们使用习惯和应用场景分析,能不能给我们的老师提供一种快速“无感知”的接入方式,即终端进入无线覆盖范围内即可自动连接无线网络,不再需要输入用户名、密码或者预共享密钥等信息即可完成终端身份识别。化繁为简的“无感知”接入,让用户几乎忘了自己是如何上网的,同时安全性却丝毫没有妥协,网络管理员依然可以做到最为安全的无线网络接入。

二、802.1x无感知认证价值描述

无感知认证的方案有:基于802.1x无感知认证,基于MAC无感知认证。本文主要讨论基于802.1x的无感知认证。

市场上大部分智能终端都支持802.1x认证功能,802.1x技术为企业级的网络提供了安全和便捷的解决方案。用户希望接入无线网络时只需要首次进行认证信息配置,后续用户只要进入无线信号覆盖范围内即可自动完成认证。

802.1x协议规定在完成认证之前是不允许信息交互的,因此手持终端与AC在认证之前只能通过802.1x协议规定的EAP(Extensible Authentication Protocol,可扩展认证协议)帧交换认证信息。目前大多数手持终端都支持基于802.1x的EAP认证,输入相应的用户名密码,即可自动完成认证,这种方式称为EAP-PEAP,即Protected-EAP(受保护的可扩展的身份验证协议)。已被Wi-FI联盟WPA和WPA2批准的有两个子类型:PEAPV0-MSCHAPV2和PEAPV1-GTC。又由于PEAP是一个框架协议,目前业界使用最广的是由微软提出的PEAP-MSCHAPV2协议,又被称作MS-PEAP,也就是我们在iPhone上看到的WPA/WPA2企业级认证方式。

PEAP是可扩展的身份认证协议,认证过程分为两个阶段,第一阶段终端与Radius服务器之间建立TLS隧道,通过TLS保护第二阶段用户信息的交互;第二阶段完成认证方式的协商及用户身份的认证。常见的PAEP认证方式有两种:PEAP-MSCHAPV2、PEAP-GTC。从技术角度而言,PEAP-MSCHAPV2技术是大部分移动终端都支持的无线认证协议,该协议将用户的认证信息在PEAP保护下传输,且用户密码无法被解密而被窃取。所以PEAP-MSCHAPV2成为大部分无线项目主推的认证方式。

三、基础网络部署

802.1x无感知认证采用标准的PEAP方式进行认证,该功能不是锐捷特有的功能,下面只是以锐捷网络设备为例。

1.网络设备

三层核心交换机SW1(S8606),二层接入交换机SW2(S2900),无线AP(RG-AP320-I),无线AC控制器(RG-WS5302),RG-ESS或RG-SMP认证系统。

2.网络拓扑

网络拓扑如图1所示,其功能介绍如表1所示。

图1  网络拓扑

表1  功能介绍

序号 功能规划 内容
1 AP设备VLAN 10 192.168.10.0/24  AP设备网关在核心
2 AP用户VLAN 20 192.168.20.0/24  无线用户网关在核心
3 AC和核心互联 VLAN 30 核心:192.168.30.1/30

AC:192.168.30.2/30

4 AC环回地址 Lo0:192.168.254.254/32
5 RG-ESS/SMP地址 192.168.100.100/24
6 无线用户SSID 802.1x无感知认证:ruijie-802.1x

(1)在上面的网络中使用了无线AC本地转发部署模式。通常情况下无线用户所有流量都需要先经过AC才能进行转发,这种集中转发的模型有可能会改变客户的流量模型,客户希望无线用户流量不走AC直接通过AP进行转发,这就是本地转发功能。AC只做控制不参与用户数据转发,减轻了AC负担。
(2)无线用户网关位于核心交换机,无线用户数据报文由AP完成802.11到802.3转化。接入交换机和AP互联接口配置为trunk,native vlan修改为AP设备vlan,只放通无线用户vlan和AP vlan。
3.配置要点
(1)核心交换机SW1的配置
创建ap vlan 10、用户vlan 20、AC与核心交换机(SW1)互联的vlan 30:
SW1>enable //进入特权模式
SW1#configure terminal //进入全局配置模式
SW1(config)#vlan 10 //ap的vlan
SW1(config-vlan)#vlan 20 //用户的vlan
SW1(config-vlan)#vlan 30 //AC与核心交换机(SW1)互联的vlan
配置接口和接口地址:
SW1(config)# interface GigabitEthernet 0/1 //与AC互联的接口配置为trunk
SW1(config-if-GigabitEthernet 0/1)#switchport mode trunk
SW1(config)#interface vlan 10 //配置ap网关地址
SW1(config-if-VLAN 10)# ip address 192.168.10.1 255.255.255.0
SW1(config)#interface vlan 20 //无线用户的网关地址
SW1(config-if-VLAN 20)# ip address 192.168.20.1 255.255.255.0
SW1(config)#interface vlan 30 //和AC互联地址,子网掩码30位
SW1(config-if-VLAN 30)# ip address 192.168.30.1 255.255.255.252
地址池相关配置,给AP和无线用户分配地址:
SW1(config)#service dhcp //开启DHCP服务
SW1(config)#ip dhcp pool ap //创建DHCP地址池,名称是ap
SW1(dhcp-config)#option 138 ip 192.168.254.254 //配置option字段,指定AC的地址,即AC的loopback 0地址
SW1(dhcp-config)#network 192.168.10.0 255.255.255.0 //分配给ap的地址
SW1(dhcp-config)#default-route 192.168.10.1 //分配给ap的网关地址
SW1(config-dhcp)#exit
SW1(config)#ip dhcp pool ap_user //无线用户DHCP地址池,名称是ap_user
SW1(dhcp-config)#network 192.168.20.0 255.255.255.0 //分配给无线用户的地址
SW1(dhcp-config)#default-route 192.168.20.1 //分给无线用户的网关
SW1(dhcp-config)#dns-server 8.8.8.8 //分配给无线用户的dns
注意:AP的DHCP中的option字段和网段、网关要配置正确,否则会出现AP获取不到DHCP信息导致无法建立隧道。
配置静态路由:
指明到达AC的loopback 0 的路径, AC环回地址使用32位掩码。
SW1(config)#ip route 192.168.254.254 255.255.255.255 192.168.30.2
(2)AC控制器配置
创建vlan:
AC(config)#vlan 10 //ap的vlan
AC(config-vlan)#vlan 20 //用户的vlan
AC(config-vlan)#vlan 30 //AC与核心交换机(SW1)互联的vlan
配置接口和接口地址:
AC(config)# interface GigabitEthernet 0/1 //与SW1互联的接口配置为trunk
AC(config-if-GigabitEthernet 0/1)#switchport mode trunk
AC(config-if-GigabitEthernet 0/1)#switchport trunk allowed vlan remove 1-9,11-19,21-29,31-4094
AC(config)# interface Loopback 0 //配置AC回环接口地址
AC(config-if-Loopback 0)#ip address 192.168.254.254 255.255.255.255
AC(config)#interface vlan 30 //配置与核心SW1互联地址,子网掩码30位
AC(config-if-VLAN 30)# ip address 192.168.30.2 255.255.255.252
配置默认路由:
AC(config)#ip route 0.0.0.0 0.0.0.0 192.168.30.1 //192.168.30.1是核心交换机的地址
无线SSID配置:
AC(config)#wlan-config 20 ruijie-802.1x //创建SSID为ruijie-802.1x无线信号
AC(config-wlan)#tunnel local //开启wlan-id 20 的本地转发功能
无线ap-group配置,关联wlan-config和用户vlan:
AC(config)#ap-group default
AC(config-ap-group)#interface-mapping 20 20 //把wlan-config 20和vlan 20进行关联
(3)接入交换机(SW2)配置
在本地转发模式中,接入交换机和AP互联接口配置为trunk,native 为AP vlan,只放通无线用户vlan和AP vlan。
SW2(config)# interface GigabitEthernet 0/2
SW2(config-if-GigabitEthernet 0/2)#switchport mode trunk
SW2(config-if-GigabitEthernet 0/2)#switchport trunk native vlan 10 //必须把AP所属于的vlan配置为native vlan
SW2(config-if-GigabitEthernet 0/2)#switchport trunk allowed vlan remove 1-9,11-19,21-29,31-4094
四、802.1x认证配置
基础网络部署配置完成后就可以在AC控制器上配置802.1x认证,在RG-ESS/RG-SMP上完成相应参数的设置,就可实现无感知认证上网。
第一步:启用802.1x AAA认证
AC(config)#aaa new-model //启用AAA认证功能
AC(config)#aaa accounting update //开启记账更新
AC(config)#aaa accounting update periodic 5 //记账更新时间间隔与SMP服务器保持一致,SMP默认为5分钟
AC(config)#aaa accounting network acct-1x start-stop group radius //定义名为acct-1x记账列表
AC(config)#aaa authentication dot1x auth-1x group radius //定义名为auth-1x认证列表
第二步:配置radius服务器IP及KEY
AC(config)#radius-server host 192.168.100.100 key ruijie //配置radius服务器KEY及IP
AC(config)#ip radius source-interface vlan 30 //AC使用vlan30的IP地址和radius对接
第三步:WLAN启用802.1x
AC(config)#wlansec 20 //20为前面配置的wlan-config 20
AC(config-wlansec)#security rsn enable //启用WPA2认证
AC(config-wlansec)#security rsn ciphers aes enable //启用AES加密
AC(config-wlansec)#security rsn akm 802.1x enable //启用802.1X认证
AC(config-wlansec)#dot1x accounting acct-1x //调用第一步定义的记账列表
AC(config-wlansec)#dot1x authentication auth-1x //调用第一步定义的认证列表
第四步:配置SNMP功能
AC(config)#snmp-server host 192.168.100.100 traps version 2c ruijie
AC(config)#snmp-server enable traps
AC(config)#snmp-server community ruijie rw
第五步:其它相关配置
AC(config)#dot1x eapol-tag //AC可以处理带Vlan Tag认证报文,默认都需要配置
AC(config)#ip dhcp snooping //开启dhcp snooping
AC(config)#dot1x dhcp-before-acct enable //获取snooping表中用户的IP地址通过记账开始报文上传
五、RG-ESS/RG-SMP服务器相关配置
AC控制器配置完成后就可以在RG-ESS/RG-SMP认证服务器上完成相关配置,主要包括添加AC设备,添加上网帐号。由于其配置使用的是WEB方式,所以相对比较简单。
第一步:在系统中添加无线控制器AC
添加无线设备之前需要修改无线设备模版中的相关参数如radius key、portal key等,这些参数是前面在AC中配置的。添加设备截图如图2所示。

图2  添加设备截图

第二步:配置无线认证协议

打开认证参数配置,在无线认证方式中选择“PEAP-MSCHAP”,同时“启用windows xp系统自带客户端无感知认证”,然后根据实际配置无感知认证的SSID、安全类型、加密类型,以及认证协议。

第三步:添加账号

添加上网用户账号,账号属于默认用户组,不需要进行特殊设置。

六、终端功能验证

通过上面一系列的操作,已经完成了802.1x无感知认证的所有关键配置,由于无线接入终端很多,下面就以ios系统为例进行上网验证,Android等其它系统配置差不多。

第一步:进入设置,打开无线局域网,点击“ruijie-802.1x”无线网络,如图3所示。

图3打开无线局域网截图

第二步:在弹出的界面中输入用户名、密码,点击加入,如图4所示。

图4  输入密码截图

第三步:如果弹出一张尚未验证的证书,点击接受。此时界面会回到无线局域网连接的界面,且SSID “ruijie-802.1x”前面打个勾说明链接成功。

基于802.1x无感知认证确保上网安全的同时给我们用户提供了一种快速的接入,接入无线网络时只需要首次进行认证信息配置,后续用户只要进入无线信号覆盖范围内即可自动完成认证,大大提高用户的无线体验。非常适合在中小学校部署使用。学校网络管理员要做的是开通上网帐号,对上网帐号进行有效管理和控制。

发表评论

邮箱地址不会被公开。 必填项已用*标注