APP下载

WiFi收费系统

2017-06-01李玉对钟宝荣

电脑知识与技术 2017年8期

李玉对 钟宝荣

摘要:无线局域网的安全运营管理是近些年的研究热点,而用户的接入认证是整个网络安全管理和运营的基础。WiFi收费系统是将传统的网络管理,通过网络认证的方式,实现对网络的连通性、计时计费和流量控制等管理。该文首先对WEB认证服务器和OpenWrt系统路由器的WiFiDog服务等工具的介绍,然后对用户在WEB认证过程中的流程和数据流向进行详细的剖析,在用户页面的跳转、登录和eASY-的过程中深入探讨WifiDog的网关心跳协议、用户状态心跳协议、跳转协议和注册协议的数据格式和接口所起到的重要作用。最后,分析在整个设计过程中遇到的难题,认真总结每个难题的出现和解决方法,同时提出本文设计的系统在未来发展的广泛应用前景和潜在巨大的拓展性。

关键词:WEB认证;WiFiDog;OpenWa

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)08-0087-03

1概述

1.1背景与意义

在以太网技术飞速发展的今天,如何管理、运营网络从而取得实际的效益已经成为众多电信运营商关注的焦点。认证系统作为用户接入网络的重要组成部分,是实现可管理、可运营网络的关键。但同时WiFi的引入带来新的安全问题,和以前的布线网络要求有实际的物理端口接入不同,任何一个用户都可以凭借自己的无线设备接人到WiFi上来访问网络资源,甚至对无线网络中的通信进行监听或者攻击。这样无线网络安全的管理和运营更显得尤为重要,而接人认证技术是实现对网络管理和运营的基础。因此,近年来对于无线接人认证技术的研究一直是一个热点。

通过本文设计的系统,物业公司可以更加便利地对居民使用的无线网络进行计费管理;商家店铺能够在为顾客提供免费网络的同时,将认证页面导向到本店铺,不仅达到免费宣传的目的,也省去了顾客输入密码这一繁琐步骤。

1.2发展现状

无线网络用户认证技术是无线网络管理中最重要的技术之一,通过用户认证可以有效避免非法用户访问网络资源,保证授权用户访问被允许的网络资源。目前,国内外在无线局域网接入认证技术方面应用最广泛的主要有三种,即PPPoE认证,Web认证和802.1x认证。PPPoE认证主要应用于电信运营商的ADSL业务中,Web认证和802.1x认证主要应用于以太网业务中,这三种认证方式从技术上来说安全性相当,都可以采用用户名+密码的认证方式应用到无线网络中,但PPPoE认证和802.1x认证不能穿透三层网络,只能用于两层网络,且认证时需要安装客户端软件,对于无线用户管理来说比较麻J烦.Web认证兼容性好,可以提供大容量的用户接入认证,且无需安装认证客户端,使用用户个人系统自带的Web浏览器即可完成接人认证,比较适合商家店铺、图书馆等公共场所使用。另外,Web认证过程属于三层网络通信,可以跨越多个以太网络,灵活性好,特别适合于有多个独立无线网络区域的公共场所。

目前国内主要是三大运营商即中国联通、中国电信和中国移动向市场推出了自己的无线网络接入认证服务,其中中国移动公司推出的CMCC-EDU在高校范围内使用最为广泛。由于竞争商家比较少,因此在服务和费用上还有很大的欠缺,覆盖区域小、网速慢以及资费高等缺陷令用户普遍不太满意。同时一些店家商铺为了迎合年轻人的需求,在店铺内都提供了免费的WiFi,这种免费的无线网络依旧是单一的输入密码连接过程,密码复杂顾客就会有不满,密码简单又会出现长久蹭网现象,所以商家都希望尋求一种合理经济的解决办法。

从我国的整体情况来看,WiFi认证或者收费系统主要集中在大城市的火车站、高校、快餐店等。要想全面推广,就需要进一步降低设备的费用,增加第三方认证平台等。

2系统概括

2.1系统需求分析

像酒店、学校、候车室等热点场所,如果有一个相对比较完善的无线局域网接人认证计费系统,不仅方便了网络使用者接入网络,也减轻了网络管理者的维护负担。现有主流的无线网络接入认证服务一般都由电信运营商提供,在安全方面作了很多措施对网络设备的要求非常高,因此前期投入很大。

但在某些WiFi热点覆盖的场所内,对安全要求相对要低,我们可以简化一些网络设备,降低设备资本,因此本文设计的WiFi收费的目的是:凭借尽可能少的网络硬件设备,设计并实现一个具有自己特色的相对比较完善的WEB接入认证计费系统,以应用于商铺、候车室等热点场所。本文设计的系统应用在人群密集的场所,所以需要兼顾到用户接入设备的多样性,在对用户发送认证页面时需要保持良好的兼容性,同时还要能够使整个认证的流程简单化,让用户尽可能快捷便利地完成WiFi从接入到认证再到接通。

2.2系统模型

