CPE设备基于Linux实现公网接入用户数限制的系统及方法

文档序号:7813713阅读:446来源:国知局
CPE设备基于Linux实现公网接入用户数限制的系统及方法【专利摘要】本发明公开了一种CPE设备基于Linux实现公网接入用户数限制的系统及方法,涉及CPE设备领域,该系统包括DHCP模块和公网用户接入数限制模块,DHCP模块每次检查LAN侧设备状态信息时,清除iptables转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;公网用户接入数限制模块用于:如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制;如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCPOption60进行终端识别,区分设备类型。本发明能限制同时接入公网的最大数量,还能对每一种终端类型进行单独的接入公网数量限制,丰富了单独限制接入公网数量的功能。【专利说明】CPE设备基于Linux实现公网接入用户数限制的系统及方法【
技术领域
】[0001]本发明涉及CPE(CustomerPremiseEquipment,客户驻地设备)设备领域,具体是涉及一种CPE设备基于Linux实现公网接入用户数限制的系统及方法。【
背景技术
】[0002]出于安全管理和提高上网质量的考虑,要求CPE设备支持对同一时间接入公网终端数量进行限制,可以基于接入的IPv4(InternetProtocolVers1n4,因特网协议版本4)私网地址、IPv6(InternetProtocolVers1n6,因特网协议版本6)全局地址或MAC地址(物理地址)进行统计上网终端数量,仅能单一地限制接入公网的用户总数量,功能比较单O【
发明内容】[0003]本发明的目的是为了克服上述【
背景技术
】的不足,提供一种CPE设备基于Linux实现公网接入用户数限制的系统及方法,融合两种限制终端接入公网数量的方式,不仅能够限制同时接入公网的最大数量,还能对每一种终端类型进行单独的接入公网数量限制,丰富了单独限制接入公网数量的功能。[0004]本发明提供一种CPE设备基于Linux实现公网接入用户数限制的系统,包括动态主机配置协议DHCP模块和公网用户接入数限制模块,其中:[0005]所述DHCP模块用于:每次检查局域网LAN侧设备状态信息时,清除IP信息包过滤系统iptables转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;[0006]所述公网用户接入数限制模块用于:如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制;如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCP选项0pt1n60进行终端识别,区分设备类型。[0007]在上述技术方案的基础上,所述公网用户接入数限制模块通过地址解析协议ARP或邻居发现协议进行离线检测,判断LAN侧设备是否在线,每执行一次仅检查一个LAN侧设备的IP地址,如果LAN侧设备在线,则对应设备类型的用户数加1,更新黑白名单;如果LAN侧设备离线,且iptalbes转发表中存在该设备IP地址的限制规则,则清除该设备IP地址的限制规则;如果LAN侧设备离线,且iptables转发表中不存在该设备IP地址的限制规贝U,则从黑名单中按时间倒序找到一个IP地址,清除该IP地址的限制规则,更新黑白名单。[0008]在上述技术方案的基础上,所述公网用户接入数限制模块更新黑白名单后,判断限制类型是设备总数限制或设备类型限制,如果限制类型是设备总数限制,不区分设备类型,当前在线的用户数超过公网接入限制数时,添加iptables转发表的限制规则,对该设备接入公网的请求进行限制;否则不添加iptables转发表的限制规则,不对该设备进行公网接入限制,清除iptables转发表中限制的但不存在租用信息leases缓存表中和ARP表中的IP,等待间隔时间后,获取LAN侧设备的IP地址,继续区分设备类型;如果限制类型是设备类型限制,接入的设备类型超过限制数时,添加iptbles转发表的限制规则;否则不添加iptbles转发表的限制规则,清除iptables转发表中限制的但不存在租用信息leases缓存表中和ARP表中的IP,等待间隔时间后,获取LAN侧设备的IP地址,继续区分设备类型。[0009]在上述技术方案的基础上,当接入终端数量超过允许接入公网的用户总数N时,N为自然数,CPE设备支持如下限制策略:如果检测出有终端离线,当前在线的终端小于N个,则允许新的终端接入公网;如果仍然有N个终端在线,则CPE设备拒绝新终端接入公网的请求,但允许该终端获取私网的IP地址,访问LAN侧其他终端和设备。[0010]本发明还提供一种CPE设备基于Linux实现公网接入用户数限制的方法,包括以下步骤:[0011]S1、加载DHCP模块后,DHCP模块每次检查LAN侧设备状态信息时,清除iptables转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;[0012]S2、加载公网用户接入数限制模块模块后,判断公网用户接入数限制功能是否开启,如果公网用户接入数限制功能关闭,则转到S3;如果公网用户接入数限制功能开启,则转到步骤S4;[0013]S3、如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制,然后退出;[0014]S4、如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCP0pt1n60进行终端识别,区分设备类型,转到步骤S5;[0015]S5、公网用户接入数限制模块通过ARP或邻居发现协议进行离线检测,判断LAN侧设备是否在线,每执行一次仅检查一个LAN侧设备的IP地址,如果LAN侧设备在线,则转到步骤S6;否则转到步骤S7;[0016]S6、如果LAN侧设备在线,则对应设备类型的用户数加1,转到步骤S8;[0017]S7、如果LAN侧设备离线,且iptalbes转发表中存在该设备IP地址的限制规则,则清除该设备IP地址的限制规则;如果LAN侧设备离线,且iptables转发表中不存在该设备IP地址的限制规则,则从黑名单中按时间倒序找到一个IP地址,清除该IP地址的限制规则,转到步骤S8;[0018]S8、更新黑白名单,转到步骤S9;[0019]S9、判断限制类型是设备总数限制或设备类型限制,如果限制类型是设备总数限制,则转到步骤SlO;如果限制类型是设备类型限制,则转到步骤Sll;[0020]S10、不区分设备类型,如果当前在线的用户数超过公网接入限制数,则添加iptables转发表的限制规则,对该设备接入公网的请求进行限制;否则不添加iptables转发表的限制规则,不对该设备进行公网接入限制,转到步骤S12;[0021]S11、如果接入的设备类型超过限制数,则添加iptbles转发表的限制规则,否则不添加iptbles转发表的限制规则,转到步骤S12;[0022]S12、清除iptables转发表中限制的但不存在leases缓存表中和ARP表中的IP,等待间隔时间后,返回步骤S4。[0023]在上述技术方案的基础上,当接入终端数量超过允许接入公网的用户总数N时,N为自然数,CPE设备支持如下限制策略:如果检测出有终端离线,当前在线的终端小于N个,则允许新的终端接入公网;如果仍然有N个终端在线,则CPE设备拒绝新终端接入公网的请求,但允许该终端获取私网的IP地址,访问LAN侧其他终端和设备。[0024]在上述技术方案的基础上,所述CPE设备通过判断目前LAN侧接入设备地址在线与否来统计目前用户,由CPE设备动态分配的IP或静态配置的IP,CPE设备均会计入用户总数,超过用户限制数的用户将被限制,CPE设备连接无线访问接入点AP时,CPE设备给无线AP动态分配IP,只要无线AP在线,均会统计在当前用户数中。[0025]在上述技术方案的基础上,所述CPE设备识别的设备类型包括个人计算机PC、机顶盒、电话、照相机。[0026]在上述技术方案的基础上,所述CPE设备对于不发送0pt1n60的设备和不识别的设备类型均默认为PC。[0027]在上述技术方案的基础上,所述间隔时间为30秒。[0028]与现有技术相比,本发明的优点如下:[0029](I)本发明融合两种限制终端接入公网数量的方式:一、仅限制同时接入公网的最大数量;二、仅对每一种终端类型进行单独的接入公网数量限制,对于不能识别的设备视为PC终端。与现有的仅能单一地限制接入公网的用户总数量的功能相比,本发明不仅能够限制同时接入公网的最大数量,还能对每一种终端类型进行单独的接入公网数量限制,丰富了单独限制接入公网数量的功能。[0030](2)当接入终端数量未超过支持的最大用户数时,CPE设备允许终端接入Internet,满足用户同时接入公网的要求;当接入终端数量超过支持的最大用户数时,CPE设备不再允许新终端接入Internet,并动态更新限制用户上网的黑名单和允许用户上网的白名单,在网络侧资源允许的情况下,为用户提供安全、优质的服务。【专利附图】【附图说明】[0031]图1是本发明实施例中CPE设备基于Linux实现公网接入用户数限制的方法的流程图。【具体实施方式】[0032]下面结合附图及具体实施例对本发明作进一步的详细描述。[0033]本发明实施例提供一种CPE设备基于Linux实现公网接入用户数限制的系统,包括DHCP(DynamicHostConfigurat1nProtocol,动态主机配置协议)模块和公网用户接入数限制模块,其中:[0034]DHCP模块用于:每次检查LAN(LocalAreaNetwork,局域网)侧设备状态信息时,清除iptables(IP信息包过滤系统)转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;[0035]公网用户接入数限制模块用于:如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制;如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCP0pt1n60(选项60)进行终端识别,区分设备类型,CPE设备对于不发送0pt1n60的设备和不识别的设备类型均默认为PC(PersonalComputer,个人计算机);[0036]公网用户接入数限制模块通过ARP(AddressResolus1nProtocol,地址解析协议)或邻居发现协议进行离线检测,判断LAN侧设备是否在线,每执行一次仅检查一个LAN侧设备的IP地址,如果LAN侧设备在线,则对应设备类型的用户数加1,更新黑白名单;如果LAN侧设备离线,且iptalbes转发表中存在该设备IP地址的限制规则,则清除该设备IP地址的限制规则;如果LAN侧设备离线,且iptables转发表中不存在该设备IP地址的限制规则,则从黑名单中按时间倒序找到一个IP地址,清除该IP地址的限制规则,更新黑白名单;[0037]公网用户接入数限制模块更新黑白名单后,判断限制类型是设备总数限制或设备类型限制,如果限制类型是设备总数限制,不区分设备类型,当前在线的用户数超过公网接入限制数N(N为自然数)时,添加iptables转发表的限制规则,对该设备接入公网的请求进行限制,否则不添加iptables转发表的限制规则,不对该设备进行公网接入限制,清除iptables转发表中限制的但不存在leases(租用信息)缓存表中和ARP表中的IP,等待间隔时间(优选为30秒)后,获取LAN侧设备的IP地址,继续区分设备类型;如果限制类型是设备类型限制,接入的设备类型超过限制数时,添加iptbles转发表的限制规则,否则不添加iptbles转发表的限制规则,清除iptables转发表中限制的但不存在leases(租用信息)缓存表中和ARP表中的IP,等待间隔时间(优选为30秒)后,获取LAN侧设备的IP地址,继续区分设备类型。[0038]当接入终端数量超过允许接入公网的用户总数N时,N为自然数,CPE设备支持如下限制策略:如果检测出有终端离线,当前在线的终端小于N个,则允许新的终端接入公网;如果仍然有N个终端在线,则CPE设备拒绝新终端接入公网的请求,但允许该终端获取私网的IP地址,访问LAN侧其他终端和设备。[0039]参见图1所示,本发明实施例提供一种CPE设备基于Linux实现公网接入用户数限制的方法,包括以下步骤:[0040]S1、加载DHCP模块后,DHCP模块每次检查LAN侧设备状态信息时,清除iptables(IP信息包过滤系统)转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;[0041]S2、加载公网用户接入数限制模块模块后,判断公网用户接入数限制功能是否开启,如果公网用户接入数限制功能关闭,则转到S3;如果公网用户接入数限制功能开启,则转到步骤S4;[0042]S3、如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制,然后退出;[0043]S4、如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCP0pt1n60(选项60)进行终端识别,区分设备类型,CPE设备对于不发送0pt1n60的设备和不识别的设备类型均默认为PC(PersonalComputer,个人计算机),CPE设备可识别的设备类型包括PC、STB(SetTopBox,机顶盒)、Phone(电话)、Camera(照相机),可对不同的设备类型进行公网接入限制;转到步骤S5;[0044]S5、公网用户接入数限制模块通过ARP(AddressResolus1nProtocol,地址解析协议)或邻居发现协议进行离线检测,判断LAN侧设备是否在线,每执行一次仅检查一个LAN侧设备的IP地址,如果LAN侧设备在线,则转到步骤S6;否则转到步骤S7;[0045]S6、如果LAN侧设备在线,则对应设备类型的用户数加1,转到步骤S8;[0046]S7、如果LAN侧设备离线,且iptalbes转发表中存在该设备IP地址的限制规则,则清除该设备IP地址的限制规则;如果LAN侧设备离线,且iptables转发表中不存在该设备IP地址的限制规则,则从黑名单中按时间倒序找到一个IP地址,清除该IP地址的限制规则,转到步骤S8;[0047]S8、更新黑白名单,转到步骤S9;[0048]S9、判断限制类型是设备总数限制或设备类型限制,如果限制类型是设备总数限制,则转到步骤SlO;如果限制类型是设备类型限制,则转到步骤Sll;[0049]S10、不区分设备类型,如果当前在线的用户数超过公网接入限制数N,N为自然数,则添加iptables转发表的限制规则,对该设备接入公网的请求进行限制,否则不添加iptables转发表的限制规则,不对该设备进行公网接入限制,转到步骤S12;[0050]S11、如果接入的设备类型超过限制数,则添加iptbles转发表的限制规则,否则不添加iptbles转发表的限制规则,转到步骤S12;[0051]S12、清除iptables转发表中限制的但不存在leases(租用信息)缓存表中和ARP表中的IP,等待间隔时间(优选为30秒)后,返回步骤S4。[0052]本发明的原理详细阐述如下:[0053]本发明实施例提供一种基于Linux的实现方法,通过DHCP0pt1n60进行终端识另IJ,通过ARP或邻居发现协议进行离线检测,通过设置Linux内核的iptables规则实现上网限制功能。[0054]为了实现满足可运营可管理的网络要求,CPE设备可通过DHCP0pt1n60来区分设备类型。配置方式有两种:一、配置同时接入公网的最大数量;二、对每一种终端类型进行单独的接入公网数量限制,对于不能识别的设备视为PC终端。本发明实施例融合了以上两种配置的方式,丰富了单独限制接入公网数量的功能。[0055]CPE设备通过判断目前LAN侧接入设备地址在线与否来统计目前用户,由CPE设备动态分配的IP或静态配置的IP,CPE设备均会计入用户总数,超过用户限制数的用户将被限制,CPE设备连接无线AP(AccessPoint,访问接入点)时,CPE设备给无线AP动态分配IP,只要无线AP在线,均会统计在当前用户数中。[0056]根据公网用户接入数限制方式不同,有如下处理流程:[0057]如果判断当前设置是按照总数限制,就是不区分LAN侧用户的设备类型,无论用户设备是PC或者是机顶盒或是摄像头等,均考虑在当前在线用户总数中,没有超过最大用户总数限制数的不被限制,超过了的将添加iptables转发表限制规则,导致该IP的数据不被转发,从而该IP的用户不能上网。[0058]如果判断当前设置是按照类型限制,则按照各个类型的用户数限制进行公网接入限制,每种设备,超过了限制数的添加限制规则,从而限制该IP用户上网,没有超过的不添加。[0059]以上步骤执行完之后,做好检查工作,检查iptables中限制的IP是否在DHCPleases(租用信息)表中,或者在当前的ARP表中,如果不在,则不需要此限制,将添加的iptables转发表限制规则删除,从而该IP用户可以上网,以防止LAN设备分配到原有IP地址时,被错误限制。[0060]对LAN侧设备进行周期性检测,进程等待一定时间后,返回步骤S4“获取LAN侧设备的IP地址,并区分设备类型”,重复以上步骤;建议设置间隔周期为30秒,即30秒做一次循环。[0061]本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。[0062]说明书中未详细描述的内容为本领域技术人员公知的现有技术。【权利要求】1.一种CPE设备基于Linux实现公网接入用户数限制的系统,其特征在于:包括动态主机配置协议DHCP模块和公网用户接入数限制模块,其中:所述DHCP模块用于:每次检查局域网LAN侧设备状态信息时,清除IP信息包过滤系统iptables转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;所述公网用户接入数限制模块用于:如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制;如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCP选项0pt1n60进行终端识别,区分设备类型。2.如权利要求1所述的CPE设备基于Linux实现公网接入用户数限制的系统,其特征在于:所述公网用户接入数限制模块通过地址解析协议ARP或邻居发现协议进行离线检测,判断LAN侧设备是否在线,每执行一次仅检查一个LAN侧设备的IP地址,如果LAN侧设备在线,则对应设备类型的用户数加1,更新黑白名单;如果LAN侧设备离线,且iptalbes转发表中存在该设备IP地址的限制规则,则清除该设备IP地址的限制规则;如果LAN侧设备离线,且iptables转发表中不存在该设备IP地址的限制规则,则从黑名单中按时间倒序找到一个IP地址,清除该IP地址的限制规则,更新黑白名单。3.如权利要求2所述的CPE设备基于Linux实现公网接入用户数限制的系统,其特征在于:所述公网用户接入数限制模块更新黑白名单后,判断限制类型是设备总数限制或设备类型限制,如果限制类型是设备总数限制,不区分设备类型,当前在线的用户数超过公网接入限制数时,添加iptables转发表的限制规则,对该设备接入公网的请求进行限制;否则不添加iptables转发表的限制规则,不对该设备进行公网接入限制,清除iptables转发表中限制的但不存在租用信息leases缓存表中和ARP表中的IP,等待间隔时间后,获取LAN侧设备的IP地址,继续区分设备类型;如果限制类型是设备类型限制,接入的设备类型超过限制数时,添加iptbles转发表的限制规则;否则不添加iptbles转发表的限制规则,清除iptables转发表中限制的但不存在租用信息leases缓存表中和ARP表中的IP,等待间隔时间后,获取LAN侧设备的IP地址,继续区分设备类型。4.如权利要求1至3中任一项所述的CPE设备基于Linux实现公网接入用户数限制的系统,其特征在于:当接入终端数量超过允许接入公网的用户总数N时,N为自然数,CPE设备支持如下限制策略:如果检测出有终端离线,当前在线的终端小于N个,则允许新的终端接入公网;如果仍然有N个终端在线,则CPE设备拒绝新终端接入公网的请求,但允许该终端获取私网的IP地址,访问LAN侧其他终端和设备。5.一种CPE设备基于Linux实现公网接入用户数限制的方法,其特征在于,包括以下步骤:51、加载DHCP模块后,DHCP模块每次检查LAN侧设备状态信息时,清除iptables转发表规则,清除以前检查的信息,使得每次检查以当前结果为准;52、加载公网用户接入数限制模块模块后,判断公网用户接入数限制功能是否开启,如果公网用户接入数限制功能关闭,则转到S3;如果公网用户接入数限制功能开启,则转到步骤S4;53、如果公网用户接入数限制功能关闭,则清除记录的黑白名单,对公网用户接入数不作限制,然后退出;54、如果公网用户接入数限制功能开启,则获取LAN侧设备的IP地址,通过DHCPOpt1n60进行终端识别,区分设备类型,转到步骤S5;55、公网用户接入数限制模块通过ARP或邻居发现协议进行离线检测,判断LAN侧设备是否在线,每执行一次仅检查一个LAN侧设备的IP地址,如果LAN侧设备在线,则转到步骤S6;否则转到步骤S7;56、如果LAN侧设备在线,则对应设备类型的用户数加1,转到步骤S8;57、如果LAN侧设备离线,且iptalbes转发表中存在该设备IP地址的限制规则,则清除该设备IP地址的限制规则;如果LAN侧设备离线,且iptables转发表中不存在该设备IP地址的限制规则,则从黑名单中按时间倒序找到一个IP地址,清除该IP地址的限制规则,转到步骤S8;58、更新黑白名单,转到步骤S9;59、判断限制类型是设备总数限制或设备类型限制,如果限制类型是设备总数限制,则转到步骤SlO;如果限制类型是设备类型限制,则转到步骤Sll;510、不区分设备类型,如果当前在线的用户数超过公网接入限制数,则添加iptables转发表的限制规则,对该设备接入公网的请求进行限制;否则不添加iptables转发表的限制规则,不对该设备进行公网接入限制,转到步骤S12;511、如果接入的设备类型超过限制数,则添加iptbles转发表的限制规则,否则不添加iptbles转发表的限制规则,转到步骤S12;512、清除iptables转发表中限制的但不存在leases缓存表中和ARP表中的IP,等待间隔时间后,返回步骤S4。6.如权利要求5所述的CPE设备基于Linux实现公网接入用户数限制的方法,其特征在于:当接入终端数量超过允许接入公网的用户总数N时,N为自然数,CPE设备支持如下限制策略:如果检测出有终端离线,当前在线的终端小于N个,则允许新的终端接入公网;如果仍然有N个终端在线,则CPE设备拒绝新终端接入公网的请求,但允许该终端获取私网的IP地址,访问LAN侧其他终端和设备。7.如权利要求6所述的CPE设备基于Linux实现公网接入用户数限制的方法,其特征在于:所述CPE设备通过判断目前LAN侧接入设备地址在线与否来统计目前用户,由CPE设备动态分配的IP或静态配置的IP,CPE设备均会计入用户总数,超过用户限制数的用户将被限制,CPE设备连接无线访问接入点AP时,CPE设备给无线AP动态分配IP,只要无线AP在线,均会统计在当前用户数中。8.如权利要求7所述的CPE设备基于Linux实现公网接入用户数限制的方法,其特征在于:所述CPE设备识别的设备类型包括个人计算机PC、机顶盒、电话、照相机。9.如权利要求8所述的CPE设备基于Linux实现公网接入用户数限制的方法,其特征在于:所述CPE设备对于不发送0pt1n60的设备和不识别的设备类型均默认为PC。10.如权利要求5至9中任一项所述的CPE设备基于Linux实现公网接入用户数限制的方法,其特征在于:所述间隔时间为30秒。【文档编号】H04L29/06GK104270325SQ201410452825【公开日】2015年1月7日申请日期:2014年9月5日优先权日:2014年9月5日【发明者】李华敏,屈兰,乔美杰,陈芳申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1