IPv6无线路由器中基于MAC地址转换的接入与访问控制方法

文档序号:7795958阅读:423来源:国知局
IPv6无线路由器中基于MAC地址转换的接入与访问控制方法【专利摘要】本发明涉及互联网通信领域,具体公开了一种IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,包括步骤:(1)给内网的节点分配一个全局IP地址;(2)子网内部IPv6用户之间的通信。其通信过程与正常IPv6子网内通信方式一致;(3)内网IPv6用户与外网IPv6用户之间的通信。与现有技术相比,本发明的有益效果是:可以方便地实现基于IPv6地址的身份认证技术,同时避免了IPv4网络中因为NAT转换所带来的各种安全问题;可以方便地实现基于IPv6地址的安全事件定位与追踪;能有效防御外部攻击,有力保护内网络安全;MTPF技术提高了无线路由器的工作效率。【专利说明】IPv6无线路由器中基于MAC地址转换的接入与访问控制方法【
技术领域
】[0001]本发明涉及互联网通信领域,具体公开了一种IPv6无线路由器中基于MAC地址转换的接入与访问控制方法。【
背景技术
】[0002]为了解决网络规模不断扩大带来的IPv4地址即将耗尽的问题,IETF提出了下一代互联网协议一IPv6,随着协议的不断发展和成熟,包括中国、美国、日本和欧洲在内的许多国家和地区正在大规模建设基于IPv6的新一代网络。[0003]无线路由器的角色虽然与交换机相当,但是在访问控制的实现上有较大区别。交换机可以很容易的实现基于端口做访问控制,而无线路由器一般是一个操作系统(比如Linux),依靠操作系统中一些防火墙工具如Iptables,Ip6tables等实现访问控制机制,所以交换机上的一些访问控制的功能无法移植到无线路由器上。[0004]首先,无线路由器并没有全局网络的路由设置,它和网关、路由器的地位不同,只是相当于一个交换机的位置,不同的是交换机有对端口放行和禁止的功能,无线路由器却没有,因为无线网是不存在端口这个概念的,内部的用户都是相当于与内部的网卡物理连接。[0005]交换机在基于网络接口的流量访问控制方面功能强大,但无线路由器只相当于一个Linux系统。如果将无线路由器的内部网卡与外部网卡进行桥接,内部用户确实可以直接访问外部网络,但桥接后,无法直接做基于网络接口的访问控制,必须对系统内核的网桥功能做进一步开发才行,工作量太大,而且改动系统内核一方面可能导致系统不稳定,另一方面也不易于推广。[0006]如果设置自己定义的一块私有地址,比如用RDP或者DHCPv6协议给无线路由器内部的用户分配自己定义的64bits前缀的IPv6全局地址,数据包能发送出去,但是无法路由回来。这时可以采用类似IPv4NAT的方案,将用户访问外部的IPv6数据包源地址全部转换成无线路由器的IPv6全局地址,对于返回的数据包做逆向转换,用户就不能用自己的IPv6全局地址与外部通信,导致外部网络节点无法直接访问用户的机器。而且源地址需要做转换的NAT显然有背IPv6的设计理念。[0007]如果给用户分配一个前缀与无线路由器所在的IPv6子网一致的IPv6全局地址,返回的数据包通过子网的网关发回,由于子网网关认为用户与它在一个局域网内,会使用NDP协议查询用户的MAC地址。但是由于网关和用户物理上不在一个网络,网关显然无法找到用户的MAC地址,这样,数据包无法返回给用户。[0008]针对以上问题,本发明在无线路由器上实现IPv6下基于MAC地址的NAT,达到让无线路由器内部用户能够自动获取IPv6全局地址并在访问控制系统的控制下访问外部IPv6网络的目的。【
发明内容】[0009]本发明的目的在于:提供一种基于MAC地址转换的IPv6全局地址分配与访问控制方法,使得在不破坏IPv6端到端特性的条件下实现基于IPv6地址的身份识别与访问控制机制,提高IPv6网络的安全性。[0010]为了实现上述发明目的,本发明采用的技术方案如下:[0011]IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,包括步骤:[0012]1、给内网的节点分配一个全局IP地址;[0013](I)在无线路由器WR的内部网卡Inic上启动IPv6路由宣告服务;[0014](2)内网用户IU关联无线路由器WR,发送地址请求报文AR,以获取IPv6地址;[0015](3)收到AR报文后,WR自动回复地址分配报文AS。AS报文的前缀(prefix)设置成与WR的IPv6全局地址一致,即与WR外网网卡Onic收到的AS报文一致,源地址填写内网网卡的链路本地地址;[0016](4)IU获得IPv6全局地址,同时将无线路由器WR内网网卡的IPv6地址设置成默认路由,将发送到非局域网(目的地址的前缀与自己的前缀不同)的报文交由无线路由器WR转发,此时WR只要将默认路由设置成发送给局域网的网关即可。[0017]2、子网内部IPv6用户之间的通信。其通信过程与正常IPv6子网内通信方式一致;[0018]3、内网IPv6用户与外网IPv6用户之间的通信。由于内网用户与外网节点之间存在物理隔离,所以当无线路由器收到子网有AR报文请求物理隔离的节点时,需要构造一些AS回复,让这些节点先将数据包发送给无线路由器,然后再由无线路由器转发。执行步骤如下:[0019](I)建立内网用户列表INUP(InnerNetworkUserList)。记录内部网卡监听到的NS报文的源地址,只要监听到AR报文,就把AR报文的源地址添加到内部用户列表INUP;[0020](2)判断AR报文的目标地址TA(TargetAddress)是否为内网用户。解析出AR报文Pns的目标地址TA,如果TAeINUPJUTA为内网用户,否则TA不是内网用户;[0021](3)处理内网发往外网的报文。这种情况下,当内部网卡监听到AR报文时,通过建立内网用户列表INUP的算法判断出目标地址TA不属于内部网卡连接的用户,于是构造一个AS报文,报文的MAC地址填写内部网卡的MAC地址;[0022](4)处理外网发往内网的报文。这种情况下,当外部网卡监听到AR报文时,通过建立内网用户列表INUP的算法判断出目标地址TA属于内部网卡连接的用户,于是构造一个AS报文,报文的MAC地址填写外部网卡的MAC地址:[0023](5)网络接入认证和访问控制。内网与外网相互的AS报文回复后,内网发送到外网的数据包和外网发送到内网的数据包都将发往无线路由器,由无线路由器根据事先制定好的访问控制规则决定是否放行以及如何转发。[0024]与现有技术相比,本发明的有益效果是:[0025]1、内部用户接入无线路由器时直接获取全球唯一的IPv6全局地址,可以方便地实现基于IPv6地址的身份认证技术,同时避免了IPv4网络中因为NAT转换所带来的各种安全问题;[0026]2、该方法中使用全局唯一的IPv6地址进行通信,通信双方都无法抵赖身份,可以方便地实现基于IPv6地址的安全事件定位与追踪;[0027]3、该方法巧妙地实现了基于MAC地址转换的访问控制技术,能有效防御外部攻击,有力保护内网络安全;[0028]4、MTPF技术减少了地址转换所带来的大量计算、存储与管理开销,大大提高了无线路由器的工作效率。本发明能够为未来互联网的应用提供多种有效的身份认证与访问控制手段,同时具有良好的可扩展性,能够适应未来互联网应用发展所带来的要求。【专利附图】【附图说明】[0029]图1为本发明技术方案的流程图;[0030]图2为本发明的路由代码设置示意图;[0031]图3为本发明跳转规则链的代码示意图;[0032]图4为本发明初始化规则链的代码示意图;[0033]图5为本发明通过访问控制后的规则链代码示意图。【具体实施方式】[0034]下面结合【具体实施方式】对本发明的上述【
发明内容】作进一步的详细描述。[0035]但不应将此理解为本发明上述主题的范围仅限于下述实施例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的范围内。[0036]本实施例列举的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其步骤如下:[0037]1、全局IPv6地址的分配;[0038]考虑到无线路由器自身的特点及性能要求,具体实施时采用RDP协议来实现IPv6地址的分配:[0039](I)在无线路由器WR的内部网卡Inic上启用IPv6路由宣告服务radvd;[0040](2)内网用户IU关联无线路由器WR以获取IPv6地址时,以广播方式发送RS报文;[0041]⑶WR收到RS报文后,WR会自动回复RA报文(同时,WR还会定期发送RA报文,主动推送IPv6地址,以提高效率)。将RA报文的prefix设置成与WR的IPv6全局地址一致,即与WR外网网卡Onic收到的RA报文一致,源地址填写内网网卡的链路本地地址;[0042](4)WR向IU发送默认路由器地址:无线路由器WR内网网卡的IPv6地址:[0043](5)IU接收并配置来自WR分配的全局IPv6地址及默认路由器地址。[0044]至此,IU完成全局IPv6地址的配置,并将无线路由器WR内网网卡的IPv6地址设置成默认路由,将发送到非局域网(目的地址的前缀与自己的前缀不同)的报文交由无线路由器WR转发,接下来IU就可以与其它节点进行通信了。[0045]2、无线路由器用户通信过程;[0046]对于无线路由器用户通信过程,考虑到无线路由器自身的特点及性能要求,具体实施时采用NDP协议来实现。子网内部的IPv6节点之间的通信过程与正常IPv6子网内通信方式一致,这里不再细述。[0047]对于内网IPv6用户与外网IPv6用户之间的通信,由于内网用户与外网节点之间存在物理隔离,所以当无线路由器收到子网有报文请求物理隔离的节点时,需要构造一些回复报文,让这些节点先将数据包发送给无线路由器,然后再由无线路由器转发。采用NDP协议来实现内网IPv6用户与外网IPv6用户之间的通信过程实施流程:[0048](I)无线路由器WR启动后自动运行一个守护进程inupd,记录内部网卡监听到的邻节点请求报文(NS)的源地址,只要监听到NS报文,就把NS报文的源地址添加到内部用户列表INUP(InnerNetworkUserList);[0049](2)WR运行另一个守护进程iSind,用于判断NS报文的目标地址TA(TargetAddress)内网用户。iSind的主要操作流程为:解析出NS报文的目标地址TA,如果TAeIAT,则TA为内网用户,否则TA不是内网用户;[0050](3)WR处理所受到的报文;[0051]①对于子网内部用户之间的报文,不做任何处理;[0052]②对于内网发往外网的报文,这种情况下,当内部网卡监听到NS报文时,通过步骤(2)的算法判断出目标地址不属于内部网卡连接的用户。这时,只要设置一条默认路由,将默认路由的Interface指向外网网卡,地址指向局域网的网关即可。转步骤(4)。[0053]③对于外网发往内网的报文,这种情况下,当外部网卡监听到NS报文时,通过步骤(2)的算法判断出目标地址属于内部网卡连接的用户,就在路由表中加一条路由,路由目的地址是NS报文的目标地址TA,下一跳的地址也是TA,下一跳的Interface是内部网卡,在无线路由器操作系统的命令行中输入route-Ainet6命令,回车后可以看到类似于如图2所示的路由表。如图2所示,在这个无线路由器上,内部网卡是br-lan,外部网卡是ethl.1(对于其它路由器实例,内网网卡的名称可能会发生变化)。可以看到前3跳路由都是为内部用户设置的。局域网的网关是"20`01:da8:2:101::1",默认路由"::/0"正是指向局域网的网关。转步骤(4)。[0054](4)实现步骤(3)的NA报文回复后,内网发送到外网的数据包和外网发送到内网的数据包都将发往无线路由器,由无线路由器根据事先制定好的访问控制规则决定是否放行以及如何转发,实现接入认证和访问控制功能。[0055]3、无线路由器内外网用户之间通信过程实例;[0056]以下用ping命令来描述内外网用户之间的通信过程。[0057](I)内部用户IUping其他网段(ipv6.google.com)的过程:[0058]IU的echorequest—无线路由器转发—Gateway(2001:da8:2:101::1)—ipv6.google,com;[0059]ipv6.google.com的echoreply—2001:da8:2:101::1;[0060]2001:da8:2:101::1发送NS请求IU的MAC地址;[0061]无线路由器构造NA:IU的MAC地址是X(外部网卡MAC地址);[0062]2001:da8:2:101::1转发echoreply—无线路由器一A(由于我们为IU单独设置了一条路由表项)。[0063](2)内部用户IUping外部节点OU的过程:[0064]IU发送NS请求OU的MAC地址;[0065]无线路由器构造NA:OU的MAC地址是Y(内部网卡的MAC地址);[0066]IU的echorequest—无线路由器—Gateway(2001:da8:2:101::1)—B;[0067]OU发送NS请求IU的MAC地址;[0068]无线路由器构造NA:IU的MAC地址是X(外部网卡的MAC地址);[0069]OU的echoreply—无线路由器—A。[0070]4、无线路由器基于MAC地址转换的访问控制方法的实现。[0071]本方法用Ip6tables来实现无线路由器中基于MAC地址转换的访问控制方法。[0072]Ip6tables有3个默认的规则链:INPUT,OUPUT,FORWARD,INPUT是用来过滤进入本机的数据包,OUTPUT是用来过滤本机发出的数据包,FORWARD是用来过滤本机转发的数据包。[0073]实现了IPv6下基于MAC的NAT之后,内部用户访问外部的流量全部由无线路由器来转发,都会经过FORWARD规则链。我们先在FORWARD规则链上增加一个跳转规则,针对数据包源地址前缀为无线路由器所在IPv6子网的地址前缀的流量,让这些流量由新增的规则链cngi_acl来处理,如图3所示。这样内部用户访问外部网络的流量都会通过cngi_acl这条规则链。cngi_acl规则链的初始化结果如图4所示,除了DNS的流量和访问WebPortal的流量,其他的流量都是禁止的。如果用户通过了入网认证,就添加I条规则到cngi_aCl规则链的顶部,如图5所示。这里用MAC地址作为放行的标识,因为一个用户同一块网卡上可能设置有多个IPv6地址。添加放行规则后,这个MAC地址对应的用户就可以正常访问IPv6网络了。如果要重新禁止该MA·C地址的流量也很简单,只要将相应的规则删除即可。【权利要求】1.IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,包括步骤:给内网的节点分配一个全局IP地址;子网内部IPv6用户之间的通信,其通信过程与正常IPv6子网内通信方式一致;内网IPv6用户与外网IPv6用户之间的通信。2.根据权利要求1所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述内网节点的全局IP地址分配方法为:在无线路由器WR的内部网卡Inic上启动IPv6路由宣告服务;内网用户IU关联无线路由器WR,发送地址请求报文AR,以获取IPv6地址;收到AR报文后,WR自动回复地址分配报文AS,AS报文的前缀(prefix)设置成与WR的IPv6全局地址一致,即与WR外网网卡Onic收到的AS报文一致,源地址填写内网网卡的链路本地地址;IU获得IPv6全局地址,同时将无线路由器WR内网网卡的IPv6地址设置成默认路由,将发送到非局域网(目的地址的前缀与自己的前缀不同)的报文交由无线路由器WR转发,此时WR只要将默认路由设置成发送给局域网的网关即可。3.根据权利要求1所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述内网IPv6用户与外网IPv6用户之间的通信方式包括:建立内网用户列表INUP(InnerNetworkUserList);判断々1?报文的目标地址TA(TargetAddress)是否为内网用户;处理内网发往外网的报文;处理外网发往内网的报文;接入认证和访问控制。4.根据权利要求3所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述内网用户列表1NUP的建立方法为:记录内部网卡监听到的NS报文的源地址,只要监听到AR报文,就把AR报文的源地址添加到内部用户列表1NUP。5.根据权利要求3所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述AR报文的目标地址TA判断方法为:解析出AR报文Pns的目标地址TA,如果TAeINUP,则TA为内网用户,否则TA不是内网用户。6.根据权利要求3所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述内网发往外网的报文处理方法为:当内部网卡监听到AR报文时,通过建立内网用户列表1NUP的算法判断出目标地址TA不属于内部网卡连接的用户,于是构造一个AS报文,报文的MAC地址填写内部网卡的MAC地址。7.根据权利要求3所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述外网发往内网的报文处理方法为:当外部网卡监听到AR报文时,通过建立内网用户列表1NUP的算法判断出目标地址TA属于内部网卡连接的用户,于是构造一个AS报文,报文的MAC地址填写外部网卡的MAC地址。8.根据权利要求3所述的IPv6无线路由器中基于MAC地址转换的接入与访问控制方法,其特征在于,所述网络接入认证和访问控制方法为:内网与外网相互的AS报文回复后,内网发送到外网的数据包和外网发送到内网的数据包都将发往无线路由器,由无线路由器根据事先制定好的访问控制规则决定是否放行以及如何转发。【文档编号】H04W12/00GK103731820SQ201410030189【公开日】2014年4月16日申请日期:2014年1月12日优先权日:2014年1月12日【发明者】刘武,唐再良,陈燕平,王甫申请人:绵阳师范学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1