具体实施方式
为了实现本发明目的,本发明采用的核心思想为:本发明分布式防火墙通过主控板及时下发ACL(Access Control List,访问控制列表)策略信息给所有接口板,以保证来自特定网络设备的报文均发送给对应的接口板;并通过将SA(Security Association,安全联盟)流信息同步到所有业务板,当业务板根据SA流信息,发现其接收的报文不属于其自身处理时,进一步将该报文重定向至与该SA流信息匹配的业务板,通过前述手段,可以保证同一条流的报文都发送到同一个业务板处理,因而,实现了分布式式防火墙上的IPSec业务的负载分担。
为使本发明更加清楚和明白,以下结合本发明具体实施例加以说明。具体地,如图1所示,为本发明分布式防火墙IPSec报文业务负载分担的装置,所述装置应用于需要通过公网进行IPSec数据传输的网络系统中,该网络系统至少包括若干个外网设备和内网设备。所述装置设置于所述外网设备和内网设备之间,且至少包括一个主控板和两个以上的接口板和业务板,其中:
所述接口板,用于接收来自网络设备的报文,并按照预定策略规则转发给对应的业务板。
具体地,当分支内网设备向中心内网设备发起访问时,所述网络设备具体为外网(公网)分支设备;当中心内网设备向分支内网设备发起访问时,所述网络设备具体为中心内网设备。另外,在本发明实施例中,所述预定的策略规则,具体为通过Hash算法随机均衡分配业务给对应的业务板。
所述业务板,用于对接收来自接口板的报文进行相应的处理并转发给目标网络设备,通过主控板及时下发ACL策略信息给所有接口板,以保证来自特定网络设备的报文均发送给对应的接口板;并通过将SA流信息同步到所有业务板,当业务板根据SA流信息,发现其接收的报文不属于其自身处理时,进一步将该报文重定向至与该SA流信息匹配的业务板。
具体地,当所述业务板接收到来自接口板的报文时,需要确认是否对所述报文进行IPSec加密或解密处理,进一步地,当分支内网设备向中心内网设备发起访问时,所述业务板确认是否需要对所述报文进行IPSec解密处理;当中心内网设备向分支内网设备发起访问时,所述业务板确认是否需要对所述报文进行IPSec加密处理。当业务板确认需要对所述报文进行IPSec加密处理时,还需要通知主控板下发ACL信息给所有接口板,告知后续源或目的IP地址为传输所述报文的外网设备的IP地址的所有报文均发送至该业务板。反之,如果经确认不需要对所述报文进行IPSec加密或解密处理,则直接对所述报文进行转发处理。
进一步地,当所述业务板确认需要对所述报文进行IPSec加解密处理时,所述业务板查询本地是否保存有对所述报文进行IPSec处理的对应SA流信息,如果查询到本地保存有对所述报文进行IPSec处理的对应SA流信息,则表明所述报文之前已建立起相应的IPSec加密或解密处理策略;反之,如果没有查询到本地保存有对所述报文进行IPSec处理的对应SA流信息,则表明所述报文为新报文,需要进一步与外网分支设备进行IPSec加密处理的IKE协商,以便协商到对应的SA流信息。
进一步地,当所述业务板查询到本板上保存有对所述报文进行IPSec处理的对应SA流信息,需要进一步根据查询到的SA流程判断所述报文是否由本板进行IPSec加密或解密处理,如果是则直接根据该SA流信息进行相应的IPSec加密或解密处理,否则,业务板根据查询到的SA流信息进行匹配,并将该报文重定向发送给匹配到的对应业务板进行IPSec加密或解密处理。具体地,当业务板接收到来自外网分支设备的IPSec报文时,则根据查询到的SA流信息,对所述IPSec报文进行解密处理,并将解密后的报文发送给中心内网设备;反之,如果业务板接收到来自中心内网设备的报文,则根据查询到的SA流信息,对所述中心内网设备发送的报文进行IPSec加密处理,并将加密后的报文发送给外网分支设备。
进一步地,当业务板对来自外网分支设备的IPSec报文进行解密后,还需要通知主控板下发ACL信息给所有接口板,告知后续目的IP为所述该报文源IP地址的报文均发送至该业务板。
进一步地,当业务板根据查询到的SA流信息判断不是由本板进行IPSec加密或解密处理,则根据该查询到的SA流信息进行匹配对应的业务板,并将所述报文重定向至匹配到的业务板进行前述IPSec加密或解密处理。
进一步地,当所述业务板没有查询到本地保存有对所述报文进行IPSec处理的对应SA流信息,则表明所述报文为网络设备新发送的报文,此时所述业务板需要启动与外网分支设备进行IPSec加密/解密处理的IKE协商,以便协商到对应的SA流信息。另外,在协商到对应的SA流信息后,进一步将协商到的SA流信息同步到所有其他业务板,并标识后续具有该SA流信息的报文均由该业务板处理。
如图2所示,为本发明分布式防火墙IPSec业务负载分担的方法流程图,应用于需要通过公网进行IPSec数据传输的网络系统中,该网络系统至少包括若干个外网设备和内网设备。所述防火墙设置于所述外网设备和内网设备之间,且至少包括一个主控板和两个以上的接口板和业务板,其中所述方法包括如下步骤:
步骤1、接口板接收来自网络设备的报文,按照预定策略规则转发给对应的业务板。
具体地,当分支内网设备向中心内网设备发起访问时,所述网络设备具体为外网(公网)分支设备;当中心内网设备向分支内网设备发起访问时,所述网络设备具体为中心内网设备。另外,在本发明实施例中,所述预定的策略规则,具体为通过Hash算法随机均衡分配业务给对应的业务板。
步骤2、业务板确认是否需要对所述报文进行IPSec加密或解密处理,如果是,则进行步骤3,否则,进行步骤8。
具体地,当分支内网设备向中心内网设备发起访问时,所述业务板确认是否需要对所述报文进行IPSec解密处理;当中心内网设备向分支内网设备发起访问时,所述业务板确认是否需要对所述报文进行IPSec加密处理。
另外,当业务板确认需要对所述报文进行IPSec加密处理时,还需要通知主控板下发ACL信息给所有接口板,告知后续源或目的IP地址为传输所述报文的外网设备的IP地址的所有报文均发送至该业务板。
步骤3、业务板查询本地是否保存有对所述报文进行IPSec处理的对应SA流信息,如果有,则进行步骤4,否则进行步骤7。
具体地,当查询到本地保存有对所述报文进行IPSec处理的对应SA流信息,则表明所述报文之前已建立起相应的IPSec加密或解密处理策略;反之,如果没有查询到本地保存有对所述报文进行IPSec处理的对应SA流信息,则表明所述报文为新报文,需要进一步与外网分支设备进行IPSec加密处理的IKE协商,以便协商到对应的SA流信息。
步骤4、业务板根据查询到的SA流信息判断是否由本板进行IPSec加密或解密处理,如果是,则进行步骤5,否则,进行步骤6。
具体地,当业务板查询到本板上保存有对所述报文进行IPSec处理的对应SA流信息,需要进一步根据查询到的SA流程判断所述报文是否由本板进行IPSec加密或解密处理,如果是则直接根据该SA流信息进行相应的IPSec加密或解密处理,否则,业务板根据查询到的SA流信息进行匹配,并将该报文重定向发送给匹配到的对应业务板进行IPSec加密或解密处理。
步骤5、业务板对所述报文进行IPSec加密或解密处理,并将加密或解密后的报文发送给目标网络设备。
具体地,当业务板接收到来自外网分支设备的IPSec报文时,则根据查询到的SA流信息,对所述IPSec报文进行解密处理,并将解密后的报文发送给中心内网设备;反之,如果业务板接收到来自中心内网设备的报文,则根据查询到的SA流信息,对所述中心内网设备发送的报文进行IPSec加密处理,并将加密后的报文发送给外网分支设备。
进一步地,当业务板对来自外网分支设备的IPSec报文进行解密后,还需要通知主控板下发ACL信息给所有接口板,告知后续目的IP为所述该报文源IP地址的报文均发送至该业务板。
步骤6、业务板根据查询到的SA流信息进行匹配,并将该报文重定向发送给匹配到的对应业务板进行IPSec加密或解密处理,并将加密或解密后的报文发送给目标网络设备。
具体地,当业务板根据查询到的SA流信息判断不是由本板进行IPSec加密或解密处理,则根据该查询到的SA流信息进行匹配对应的业务板,并将所述报文重定向至匹配到的业务板进行前述步骤6所述的IPSec加密或解密处理。
步骤7、业务板启动所述报文IPSec加密处理的IKE协商,并将协商到的SA流信息同步到所有其他业务板,并标识后续具有该SA流信息的报文均由该业务板处理。
具体地,如果业务板没有查询到本地保存有对所述报文进行IPSec处理的对应SA流信息,则表明所述报文为网络设备新发送的报文,此时所述业务板需要启动与外网分支设备进行IPSec加密/解密处理的IKE协商,以便协商到对应的SA流信息。另外,在协商到对应的SA流信息后,进一步将协商到的SA流信息同步到所有其他业务板,并标识后续具有该SA流信息的报文均由该业务板处理。
步骤8、直接对所述报文进行转发处理。
如图3所示,为本发明分布式防火墙IPSec业务负载分担的应用场景图,图4则为图3所示应用场景下采用本发明方法分支内网设备B1c1向中心内网设备S1发起访问的流程图。
在该应用场景下,本发明分支内网设备B1c1向中心内网设备S1发起的访问,首先触发外网分支设备B1主动发起对中心设备分布式防火墙的IKE协商。
具体地,外网分支设备B1发送IKE协商报文到中心设备分布式防火墙的接口卡,防火墙接口板通过所述报文源IP地址、目的IP地址、源端口,目的端口以及协议号做HASH处理,假定经HASH处理后发送到业务板C1。
业务板C1在进行转发处理前,先确认是否需要对该报文进行IPSEC加密处理,如果需要进行IPSec加密处理,则进一步查询其上是否保存有对应的SA流信息,如果没有发现其上没有保存符合的SA流信息,则启动IKE协商,同时业务板C1通知主控卡下发ACL信息给所有接口板,通告后续源IP为B1公网地址的报文均发送往业务板C1。
当业务板C1协商到SA流信息后,业务板C1需要进一步把该SA流信息同步到所有的其他业务板上,同时标识该SA流信息的IPSec处理的业务板为C1。
当接口板接收到外网分支设备B1发送的IPSEC加密报文,根据之前下发的ACL信息发送到业务板C1,业务板C1解密后发送到中心内网设备S1,并通知主控板下发ACL给所有接口板,告知后续目的地址为B1c1的报文均发送到业务板C1,同时建立防火墙会话信息。
接口板后续接受到由S1发往B1C1的原始报文,根据ACL匹配发送到C1,由业务卡C1加密后发送给B1。
当接口卡接收到来自中心内网设备Sn发送给B1cn的报文,假如根据随机HASH运算最终发送到业务板Cn,业务板Cn确认需要进行IPSEC加密处理,根据SA流信息确认该SA已经建立,同时进行该IPSec业务处理的仍是业务卡C1,则业务板Cn将中心内网设备Sn发送给B1cn的报文转发给业务板C1,由业务板C1对该报文进行IPSec加密后发送给外网设备B1。如果业务板Cn确认之前没有建立SA信息,则由该业务板Cn发起建立SA的IKE协商,同时标注业务卡Cn为该SA的处理业务板卡。
进一步地,如图5所示,为图3所示应用场景下采用本发明方法,中心内网设备S1向分支内网设备B1c1发起访问的流程图。
在该应用场景下,中心内网设备S1发起对分支内网设备B1c1的访问,首先会触发中心设备分布式防火墙主动发起对分支设备的IPSEC连接。
当中心设备分布式防火墙的接口板接收到中心内网设备S1发送给分支内网设备B1c1的报文,防火墙接口板通过源IP地址、目的IP地址、源端口、目的端口、协议号做HASH处理,假如经HASH处理后将该报文发送到业务板C1。
业务板C1在进行转发处理之前,确认是否需要进行IPSEC加密处理,如果判断需要进行IPSEC加密处理,则进一步查询其上是否保存有与该报文相符合的SA流信息,如果没有,则需要启动与外网分支设备B1的IKE协商,同时,业务板C1通知主控板下发ACL信息给所有的接口卡保证后续源IP为B1公网地址的报文送往业务板C1。
当业务板C1协商到SA后,需要进一步把SA流信息同步到所有的业务卡,同时标识该SA的处理业务板为C1。
当接口卡接受到外网分支设备B1发送的IPSEC加密报文,根据之前下发的ACL信息发送到业务板C1,经业务板C1解密后发送到中心内网设备S1,同时,通知主控板下发ACL给所有接口卡,告知后续所有目的地址为B1c1的报文均发送到业务板C1,同时建立防火墙会话信息。
当接口板后续接受到由中心内网设备S1发往内网分支设备B1c1的原始报文,首先根据ACL匹配发送到业务板C1加密后发送给外网分支设备B1。
当接口板接受到中心内网设备Sn发送BnCn的报文,假定根据随机HASH最终发送到业务板Cn,业务板Cn确认需要进行IPSEC加密处理,根据SA流信息确认该SA没有建立,由该业务板Cn发起对外网分支设备Bn的IKE协商,发送IKE协商报文到Bn。同时通知主控板下发ACL给所有的接口卡,告知后续目的IP为BnCn的报文或则源IP为Bn的报文发送到Cn。
当接口板接受到外网分支设备Bn发送的IKE协商报文,根据ACL匹配发送到业务板Cn,在完成SA协商后,下发该SA流信息给所有的业务板,同时标识该SA的处理板卡为Cn,保证后续来自Bn的IPSEC保温由Cn处理。
与现有的技术方案相比,本发明通过SA保护流信息同步,动态ACL下发和根据SA流信息的报文重定向实现分布式防火墙IPSEC业务的负载分担,同时保证IPSEC加密的同一条流的正反向报文都送往同一个业务卡处理,保证IPSEC信息随业务插卡数量增加而线形增加。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。