根据现有认证系统的基本模式,结合实际情况本文提出的WiFi接入认证和WiFi收费方案为:首先配置OpenWrt系统的路由器,插入外网线并设置WAN口确保其此时是可以接通网络的,再启用路由器的DHCP服务,使接入用户可以从路由器上自动获取到,P地址。接入路由器后用户可以自由访问特定的资源,当用户要访问的资源受限时,路由器就会启动WiFiDog服务,按照配置文件将用户浏览器发出的HTTP请求自动重新定向到由WEB服务器提供的认证页面上。用户在该认证页面上输入用户名和密码等相关信息进行身份认证,客户端是不需要任何额外的客户端软件支持的。通过认证后,页面跳转到登录成功页面,此时用户可以访问受限资源,同时WiFi计费开始。这个方案需要解决的关键问题是何按照WiFiDog协议实现认证服务器、路由器和用户设备之间的通信。本系统的基本模型如图1中WiFi收费系统的认证模型所示,它由三大基本模块组成,分别是:带有WiFiDog协议的路由器、客户端或AP设备(主要用来拓展网络覆盖范围)、WEB认证服务器模块和后台数据库,其中WEB认证服务器、后台数据库服务器以及计费系统服务器都在一台主机上实现。

认证过程如图2所示,过程的描述如下:

1)如果用户端已经连接,就可以进行初始化请求。

2)网关防火墙规则破坏了将它重定向到网关本地热点的需求。如果遇到这种情况,网关就会提供HTTP Redirect回复,包含网关ID,网关FQDN和其它信息。

3)客户端向网关指定认证服务器发送请求。

4)认证服务器用回复认证页面给客户端。

5)客户提供他的身份信息(包含用户名和密码)。

6)基于成功认证,客户端通过自己的认证对象token(一次性标识)实现HTTP重定向到网关自己的网络服务器。

7)客户端连接到网关并提供他的标识。

8)网关请求确认来自认证服务器的标识。

9)认证服务器确认标识。

10)网关向客户端发送成功界面即将hup://auth_server/por-tal/认证服务器的成功页面推送到客户端。

11)认证服务器提示客户端:请求已成功并启动计时。

2.3流程描述

用户在通过WiFi收费系统上网的过程中,系统要处理大量的数据流,这些数据流是很复杂的,按照数据流完成的功能将它大致分为三个部分。

图3是用户连接请求认证功能的流程图。客户端用户连接WiFi,通过路由模块的DHCP服务获取IP,认证页面向服务器请求认证,认证服务器为其形成一次性token,携带token成功通过路由器的WiFiDog开始上网。

图4是用户连接成功后计时计费功能的流程图。用户通过计时页面定时向认证服务器发送计时数据,服务器接收计时数据修改用户剩余时间。当用户剩余时间不足或账户被禁时就断开网络并停止计费。

图5是用户请求断开网络连接功能的流程图。用户通过断网按钮向服务器发送

请求断网数据,服务器修改用户token等参数并停止计费,服务器发送应答数据将当前页面跳转到登录界面。

3结果分析

3.1认证服务器和路由器的部署

认证服务器和路由器的互通是整个项目实施的关键所在。本文设计的系统采用的是IIS服务器,其中认证服务器的路径很重要,路径地址要根据WiFiDog协议回传信息的格式来调整,对路由器配置完成后,要进行一次重启才可以生效。从数据传输的效率和安全方面考虑,本系统路由器和服务器是通过有线的物理途径进行连接的。首先认证服务器端的设置要与路由器设置一致,采用静态ip设置为:192.168.L2255.255.255.0,服务器的路径地址也要与路由器上设置的路径保持一致,否则路由器信息回传时会找不到路径而报错。然后启动IIS服务器,将192.168.L2和端口80绑定到对应的网站上。

3.2认证服务器的运行

3.2.1登录脚本

当用户连接到无线路由器后,发送任意界面的请求,WiFi-Dog就会为每个连接的用户启动一个线程。用户第一次发送请求上网时,WiFiDog就根据协议规范将用户的请求界面重新定向到登录认证界面,路由器通过接收的认证页面向客户端传递参数,包含目前路由器所在网络的网关地址和开放端口后,客户端的Mac和之前用户请求访问的网络地址等。

按照表1的格式要求,举例如下:

3.2.2认证脚本

路由器将本身存放的信息和用户之前请求的登录信息按照特定的格式,发送给认证服务器来验证,认证页面在接收到传来的参数后,将参数中的MAC地址和token到后台数据库查询,通过回复码Auth:1代表认证成功,Auth:0代表认证失败。路由器接收到回复码后进行下一步操作。

按照表2的格式要求,举例如下:

3.2.3计费脚本

用户通过认证后,系统会将计时界面推送给用户,开始计时,页面显示在线时长。为了避免页面整体刷新占用资源,故嵌套了一个定时页面,负责定时将累计时间发送给后台服务器,每隔一段时间,就执行Downtime函数减少用户后台剩余时间,根据返回结果来判断用户的状态,结果为-1表示用户剩余时间不足,结果为-2表示用户被管理员拉黑。无论是时间不足还是用户被拉黑,都需要将页面跳转到登录界面上。

3.2.4心跳脚本

WiFiDog:将ping协议作为心跳机制向认证服务器发送当前状态信息,实现认证服务器和每个节点的状态双向健康监测的机制。

2604&sys_load=0.03&wifidog_uptime=3861。按照回复要求,在ping页面加载时就需要自动回复pong作为应答。

4结束语

目前市场上流行的广告路由,用户只能够按照广告路由商家固定的模式设計,最终显示的效果是千篇一律,没有自己的特点,而且对广告路由商家的平台具有很强的依赖性。本文设计的WiFi收费系统,一是解决认证信息页面模式单一的问题,二是拓宽认证平台,不仅可以使用商家提供的平台也可以使用其他网络商的服务器,甚至是直接进行本地认证。使整个系统变成模块化,用户可以很大程度上自定义每一个模块,再通过关键流程连接起来,就可以形成独具自己特色的WiFi收费系统或者广告宣传。