基于虚拟局域网的网络访问控制方法 【技术领域】
本发明涉及用户的网络访问控制方法。
背景技术
在目前宽带网络的宽带接入服务器(BAS)中,不可避免地要涉及到对宽带数据报文的转发,即涉及到报文的转发控制问题,或者说涉及到用户的网络访问控制问题。对于基于虚拟局域网(VLAN)的用户来说,在需要对访问某一IP地址网站的用户进行限制时,如果访问该IP地址网站的用户满足受限制的条件,则在用户网络接入时切断该接入操作。
为实现上述控制要求,目前主要采用基于用户端口号和IP地址的控制方法,该方法通过用户的端口号和IP地址划分用户的网络访问权限,以实现网络访问控制的灵活性和多层次性。在这种控制方式中,首先,用户的端口号通常是固定的,但实际中一个端口下可能挂接多个用户,因此这种方法的控制精度最多只能到端口级;第二,当用户为属于动态IP地址用户时,在其网络接入过程中,需要通过动态主机配置协议(DHCP)申请一个IP地址,利用该IP地址进行网络的访问。由于用户每次上网时,通过DHCP过程获取的IP地址通常是不同的,这就使得对用户进行网络访问的控制变得复杂和困难;第三,同一端口下的用户可能属于不同地VLAN,而不同VLAN的用户以及同一VLAN下的用户具有不同的访问权限,特别是VLAN中的具有不同权限的多角色主机用户与一般的用户更是有较大的网络访问需求。可见,上述控制方法的精度无法满足目前VLAN用户的网络访问控制精度的要求。
【发明内容】
本发明的目的在于提供一种控制精度较高的基于虚拟局域网的网络访问控制方法,实用该方法还能够实现网络访问控制的灵活性。
为达到上述目的,本发明提供的基于虚拟局域网的网络访问控制方法,包括:
设置基于用户接入端口号(PORT)、虚拟局域网标识(VLANID)、源IP地址和目的IP地址的访问控制关系;
在用户进行网络访问时,利用用户的PORT、VLANID、源IP地址和目的IP地址去匹配上述访问控制关系,按照上述访问控制关系对用户的网络访问进行控制。
在所述访问控制关系中,还包括PORT、VLANID、源IP地址和目的IP地址的掩码。
所述访问控制关系为访问允许或访问禁止,当用户访问网络时,如果匹配的访问控制关系为访问允许,则转发用户的报文,否则丢弃用户报文。
所述方法还包括:在网络接入设备中设置用户访问控制表(ACL),该表包括PORT、PORT掩码、VLANID、VLANID掩码、源IP地址、源IP地址掩码、目的IP地址和目的IP地址掩码字段,用于描述访问控制关系。
所述ACL表为两个,分别用于用户认证前后的网络访问控制。
在ACL表中,将PORT、VLANID、源IP地址和目的IP地址字段中不需要参与控制的字段的掩码设置为0。
由于本发明设置了基于用户接入端口号(PORT)、虚拟局域网标识(VLANID)、源IP地址和目的IP地址的访问控制关系,这样,在用户进行网络访问时,就可以利用用户的PORT、VLANID、源IP地址和目的IP地址去匹配上述访问控制关系,按照上述访问控制关系对用户的网络访问进行控制;很显然,这种控制方法依据的控制因素更综合,因此可以具有更高的控制精度;同时,对于上述四种控制因素可以通过掩码的配置灵活地选择控制项和控制范围,因此,本发明还具有较高的控制灵活性。
【附图说明】
图1是本发明所述方法的控制原理图;
图2是典型的用户网络登录过程示意图。
【具体实施方式】
依据前述对现有的用户网络访问控制方法的分析,在对用户的网络访问进行控制时,最简单的控制依据就是以认证是否通过为标准,但由于这种标准的控制精度太低而不能满足实际应用的要求。事实上,在对用户进行网络访问控制时,对于基于VLAN的用户,用于不同用户标识的还有其VLAN端口号,那么在VLAN端口号相对稳定的情况下,以VLANID来控制用户甚至网络侧报文将变得很容易,而且在设备的底层即可以完成。因此,在对用户网络访问的具体控制过程中,如果再结合用户的源IP地址和要访问的目的IP地址,与用户的接入端口号(PORT)和虚拟局域网标识(VLANID)共同作为用户网络访问的控制因素,将实现更高的控制精度。
通过上面所述,在具体实现本发明时,首先设置基于用户接入端口号(PORT)、虚拟局域网标识(VLANID)、源IP地址和目的IP地址的访问控制关系,以便于在对用户进行网络访问控制时,按照上述因素确定具体的控制关系。为使具体的控制更加灵活,在上述访问控制关系中,还为PORT、VLANID、源IP地址和目的IP地址分别配置了掩码,即PORT、VLANID、源IP地址和目的IP地址的掩码。
这里所述的访问控制关系为访问允许或访问禁止,在用户进行网络访问时,首先利用用户的PORT、VLANID、源IP地址和目的IP地址去匹配上述访问控制关系,如果匹配到的访问控制关系为访问允许,则转发用户的报文,否则匹配到的访问控制关系必然为访问禁止,这时就要丢弃用户报文,由此实现了按照所设定访问控制关系对用户的网络访问进行控制。
为使具体的控制操作更简单,在网络接入设备中设置用户访问控制(ACL)表,使该表包括PORT、PORT掩码、VLANID、VLANID掩码、源IP地址、源IP地址掩码、目的IP地址和目的IP地址掩码字段,用于描述访问控制关系,这样就方便了对访问控制关系的设置和管理。
假设网络接入设备为宽带接入服务器(BAS),就需要在BAS中配置ACL表。该表可以根据控制的需要预先设定好,也可以通过命令行的方式在具体的控制过程中按需配置。例如,在具体配置ACL表的条目时,可以根据需要只配置VLANID和目的地址。这就是说,该表包括的PORT、VLANID、源IP地址和目的IP地址四个控制元素可以根据需要灵活配置,不需要哪项参与则把它的掩码设为全0,在报文转发匹配控制关系时,根据掩码就会不去判断此元素,使其不再参与报文转发的控制。例如,在ACL表中,如果不需要PORT字段参与网络访问控制,则将该字段的掩码设置为0,即将PORT掩码字段设置为0。因此,对于已配置好的ACL表,其索引为PORT+PORT掩码+VLANID+VLANID掩码+源IP地址+源IP地址掩码+目的IP地址+目的IP地址掩码;同时在ACL表中还要配置缺省访问是允许还是禁止,即表项中没有匹配不到的情况。
ACL表的结构如下述表例所示: 入端口 号 入端 口掩 码 VLA NID VLA NID 掩码 源IP地 址 源IP地 址掩码 目的 IP地址 目的 IP地址 掩码返回值 0 0 0 0 0 0 0 0 N 6 255 2 65,5 35 10.163.1 55.0 255.255. 255.0 20.155.2 4.0 255.255. 255.0 Y 0 0 3 65,5 35 1.1.1.1 255.255. 255.255 2.2.2.2 255.255. 255.255 N 0 0 0 0 224.0.0.0 255.0.0.0 225.0.0.0 255.0.0.0 N … … … … … … … … …
在上述表中,第一个条目,即第一行为缺省值,必定存在,也即使在匹配ACL表时,不存在无匹配项的表项。表中掩码为0的表示配置的时候此项没有配置,在报文转发控制时元需匹配此项,即无论报文中这一项为多少都认为匹配通过。上述表中的返回值就是本发明所述的访问控制关系,“Y”表示访问允许,“N”表示访问禁止。
在上述表中,入端口号和VLANID一般只存在配置和不配置两种,如果配置了掩码为全1,如果不配置掩码为全0,而IP地址的掩码则可以不限制。另外,入端口号、VLANID、源IP地址和目的IP地址这四个属性一般需要配置两到三个粒度才能达到要求,如果只配置一个而其他的掩码为全0则粒度太粗,难以达到控制精度的要求。
下面结合附图对本发明做进一步说明。
图1是本发明所述方法的控制原理图。按照图1,BAS在接收到用户的网络访问报文(即IP报文)后,首先从中获取需要的参数,即PORT、VLANID、源IP地址和目的IP地址,再将上述参数组成查找键值去查找ACL表,或者说匹配ACL表,根据匹配到的访问控制关系返回值,决定访问权限,即是转发用户的报文还是丢弃用户的报文。
在本发明的具体实施中,还可以将在BAS中设置的ACL表分为两个,分别用于用户认证前后的网络访问控制,即认证前的网络访问查询一张表,认证后的网络访问查询另一张表,这样会使网络访问的控制更加灵活。
在图2所示的用户网络登录过程为例,当用户经步骤1到3申请到IP地址后,对于BAS设备来说,在A位置给用户分配并记录一些简单的信息,如用户的PORT、VLANID以及IP地址,这时就可以根据上述信息依据认证前的ACL表对用户进行控制,因为某用户上网时,只要他的物理位置不变,其端口号,即PORT和VLANID是不变的,这时就可以通过PORT+VLANID+目的IP地址对用户进行网络访问的控制,也就是说对于物理位置相对不变的用户或用户群可以使用VLANID进行统一控制。当用户经过步骤5到7认证成功后,即在B点以后,采用认证后的ACL表对用户的网络访问进行控制。当然,对于那些采用静态IP地址的用户终端,可以绑定其IP地址形成PORT+VLANID+源IP地址+目的IP地址的查找ACL表的键值,从而实施对该用户的网络访问控制。
需要说明,上面所述认证前后查询两张表只是实际中的一种较好的做法,而不是一定的做法,还可以在认证前后都查统一张表,或者认证前只能访问某个地址,而ACL只在认证之后查询等等。
总之,采用本发明所述的方法,可以形成更高的网络访问控制精度。