本发明涉及无线通信及网络
技术领域:
:,具体来说,涉及一种用于公共wifi接入的web认证系统及方法。
背景技术:
::目前,商用wifi的web接入认证普遍使用系统防火墙根据自定义规则重定向用户请求,未认证用户连接到无线接入点后,访问网络时,设备首先强制用户访问特定站点,用户可以免费访问该站点的内容,当用户需要访问互联网中的其他信息时,必须在该站点进行认证,仅在验证通过后才可以使用互联网资源。此类Web接入认证优势是不需要用户安装特定的客户端软件,可降低网络维护成本及工作量;并可以在portal页面提供多种认证方式。但是http协议承载在7层协议上,对于服务器设备要求较高,建网成本高;用户连接性差;不容易检测用户离线,基于时间的计费较难实现;易用性不够好;用户在访问网络前,不管是TELNET、FTP还是其它业务,必须使用浏览器进行WEB认证;IP地址的分配在用户认证前,如果用户不是上网用户,则会造成地址的浪费,而且设备均部署为三层网络设备,用户在不同设备切换时都需要重新认证,不便于用户漫游。针对相关技术中的问题,目前尚未提出有效的解决方案。技术实现要素:本发明的目的是提供一种用于公共wifi接入的web认证系统及认证方法,以克服目前现有技术存在的上述不足。为实现上述技术目的,本发明的技术方案是这样实现的:一种用于公共wifi接入的web认证系统,包括:门户客户端:用于负责在接入设备端重定向用户http请求和放行;门户网站:用于对用户以http的方式完成验证,角色为标准web站点,制作网页以向用户展示,并提供验证表单,当用户提交后,向数据库查询所提交数据的合法性,若合法则以用户数据报协议通信方式向门户服务器发送放行通知,内容包括设备MAC地址、用户MAC地址、用户IP地址;门户服务器:用于记录用户的验证记录,接收门户网站的验证结果并通知门户客户端放行或拦截用户。本发明还提供一种用于公共wifi接入的web认证方法,包括以下步骤:S1、程序启动,创建线程与门户服务器建立传输控制协议连接;S2、开启侦听接入用户关联事件线程,当接入用户完成接入wifi网络关联时,向门户服务器请求询问用户是否为合法用户,在用户获取ip之前完成判断并调整防火墙规则,实现网络间漫游;S3、创建http服务,并绑定一个传输控制协议端口用来负责处理和回复接入用户的http请求;S4、根据配置文件初始化防火墙,并使用ebtables在broute链自定义规则;S5、放行来自所有目标IP为内网的流量;S6、放行来自所有目标IP为门户服务器的流量;S7、放行域名服务器端口和动态主机配置协议端口;S8、经过ebtables的重定向将其他所有到外网的TCP协议80端口的流量重定向到网路层;S9、经过IP信息包过滤系统的重定向将80请求的数据包重定向到所创建的http服务;S10、http服务解析流量请求,获取staion的ip地址,mac地址,经arp转换得出,此时的数据流量为未认证接入用户产生的http请求,http服务向staion回复302,请求地址为门户服务器地址,将携带设备MAC地址,接入用户mac地址、IP地址参数;S11、门户服务器接收到用户请求,展示认证页面,并根据用户提交的认证结果通知门户服务器服务对用户放行或拦截;S12、开启侦听接入用户关联事件,当接入用户成功接入wifi网络时,首先向服务器请求。进一步的,在步骤S1中,门户服务器的运行包括以下步骤:首先,程序启动后建立一个传输控制协议服务端和一个用户数据报协议服务端;其次,接收门户客户端发起的传输控制协议连接请求并保持连接,并为客户端分配ID,ID与程序所在的终端MAC地址关联;再次,接收来自门户网站端的用户数据报协议请求,提取合法用户的MAC地址并保存到数据库,数据内容包括用户MAC地址,登陆终端MAC地址,登陆时间,下线时间;最后,当接收到来自门户客户端发起的用户漫游请求时,首先检索数据库合适用户身份,并根据约定时长来判断用户是否漫游。进一步的,在步骤S5中,放行的流量还包括目标IP为路由器局域网接口IP的流量。进一步的,在步骤S7中,域名服务器端口包括UDP53和TCP53,动态主机配置协议端口包括UDP67和TCP67。本发明的有益效果:集成本发明的设备不需关心网络结构,部署在任意节点都可以完成对用户的门户认证;由于将认证功能下放到了终端AP设备,从而减轻了网关设备的压力,并且能减少成本;本发明不依赖内核版本可移植性高;所需应用程序均为标准linux系统应用,均为用户态程序,开发难度小,无需了解复杂的内核高级编程即可完成该模块开发。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是根据本发明实施例所述的用于公共wifi接入的web认证系统及认证方法的流程图一;图2是根据本发明实施例所述的用于公共wifi接入的web认证系统及认证方法的流程图二;图3是根据本发明实施例所述的用于公共wifi接入的web认证系统及认证方法的流程图三。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明保护的范围。如图1-3所示,根据本发明的实施例所述的一种用于公共wifi接入的web认证系统,包括:门户客户端:用于负责在接入设备端重定向用户http请求和放行;门户网站:用于对用户以http的方式完成验证,角色为标准web站点,制作网页以向用户展示,并提供验证表单,当用户提交后,向数据库查询所提交数据的合法性,若合法则以用户数据报协议通信方式向门户服务器发送放行通知,内容包括设备MAC地址、用户MAC地址、用户IP地址;门户服务器:用于记录用户的验证记录,接收门户网站的验证结果并通知门户客户端放行或拦截用户。本发明实施例所述的一种用于公共wifi接入的web认证方法,包括以下步骤:S1、程序启动,创建线程与门户服务器建立传输控制协议连接;S2、开启侦听接入用户关联事件线程,当接入用户完成接入wifi网络关联时,向门户服务器请求询问用户是否为合法用户,在用户获取ip之前完成判断并调整防火墙规则,实现网络间漫游;S3、创建http服务,并绑定一个传输控制协议端口用来负责处理和回复接入用户的http请求;S4、根据配置文件初始化防火墙,并使用ebtables在broute链自定义规则;S5、放行来自所有目标IP为内网的流量和目标IP为路由器局域网接口IP的流量;S6、放行来自所有目标IP为门户服务器的流量,由于使用的门户服务器对外开放的端口不一定全是80端口,因此此规则必须放在二层来完成;S7、放行域名服务器端口和动态主机配置协议端口,其中,域名服务器端口包括UDP53和TCP53,动态主机配置协议端口包括UDP67和TCP67;S8、经过ebtables的重定向将其他所有到外网的TCP协议80端口的流量重定向到网路层;S9、经过IP信息包过滤系统的重定向将80请求的数据包重定向到所创建的http服务;S10、http服务解析流量请求,获取staion的ip地址,mac地址,经arp转换得出,此时的数据流量为未认证接入用户产生的http请求,http服务向staion回复302,请求地址为门户服务器地址,将携带设备MAC地址,接入用户mac地址、IP地址参数;S11、门户服务器接收到用户请求,展示认证页面,并根据用户提交的认证结果通知门户服务器服务对用户放行或拦截;S12、开启侦听接入用户关联事件,当接入用户成功接入wifi网络时,首先向服务器请求。在步骤S1中,门户服务器的运行包括以下步骤:首先,程序启动后建立一个传输控制协议服务端和一个用户数据报协议服务端;其次,接收门户客户端发起的传输控制协议连接请求并保持连接,并为客户端分配ID,ID与程序所在的终端MAC地址关联;再次,接收来自门户网站端的用户数据报协议请求,提取合法用户的MAC地址并保存到数据库,数据内容包括用户MAC地址,登陆终端MAC地址,登陆时间,下线时间;最后,当接收到来自门户客户端发起的用户漫游请求时,首先检索数据库合适用户身份,并根据约定时长来判断用户是否漫游。本发明将重点目标确定在重定向用户http请求的方式和授权方式上,增加认证模式可配置为二层认证,使产品在实际使用中可适应不同的组网方式,因为ebtable是桥防火墙,可以控制二层的数据包,从而在二层组网时设备也可以完成用户请求的重定向工作并引导用户进行下一步认证,授权方式调整为中央服务器集中授权,因为用户在接入wifi时,首先必须遵守80211规则建立连接过程,成功关联wifi后,才会进行dhcp请求,其次arp请求及其他数据业务请求,结合接入用户监听模块监听80211mac的管理帧,在用户上线时即向服务端发送请求,判断该接入用户是否需要进行WEB认证,此过程早于用户获取到IP之前,在用户还没有发起业务请求时已经完成判断,如果服务端判定用户已为合法身份,服务端可直接通知设备对该用户放行,在用户无感知的情况下完成网络间的漫游。本方法依赖Linux的包过滤防火墙Netfilter的用户态程序ebtables与iptables,使用防火墙过滤规则来实现数据包的拦截与放行,ebtables防火墙可以在设备为桥模式时控制数据,可以将二层数据直接转发到三层,由iptables工具完成最终的重定向。使用标准http协议程序内建web服务来过滤http请求并结合门户服务器完成对用户的认证,另外在wifi驱动层增加用户接入侦听模块,在用户关联和解关联wifi后通知服务端根据返回结果判断是否为合法用户。综上所述,借助于本发明的上述技术方案,集成本发明的设备不需关心网络结构,部署在任意节点都可以完成对用户的门户认证;由于将认证功能下放到了终端AP设备,从而减轻了网关设备的压力,并且能减少成本;本发明不依赖内核版本可移植性高;所需应用程序均为标准linux系统应用,均为用户态程序,开发难度小,无需了解复杂的内核高级编程即可完成该模块开发。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3