一种规则处理方法、设备和存储介质与流程

1.本技术涉及计算机

技术领域


:,尤其涉及一种规则处理方法、设备和存储介质。

背景技术


::2.随着计算机科学技术的飞速发展,计算机的应用越来越广泛。而在计算机应用过程中,计算机的安全性也越来越重要。为了保证计算机的安全性,目前常用的方法有使用网际互连协议(internetprotocol,ip)信息包过滤系统(iptables)实现分布式防火墙(distributedfirewall,dfw)来对数据进行过滤处理,以降低对应的计算机设备被攻击的可能。iptables实现dfw时,是通过内核协议栈(netfilter)结构对iptables规则即dfw规则进行顺序匹配实现的。3.但是,随着dfw规则的数量的增加,会严重增加计算机中的中央处理器(centralprocessingunit,cpu)的运行负荷,造成计算机设备的传输性能降低,使传输数据流量的流量时延变大。技术实现要素:4.有鉴于此,本技术实施例期望提供一种规则处理方法、设备和存储介质,解决了目前dfw规则的数量增加时,导致计算机的运行负荷增大的问题,提出了一种对dfw规则发生变化时,对dfw规则进行处理的方法,降低了计算机的运行负荷,保证了计算机设备的传输性能,有效缩短了传输数据流量的时延。5.为达到上述目的,本技术的技术方案是这样实现的:6.一方面,一种规则处理方法,所述方法应用于规则处理节点,所述规则处理节点运行有虚拟机设备,所述方法包括:7.若接收到中央控制节点发送的防火墙规则调整指令,基于所述防火墙规则调整指令,确定调整操作和待调整防火墙规则;8.基于所述调整操作和所述待调整防火墙规则,更新所述规则处理节点中对应的查询列表集合;其中,所述查询列表集合中包括根据所述规则处理节点接收到的所述中央控制节点发送的防火墙规则生成的查询列表。9.另一方面,一种规则处理设备,所述规则处理设备用于运行规则处理节点,所述设备包括:存储器、处理器和通信总线;其中:10.所述存储器,用于存储可执行指令;11.所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;12.所述处理器,用于执行所述存储器中存储的规则处理程序,实现如上述任一项所述的规则处理方法的步骤。13.另一方面,一种存储介质,所述存储介质上存储有规则处理程序,所述规则处理程序被处理器执行时实现如上述任一项所述的规则处理方法的步骤。14.本技术的实施例所提供的规则处理方法、设备和存储介质,若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则,并基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。这样,规则处理节点通过调整操作和待调整防火墙规则更新规则处理节点对应的查询列表集合,通过查询列表集合来实现防火墙规则的管理,解决了目前dfw规则的数量增加时,导致计算机的运行负荷增大的问题,提出了一种对dfw规则发生变化时,对dfw规则进行处理的方法,降低了计算机的运行负荷,保证了计算机设备的传输性能,有效缩短了传输数据流量的时延。附图说明15.图1为本技术实施例提供的一种规则处理方法的流程示意图;16.图2为本技术实施例提供的另一种规则处理方法的流程示意图;17.图3为本技术实施例提供的又一种规则处理方法的流程示意图;18.图4为本技术实施例提供的一种规则处理方法的应用场景示意图;19.图5为本技术实施例提供的一种配置界面示意图;20.图6为本技术实施例提供的一种查询列表结构示意图;21.图7为本技术实施例提供的一种会话表结构示意图;22.图8为本技术实施例提供的一种规则处理方法的数据包处理流程示意图;23.图9为本技术实施例提供的一种规则处理设备的结构示意图。具体实施方式24.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。25.本技术的实施例提供一种规则处理方法,该方法应用于规则处理节点,规则处理节点运行有虚拟机设备,参照图1所示,该方法包括以下步骤:26.步骤101、若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则。27.在本技术实施例中,规则处理节点为由中央控制节点进行管理控制的运行节点,规则处理节点上布置有防火墙规则,防火墙规则可以是中央控制节点控制规则处理节点进行布置的。防火墙规则中的防火墙规则可以通过扩展的伯克利数据包过滤器(extendedberkeleypacketfilter,ebpf)技术来实现。中央控制节点发送的防火墙规则调整指令可以是网络管理人员对中央控制节点进行防火墙规则进行设置、调整、修改等操作后,中央控制节点将对应的防火墙规则调整指令发送至对应的规则处理节点处,以对对应的规则处理节点处的防火墙规则进行布置、修改等操作。规则处理节点接收到防火墙规则调整指令后,可以对防火墙规则调整指令进行解析,得到对对应的需要执行的调整操作和对应的待调整防火墙规则。待调整防火墙规则可以是规则处理节点中将要布置的防火墙规则,也可以是规则处理节点中当前已有的防火墙规则。28.步骤102、基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。29.其中,查询列表集合中包括根据规则处理节点接收到的中央控制节点发送的防火墙规则生成的查询列表。30.在本技术实施例中,规则处理节点接收到调整操作和待调整防护墙规则后,对规则处理节点中记录的关于防火墙规则的查询列表集合进行更新处理,以便后续规则处理节点可以对部署的防护墙规则进行有效的管理,进一步根据查询列表集合快速查对应的防火墙规则,对接收到或发出的数据进行相应的数据防护处理,保证数据的安全性。31.本技术的实施例所提供的规则处理方法,若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则,并基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。这样,规则处理节点通过调整操作和待调整防火墙规则更新规则处理节点对应的查询列表集合,通过查询列表集合来实现防火墙规则的管理,解决了目前dfw规则的数量增加时,导致计算机的运行负荷增大的问题,提出了一种对dfw规则发生变化时,对dfw规则进行处理的方法,降低了计算机的运行负荷,保证了计算机设备的传输性能,有效缩短了传输数据流量的时延。32.基于前述实施例,本技术的实施例提供一种规则处理方法,该方法应用于规则处理节点,规则处理节点运行有虚拟机设备,该方法包括以下步骤:33.步骤201、若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则。34.在本技术实施例中,用户对中央控制节点进行防火墙设置操作后,中央控制节点根据用户的防火墙设备操作生成对应的防火墙规则调整指令,并确定需要进行防火墙规则调整的规则处理节点,然后将防火墙规则调整指令发送至规则处理节点。规则处理节点接收到防火墙规则调整指令后,对防火墙规则调整指令进行分析,确定得到调整操作和待调整防火墙规则。35.步骤202、基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。36.其中,查询列表集合中包括根据规则处理节点接收到的中央控制节点发送的防火墙规则生成的查询列表。37.在本技术实施例中,规则处理节点响应防火墙规则调整指令,根据分析得到的调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。38.基于前述实施例,在本技术其他实施例中,步骤202可以由步骤202a~202e来实现:39.步骤202a、解析待调整防火墙规则,确定待调整防火墙规则对应的目标十元组信息。40.其中,目标十元组信息至少包括:动作规则信息、源接口标识信息、目的接口标识信息、源网际互连协议ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息、源端口标识信息和目的端口标识信息。41.在本技术实施例中,规则处理节点更新规则处理节点对应的查询列表集合时,首先对待调整防火墙规则进行解析处理,从待调整防火墙规则中确定得到待调整防火墙规则对应的至少包括:动作(action)规则信息、源接口标识信息、目的接口标识信息、源网际互连协议ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息、源端口标识信息和目的端口标识信息等的目标十元组信息。其中,源接口标识信息中可以包括多个源接口标识,同理,目的接口标识信息、源网际互连协议ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息、源端口标识信息和目的端口标识信息等也可以包括多个对应的标识。源ip信息和目的ip信息的类型可以是ip地址类型,也可以是虚拟机类型,具体可以由实际情况来确定。42.其中,规则处理节点执行步骤202a之后,可以选择执行步骤202b~202c,或步骤202d,或步骤202e。43.步骤202b、若调整操作为修改规则操作,基于目标十元组信息,生成待调整防火墙规则对应的目标查询列表。44.其中,查询列表集合中包括根据规则处理节点接收到的中央控制节点发送的防火墙规则生成的查询列表;查询列表集合包括目标查询列表。45.在本技术实施例中,在确定调整操作为修改规则操作后,规则处理节点根据确定得到的目标十元组信息生成待调整防火墙规则对应的目标查询列表,此时待调整防火墙规则为包括调整后的防火墙内容的防火墙规则。46.步骤202c、删除待调整防火墙规则对应的历史规则查询列表。47.其中,历史规则查询列表属于查询列表集合。48.在本技术实施例中,在调整操作为修改规则操作时,先生成待调整防火墙规则对应的目标查询列表后,删除待调整防火墙规则对应的历史规则查询列表,实现针对调整操作为修改规则操作时对查询列表的更新操作。49.步骤202d、若调整操作为增加规则操作,基于目标十元组信息,生成待调整防火墙规则对应的目标查询列表。50.其中,查询列表集合包括目标查询列表。51.步骤202e、若调整操作为删除规则操作,删除待调整防火墙规则对应的历史规则查询列表。52.其中,历史规则查询列表属于查询列表集合。53.在本技术实施例中,在确定调整操作为删除规则操作时,确定待调整防火墙规则对应的历史规则查询列表,并删除对应的历史规则查询列表,实现规则删除的操作。54.其中,需说明的是,步骤202b~202c、步骤202d、步骤202e可以根据实际情况进行组合实现,即在实际应用场景中,中央控制节点发送至规则处理节点的防火墙规则调整指令中,可以包括修改规则操作、增加规则操作和删除规则操作中的至少一种操作。55.基于前述实施例,在本技术其他实施例中,步骤202b和步骤202d中的步骤“基于目标十元组信息,生成待调整防火墙规则对应的目标查询列表”可以由步骤a11~a17来实现:56.步骤a11、若查询列表集合中包括以待调整防火墙规则的目标规则标识信息为关键字的历史规则查询列表,基于动作规则信息更新历史规则查询列表中的数值,得到第一规则查询列表。57.其中,目标查询列表包括第一规则查询列表。58.在本技术实施例中,查询列表集合中的元素是以关键字(key,k)-数值(value,v)形式进行存储的列表(map)来实现信息存储的。其中,规则查询列表中的关键字为规则标识信息,对应的数值是动作规则信息,这样,根据关键字即可快速查到对应的数值。在数值中,可以按照不同的位来标识不同规则标识信息对应的动作规则信息,不同的动作规则信息可以按照不同的标识信息来标识,例如动作规则信息可以是允许和丢弃,则可以用1表示允许,用0表示丢弃等。示例性的,若查询到的数值为0x0011,若从低位到高位表示规则标识信息位,对应的数值为动作规则信息,则可以确定规则0和规则1的动作规则信息均为允许。59.步骤a12、若查询列表集合中不包括以目标规则标识信息为关键字的历史规则查询列表,以目标规则标识信息为关键字,动作规则信息为数值,生成第二规则查询列表。60.其中,目标查询列表包括第二规则查询列表。61.步骤a13、若确定查询列表集合的目标历史ip查询列表中的关键字和目标ip信息中存在最小集,基于最小集更新目标历史ip查询列表中的关键字,基于目标规则标识信息更新目标历史ip查询列表中的数值,得到第一ip查询列表。62.其中,目标ip信息至少为源ip信息或目的ip信息,目标查询列表包括第一ip查询列表。63.步骤a14、若目标ip信息为参考ip信息,基于目标规则标识信息更新查询列表集合中所有历史ip查询列表中的数值,得到第二ip查询列表。64.其中,目标查询列表包括第二ip查询列表。65.步骤a15、若确定查询列表集合中不存在目标历史ip查询列表,且目标ip信息不是参考ip信息,以目标ip信息为关键字,目标规则标识信息为数值,生成第三ip查询列表。66.其中,目标查询列表包括第三ip查询列表。67.步骤a16、若确定查询列表集合中包括目标标识信息对应的参考信息查询列表,基于目标规则标识信息更新参考信息查询列表中的数值,得到第一目标信息查询列表。68.其中,目标标识信息为源端口标识信息、目的端口标识信息、协议标识信息、源接口标识信息或目的接口标识信息,目标查询列表包括第一目标信息查询列表。69.步骤a17、若确定查询列表集合中不包括参考信息查新列表,以目标标识信息为关键字,目标规则标识信息为数值,生成第二目标信息查询列表。70.其中,目标查询列表包括第二目标信息查询列表。71.在本技术实施例中,针对某一防火墙规则,目标查询列表至少包括规则标识信息对应的规则查询列表(如前述的第一规则查询列表或第二规则查询列表)、源ip信息对应的源ip查询列表、目的ip信息对应的目的ip查询列表(如前述的第一ip查询列表、第二ip查询列表、第三ip查询列表等)、源端口标识信息对应的源端口查询列表、目的端口标识信息对应的目的端口查询列表、协议标识信息对应的协议查询列表、源接口标识信息对应的源接口查询列表、目的接口标识信息对应的目的接口查询列表(如前述的第一目标信息查询列表、第二目标信息查询列表),这样,将防火墙规则转换成对应的查询列表,使规则处理节点上运行的所有虚拟机均可访问查询列表,提高了防火墙规则的部署效率。72.基于前述实施例,在本技术其他实施例中,步骤202c或步骤202e中的步骤“删除待调整防火墙规则对应的历史规则查询列表”可以由步骤b11~b13来实现:73.步骤b11、删除待调整防火墙规则中的源端口标识信息对应的历史查询列表。74.在本技术实施例中,在执行规则的删除操作时,首先将待调整防火墙规则中的源端口标识信息对应的历史查询列表进行删除。75.步骤b12、删除待调整防火墙规则中的目的接口标识信息、源ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息和目的端口标识信息分别对应的查询列表。76.在本技术实施例中,在删除源端口标识信息对应的历史查询列表后,再删除目的接口标识信息、源ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息和目的端口标识信息分别对应的查询列表,删除目的接口标识信息、源ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息和目的端口标识信息分别对应的查询列表没有删除的前后顺序要求,可以根据实际情况进行删除。77.步骤b13、删除动作规则信息对应的查询列表。78.在本技术实施例中,最后删除动作规则信息对应的规则查询列表。79.基于前述实施例,在本技术其他实施例中,参照图2所示,规则处理节点执行步骤202之后,还用于执行步骤203:80.步骤203、基于调整操作和待调整防火墙规则,更新会话表集合。81.在本技术实施例中,规则处理节点检测到调整操作和待调整防火墙规则,并基于调整操作和待调整防火墙规则进行相应的查询列表更新后,对规则处理节点中的会话(session)对应的会话表进行更新,以保证后续根据更新后的会话提供对应的防火墙防护服务。82.在一些应用场景中,针对会话表集合的更新操作还可以是定时来实现的,即定时扫描会话表集合,将会话表集合中超过设定的老化时间的会话删除。83.在一些应用场景中,定时会话表集合的更新操作和检测到防火墙规则调整后更新会话表集合可以组合应用,具体可以由实际情况来确定。84.基于前述实施例,在本技术其他实施例中,步骤203可以由步骤203a~203e来实现:85.步骤203a、若调整操作为增加规则操作,或若调整操作为修改规则操作,且待调整防火墙规则对应的修改前的源接口和修改前的目的接口均为ip类型、和/或修改后的源接口和修改后的目的接口均为ip类型,确定待遍历会话集合。86.在本技术实施例中,在调整操作为增加规则操作时,确定待遍历会话集合。在调整操作为修改规则操作时,若待调整防火墙规则中修改前的源接口和修改前的目的接口均为ip类型,或待调整防火墙规则中修改后的源接口和修改后的目标接口均为ip类型,或待调整防火墙规则中修改前的源接口和修改前的目的接口均为ip类型、和待调整防火墙规则中修改后的源接口和修改后的目标接口均为ip类型,确定待遍历会话集合。87.步骤203b、若待遍历会话集合中包括优先级高于待调整防火墙规则的第一目标规则对应的第一会话表,确定第一会话表包括的待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息。88.在本技术实施例中,若待遍历会话集合中不包括优先级高于待调整防火墙规则的第一目标规则对应的第一会话表,不进行后续操作。在待遍历会话集合中确定得到优先级高于待调整防火墙规则的第一目标规则时,确定第一目标规则对应的第一会话表,从第一会话表中确定得到待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息。89.步骤203c、若待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息分别与待调整防火墙规则的源ip信息、目的ip信息、协议标识信息、源端口信息和目的端口信息匹配,确定待调整防火墙规则信息的动作规则信息。90.在本技术实施例中,在第一会话表中的待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息分别与待调整防火墙规则的源ip信息、目的ip信息、协议标识信息、源端口信息和目的端口信息匹配的情况下,确定待调整防火墙规则信息中的动作规则信息。91.步骤203d、若动作规则信息指示为丢弃动作,删除第一会话表。92.步骤203e、若动作规则信息指示为允许动作,基于目标规则标识信息,更新第一会话表。93.在本技术实施例中,在动作规则信息指示为允许动作时,将第一会话表中的数值更新为目标规则标识信息,实现第一会话表的更新过程。94.基于前述实施例,在本技术其他实施例中,步骤203还可以由步骤203f~203g来实现:95.步骤203f、若调整操作为删除规则操作,确定待遍历会话集合。96.步骤203g、若待遍历会话集合中存在规则标识信息与目标规则标识信息相同的规则对应的第二会话表,删除第二会话表。97.在本技术实施例中,若待遍历会话集合中不存在规则标识信息与目标规则标识信息相同的规则对应的第二会话表,不进行后续操作。在待遍历会话集合中确定得到与目标规则标识信息相同的规则对应的第二会话表时,直接将第二会话表删除。98.基于前述实施例,在本技术其他实施例中,在调整规则为增加规则操作或删除规则操作的情况下,步骤203a和步骤203f中的“确定待遍历会话集合”可以由步骤c11~c12来实现:99.步骤c11、若待调整防火墙规则中的源ip信息类型和目的ip信息类型均为ip地址类型,获取待调整防火墙规则中的源接口标识信息对应的会话表和待调整防火墙规则中的目的接口标识信息对应的会话表,得到待遍历会话集合。100.步骤c12、若待调整防火墙规则中的源ip信息类型和目的ip信息类型至少一个为虚拟机类型,获取目标虚拟机的接口标识信息对应的会话表,得到待遍历会话集合。101.其中,目标虚拟机由待调整防火墙规则中的源ip信息和/或目的ip信息指定。102.基于前述实施例,在本技术其他实施例中,步骤203还可以由步骤203h~203n来实现:103.步骤203h、若调整操作为修改规则操作,且待调整防火墙规则对应的修改前的源接口和修改前的目的接口中至少一个为虚拟机类型、或修改后的源接口和修改后的目的接口中至少有一个为虚拟机类型,基于待调整防火墙规则,确定需删除的待删除会话集合和需增加的待增加会话集合。104.其中,会话表集合包括待删除会话集合和待增加会话集合。105.在本技术实施例中,在调整规则为修改规则操作时,由于待调整防火墙规则对应的修改前的源接口和修改前的目的接口中至少一个为虚拟机类型、或修改后的源接口和修改后的目的接口中至少有一个为虚拟机类型,因此,此时待调整防火墙规则包括修改前的防火墙规则和修改后的防火墙规则,这样,对待调整防火墙规则进行分析,可以确定得到需要删除的待删除会话集合和需增加的待增加啊会话集合。106.步骤203i、若待删除会话集合不为空,更新调整操作为删除规则操作。107.步骤203j、确定待遍历会话集合为待删除会话集合。108.步骤203k、基于删除规则操作和待遍历会话集合,更新会话表集合。109.在本技术实施例中,步骤203k的具体实现过程可以参照步骤203g来实现,此处不再详细赘述。110.步骤203l、若待增加会话集合不为空,更新调整操作为增加规则操作。111.步骤203m、确定待遍历会话集合为待增加会话集合。112.步骤203n、基于增加规则操作和待增加会话集合,更新会话表集合。113.在本技术实施例中,步骤203n具体可以参照步骤203b~203e的实现过程来实现,此处不再详细赘述。114.基于前述实施例,在本技术其他实施例中,参照图3所示,规则处理节点还用于执行步骤204~209:115.步骤204、若检测到目标数据包,确定目标数据包的数据收发方向为目标方向。116.在本技术实施例中,目标数据包可以是规则处理节点中运行的参考虚拟机接收到的数据包,也可以是参考虚拟机需要发出的数据包。目标数据包的数据收发方向可以是虚拟机数据接收方向,具体可以用发送数据的第一虚拟机发送目标数据包至参考虚拟机来表示,也可以是虚拟机数据发送方向,具体可以用参考虚拟机发送目标数据至接收数据的第二虚拟机来表示。117.步骤205、解析目标数据包,确定目标数据包的第一目标元组信息。118.在本技术实施例中,对目标数据包进行解析处理,从中确定目标数据包对应的第一目标元组信息。第一目标元组信息至少包括接口标识信息、源ip标识信息、目的ip标识信息、协议标识信息、源端口标识信息和目的端口信息,此处的接口标识信息用于标识参考虚拟机接收到或发送目标数据包的接口的标识信息。119.在一些应用场景中,若目标数据包是分片报文,且是分片报文的第一个数据包,则以第一目标元组信息中的源ip标识信息、目的ip标识信息、目标数据包的ip头中身份标识信息、接口标识信息为关键字,数值为源端口标识信息和目的端口标识信息来更新到分片报文的存储映射表(map)例如为最近最少使用算法(leastrecentlyused,lru)映射表中,这样,后续对应的分片报文可以根据存储映射表中存储的关键字查对应的分片报文的map,来获取得到对应的数值即源端口标识信息和目的端口标识信息,以便快速对后续的报文数据进行处理。120.步骤206、查与第一目标元组信息匹配的目标会话,得到查询结果。121.在本技术实施例中,将第一目标元组信息与目标会话对应的会话表进行匹配处理,如果存在与第一目标元组信息匹配的会话表,则确定查询结果为存在目标会话,否则不存在目标会话。122.其中,规则处理节点执行步骤206之后,可以选择执行步骤207,也可以选择执行步骤208。123.步骤207、若查询结果为存在目标会话,更新目标会话对应的目标会话表。124.在本技术实施例中,在查询结果为存在目标会话时,对目标会话对应的目标会话表中的老化时间进行更新。125.步骤208、若查询结果为不存在目标会话,基于目标方向和第一目标元组信息,得到目标会话对应的目标会话表。126.在本技术实施例中,在查询结果为不存在目标会话时,对目标方向和第一目标元组信息进行分析,生成目标会话对应的目标会话表,或更新目标会话具有关联关系的目标会话表。127.步骤209、基于目标会话,执行针对目标数据包的处理操作。128.在本技术实施例中,根据确定得到的目标会话,对目标数据包进行对应的防火墙规则保护或防火墙过滤处理,实现对目标数据包的处理。129.需说明的是,步骤204~209可以在之前任意一个步骤前执行,也可以作为一个独立实施例执行。130.基于前述实施例,在本技术其他实施例中,步骤208可以由步骤208a~208g来实现:131.步骤208a、确定第一目标元组信息中的参考接口标识信息对应的第一参考会话表。132.步骤208b、确定第一目标元组信息中除参考接口标识信息外的信息,得到第二目标元组信息。133.步骤208c、将第二目标元组信息与第一参考会话表进行匹配处理,得到第一匹配结果。134.在本技术实施例中,步骤208c可以称为正向匹配处理过程。135.步骤208d、若第一匹配结果为匹配成功,更新第一参考会话表的老化时间,得到目标会话表。136.步骤208e、若第一匹配结果为未匹配成功,对第一参考会话表中的ip方向参数和端口方向参数进行转换处理,得到第二参考会话表。137.在本技术实施例中,在第一匹配结果为未匹配成功时,对第一参考会话表中的ip方向参数和端口方向参数进行转换处理,转换处理过程可以为:如果ip方向参数表示源ip标识信息和目的ip标识信息不相等,则对ip方向参数进行取反处理,例如ip方向参数记为ipdir时,若ipdir为0,表示源ip标识信息和目的ip标识信息不相等,则对ipdir进行取反处理得到ipdir为1;若ipdir为1,表示源ip标识信息和目的ip标识信息不相等,则对ipdir进行取反处理得到ipdir为0。其中,端口方向参数的转换处理过程可以参照ip方向参数的转换处理过程,此处不再详细描述。138.步骤208f、将第二目标元组信息与第二参考会话表进行匹配处理,得到第二匹配结果。139.在本技术实施例中,步骤208f可以称为反向匹配过程。140.步骤208g、基于第二匹配结果和目标方向,得到目标会话对应的目标会话表。141.在本技术实施例中,对第二匹配结果和目标方向进行目标会话的建立或更新,得到目标会话对应的目标会话表。142.基于前述实施例,在本技术其他实施例中,步骤208g可以由步骤d11~d13来实现:143.步骤d11、若第二匹配结果为匹配成功,更新第一参考会话表的查时间,得到目标会话表。144.步骤d12、更新第一参考会话表的数据收发方向为与目标方向相反的参考方向。145.在本技术实施例中,若目标方向为第一虚拟机发送目标数据包至参考虚拟机,即更新第一参考会话表的数据收发方向为参考虚拟机发送目标数据包至第一虚拟机。146.步骤d13、若第二匹配结果为匹配失败,基于第一目标元组信息,新建目标会话,得到目标会话表。147.在本技术实施例中,在正向匹配和反向匹配均失败时,确定当前没有与目标数据包对应的目标会话,因此,需新建与目标数据包对应的目标会话,新建目标会话的实现过程可以参照步骤203a~203e的实现过程,此处不再详细赘述。148.基于前述实施例,本技术实施例提供一种规则处理方法,该规则处理方法的一种应用场景可以参照图4所示,包括用户、中央控制器和至少一个本地控制器,其中,中央控制器与前述中央控制节点对应,本地控制器与前述规则处理节点对应,本地控制器中运行有多个虚拟机。用户在中央控制器侧进行防火墙规则配置,配置的一种界面可以参照图5所示,图5所示配置内容中至少包括防火墙规则的优先级、名称、源表示源ip标识信息、目的表示目标ip标识信息、服务、动作表示动作规则标识信息等。149.图4所示的场景中,用户基于图5所示界面,对中央控制器进行防火墙规则配置后,中央控制器根据图5中配置的源和目的将用户配置的防火墙规则下发到对应的集节点所在的本地控制器上。中央控制器下发防火墙规则时,可以根据以下情况来进行分发:源和目的都指定为虚拟机类型,且源和目的指定的虚拟机都在同一本地控制器上时,将防火墙规则发送到源和目的指示的虚拟机所在的本地控制器上;源和目的都指定为虚拟机类型,且源和目的指定的虚拟机不在同一本地控制器上时,将防火墙规则按照指示的虚拟机所在的多个本地控制器进行拆分,将并将防火墙规则发送到源和目的指示的虚拟机所在的多个本地控制器上;源和目的都指定为ip地址类型时,将防火墙规则发送到集中所有主机的本地控制器上;源和目的中有一个指定为ip地址类型,另一个指定为虚拟机类型,且指定的所有虚拟机都在同一本地控制器上时,将防火墙规则下发到所有虚拟机所在的本地控制器上;源和目的中有一个指定为ip地址类型,另一个指定为虚拟机类型,且指定的所有虚拟机不在同一本地控制器上时,将防火墙规则按照不同虚拟机所在本地控制器进行拆分,并将对应的防火墙规则下发到不同虚拟机对应的不同本地控制器上。150.本地控制器接收到中央控制器发送的防火墙规则后,本地控制器可以采用ebpf应用程序来实现对应的规则处理方法,即本地控制器通过ebpf应用程序本地控制器对防火墙规则进行解析,将防火墙规则转换成十元组信息,十元组信息包括:源接口标识组、源ip组、目的接口标识组、目的ip组、协议组、源端口组、目的端口组、规则标识信息、动作规则信息、状态信息等。其中,源接口标识组和目的接口标识组,以及源ip组和目的ip组是由图5中所示的源和目的配置内容转换得到的,示例性的,若图5中所示的源或目的指定为虚拟机或虚拟机组时,可以将设置的虚拟机信息转换为虚拟机接口ip组和虚拟机接口标识组其中,该虚拟机接口标识组可以为内核中对应虚拟机接口的标识信息;若图5中所示的源或目的指定为ip组的形式,则将ip组对应的接口标识组设置为0,表示通配。示例性的,假设本地控制器收到如下表所示的规则:151.下发主机源目的服务动作状态优先级主机1ip组1虚拟机1协议端口允许启用2152.则本地控制器对上述表中的规则进行转换得到的十元组信息可以如下表所示:[0153][0154]其中,ip组2是虚拟机1中所有接口的ip组合,id1、id2...表示虚拟机1的接口标识。[0155]本地控制器将上述转换得到的十元组信息更新本地控制器中的查询列表集合。其中,查询列表集合可以包括8种类型的列表元素,示例性的可以参照图6所示,包括:源接口哈希列表(map)、目的接口哈希列表、源ip标识列表、目的ip标识列表、协议哈希列表、目的端口哈希列表、源端口哈希列表、动作规则矩阵列表。其中,图6中每个列表中均只示例性的列出了两组不同关键字-数值对象,在实际应用过程中,每个列表中的关键字-数值对象的数量由实际情况决定,此处不做具体限定。图6所示的查询列表集合是本地控制器中所有虚拟机均可访问的共享列表集合。在图6所示的列表中,源ip标识列表和目的ip标识列表的类型为链路管理器协议(linkmanagerprotocol,lmp)哈希(hash)列表(map)类型,对应的关键字key为ip组中的ip信息和掩码,数值value为位图(bitmap)形式的值,每一位代表对应的规则标识;端口和协议的map可以是hashmap类型,对应的key为端口或协议号,value为bitmap形式的值,每一位代表对应的规则标识;动作(action)规则的map可以是阵列(array)类型,对应的key为规则标识,value为动作规则(例如允许1或丢弃0)。[0156]本地控制器将上述转换得到的十元组信息更新本地控制器中的查询列表集合的具体过程如下:针对源接口标识组,将源接口标识组中的源接口标识更新到源接口的hashmap中时,如果源接口标识组中包含多个接口标识,则以每个接口标识作为key,来更新源接口的hashmap对应的map。具体更新过程为:以源接口标识作为key,若从查询列表集合的源接口hashmap中获取到对应的value,且规则标识对应value中的位已经被设置为1,则不需要更新,否则将规则标识对应的value中的位设置为1,其他位不变;若从查询列表集合的源接口hashmap中未获取到对应的value,则以源接口标识为key,规则标识对应的bitmap位设置1创建对应的key-value键值对,并存储至源接口hashmap中。示例性的,假设源接口标识组包含两个接口,分别为源接口1和源接口2,对应的规则标识为2时,更新前后的hashmap可以如下表所示:[0157][0158]如果收到的源或目的是ip组,确定源接口标识为0,则将源接口hashmap中所有key对应value中的规则标识对应的位都置为1。其中,协议和端口的更新过程与上述源接口的更新过程与一样,此处不再详细描述。[0159]针对动作规则的更新过程为:以规则标识信息作为key,action转换为value,更新动作规则矩阵列表。[0160]针对ip地址的更新(即源ip标识列表和目的ip标识列表)时,存在如下情况:(1)十元组信息中的ip地址是查询列表集合中包括的其他规则的最小集;(2)十元组信息中的ip地址全为0,即通配的情况时。针对(1),更新最小集的位,例如查询列表集合中存在规则1,其源ip配置为192.168.0.0/16,十元组信息中的规则2的源ip为192.168.1.0/24,则提取到最小集为192.168.1.0/24,因此,以最小集192.168.1.0/24为key,value为110,表示该ip地址范围被规则1和规则2都使用,后续有192.168.1.0网段报文匹配时根据最长掩码匹配从而得到value为110,即匹配上规则1和规则2。针对(2),将更新前所有key的value中对应的新规则标识对应的位都更新为1,且新增加一条key为0,value为当前规则id对应的value值的表项,例如更新前存在规则1和规则2,新增加的规则为规则3,规则3对应的ip地址为0,则map表变化如下:[0161]keyvalue更新前192.168.1.0/2410更新前192.168.2.0/26100更新后0.0.0.0/0100更新后192.168.1.0/241010更新后192.168.2.0/261100[0162]需说明的是,在更新图6中的各列表时,针对不同更新操作的要求可以为:如果是添加新的防火墙规则,先更新action的map,再更新其他map;如果是删除防火墙规则,则先删除防火墙规则指示的源端口标识对应的map表项,再删除其他匹配字段的map表项,最后删除action的map表项;如果是修改防火墙规则,则将修改防火墙规则转换为添加规则和删除规则,先按照添加规则的处理流程来更新map表,再按照删除规则的处理方式删除对应的旧的map表。[0163]本地控制器采用上述方法针对接收到的防火墙规则进行map表更新后,通知会话(session)扫描线程,进行session重扫描,使用最新添加的防火墙规则来过滤已经创建的session,如果有session匹配上新的防火墙规则,且新的防火墙规则优先级高于session创建时匹配的规则优先级,且新规则是丢包处理时,则将该session删除。[0164]每一session可以采用会话表(sessionmap)来记录,sessionmap的表组织形式可以参照图7所示,每一个接口对应连接一个map。sessionmap中key的组织形式可以如下表所示:[0165][0166]上表中,ip1用于表示报文中源ip和目的ip中较小的一个;ip2用于表示报文中源ip和目的ip中较大的一个;ipdir用于表示报文的源ip是否大于目的ip,如果报文中源ip小于目的ip时,ipdir为0;如果源ip大于目的ip,则ipdir为1;如果源ip和目的ip相等,则ipdir为2;portdir用于表示报文的源端口号是否大于目的端口号,如果报文中源端口号小于目的端口号时,portdir为0;如果源端口号大于目的端口号,则portdir为1;如果源端口号和目的端口号相等,则portdir为2。示例性的,若收到报文a(源ip:1.1.1.2,目的ip:1.1.10.1,协议号:7,源端口:12,目的端口:10),则新建session时,其session表项中的key为:ip1为1.1.1.2,ip2为1.1.10.1,协议号为7,port1为10,port2为12,ipdir为0,portdir为1;若收到报文b(源ip:1.1.10.2,目的ip:1.1.10.1,协议号:7,源端口122,目的端口:5000),则新建session时,其session表项中的key为:ip1为1.1.10.1,ip2为1.1.10.2,协议号为7,port1为122,port2为5000,ipdir为1,portdir为0;若收到报文c(源ip:1.1.10.2,目的ip:1.1.10.1,协议号:7,源端口:5000,目的端口:5000),则新建session时,其session表项中的key为:ip1为1.1.10.1,ip2为1.1.10.2,协议号为7,port1为5000,port2为5000,ipdir为1,portdir为2。[0167]对应的,sessionmap中value的组织形式可以如下表所示:[0168]匹配上的规则id老化时间匹配上的规则id老化时间[0169]针对新建防火墙规则时session的扫描匹配流程为:遍历新建防火墙规则中源接口和目的接口对应的session表,如果防火墙规则中源接口和目的接口都配置的ip地址,则对本地控制器所有接口的session表进行遍历扫描匹配;如果防火墙规则中源接口和目的接口有一个配置的虚拟机或虚拟机组,则对配置的虚拟机对应的接口session表进行遍历扫描。其中,对对应的接口session表进行遍历扫描匹配的过程可以为:如果存在session表项中value的规则标识大于添加的防火墙规则标识(其中,规则标识越小,优先级越高),则将session表项中key(6元组)转换为报文源ip、目的ip、协议、源端口和目的端口的形式,将转换后的参数与新添加的防火墙规则中的源ip、目的ip、协议、源端口和目标端口分别进行对应的匹配;如果匹配成功,则确定新添加的防火墙规则的action是丢弃还是允许,如果是丢弃,则删除session表项;如果是允许,则更新当前session表项中value的规则标识为新添加的防火墙规则的规则标识。[0170]针对删除防火墙规则时session扫描匹配流程为:遍历删除防火墙规则中源接口和目的接口对应的session表,如果防火墙规则中源和目的都配置的ip地址,则对本地控制器的所有接口的session表进行遍历扫描匹配;如果防火墙规则中源和目的有一个配置的虚拟机或虚拟机组,则对配置的所有虚拟机对应的接口session表进行遍历扫描匹配。其中,对对应的接口session表进行遍历扫描匹配的过程为:如果存在session表项中value的规则标识与删除的防火墙规则的标识一样,则直接删除该session表项;如果存在session表项中value的规则id小于和大于删除的防火墙规则id,则不处理。[0171]针对修改防火墙规则的扫描匹配流程为:如果修改前和修改后的防火墙规则的源和目的都是ip类型,即修改前源和目的都是ip类型的、修改后源和目的也都是ip类型时,则对本地控制器的所有接口的session表进遍历扫描匹配,具体过程可以参照前述针对新建防火墙规则时session的遍历扫描匹配过程,此处不再详细赘述。[0172]如果修改前和修改后防火墙规则中源和目的中有一个都是ip类型,即修改前源和目的都是ip类型,或修改后源和目的都是ip类型,则对本地控制器的所有接口的session表进行遍历扫描匹配,具体过程可以参照前述针对新建防火墙规则时session的遍历扫描匹配过程,此处不再详细赘述。[0173]如果修改前防火墙的源和目的至少一个包含虚拟机类型,或修改后防火墙规则的源和目的至少一个包含虚拟机类型,则可以确定得到三种虚拟机对应的接口列表:修改前和修改后对比后减少的接口列表,不变的接口列表,新增加的接口列表;针对减少的接口列表,匹配流程和删除防火墙规则session匹配流程一样;针对新增加的接口列表,匹配流程和新建防火墙规则时的匹配流程一样;针对修改的接口列表,遍历session表时,如果存在session表项中value的规则标识大于或等于(规则标识越小,优先级越高)修改后的防火墙规则标识,则将session表项中key转换为报文源ip、目的ip、协议、源端口和目的端口的形式,将转换后的参数与修改后的防火墙规则源ip、目的ip、协议、源端口和目的端口进行匹配,如果匹配成功,则看修改后的防火墙规则的action是丢弃还是允许,如果是丢弃,则删除session表项;如果是允许,如果session表项中规则标识和修改的规则标识一样,则不处理,否则更新当前session表项中value的规则标识为修改的规则标识。[0174]针对session扫描,还可以设置定时扫描的方式,来遍历本地控制器对应的所有session表项,匹配session表项中老化时间是否大于当前时间,如果大于当前时间,则删除当前session表项。[0175]本地控制器针对数据包的处理流程可以参照图8所示:[0176]步骤e11、本地控制器检测到数据包,对数据包进行解析处理,提取报文六元组信息。[0177]其中,当数据包到达本地控制器的内核终端(terminalcomputer,tc)的钩子(hook)点时,根据hook点来确定数据包的收发方向,比如数据包为虚拟机发送方向时,可以使用0表示,数据包为虚拟机接收方向,可以使用1表示,并对数据包的收发方向进行保存,例如可以将其保存到skb-》cb的第1个字段中。[0178]本地控制器进行报文解析处理,提取到报文六元组信息,依次可以为接口标识、源ip、目的ip、协议、源端口、目的端口。[0179]需说明的是,如果数据包是分片报文,且是分片报文的第一个包,则以源ip、目的ip、数据包ip头中id、接口标识为key,value为源端口和目的端口来更新到分片的map中,以便后续检测到的其他分片报文后,根据源ip、目的ip、ip头中id、接口id查到分片的map,来获取源端口和目的端口,实现快速的报文分片分发。[0180]步骤e12、根据报文六元组信息中的接口信息匹配对应的会话表,然后将报文六元组信息中除接口信息外的报文五元组信息进行匹配处理,得到匹配结果。[0181]其中,将报文六元组信息中的报文五元组(源ip、目的ip、协议、源端口、目的端口)转换为session的key,进行session的匹配,得到匹配结果;如果匹配成功,确定匹配结果为匹配成功,则说明报文方向和新建session表项时的方向一样(说明是正向的匹配),设置skb-》cb第二个字段为0,将报文五元组信息转换为session的key,查到对应session表项,此时只更新session表的老化时间;如果匹配失败,则将当前接口对应的sessionmap表中的ipdir和portdir进行转换,转换规则为:如果ipdir不为2,即源ip和目的ip不相等,则ipdir=!ipdir(如果未匹配成功时ipdir为0,则使ipdir变成1;如果未匹配成功时ipdir为1,则使ipdir变成0);portdir转换规则和ipdir转换规则一样,此处不再详细描述;根据转换后的session的key与报文五元组再次进行session匹配(可以理解为反方向的匹配),如果匹配成功,确定匹配结果为匹配成功,设置skb→cb第二个字段为2,根据转换后的key进行session匹配(可以理解为反方向的匹配),更新查到的session表项的时间戳;如果ipdir和portdir进行转换后匹配失败,确定匹配结果为匹配失败。[0182]步骤e13、匹配结果为匹配失败时,根据数据收发方向和报文六元组信息,得到会话表。[0183]其中,(1)匹配结果为匹配失败时,确定数据包的收发方向即skb→cb中第一个字段保存的值。(2)若数据包的收发方向是虚拟机发送方向,则根据当前虚拟机接口标识匹配源接口标识对应的规则查询列表;若匹配失败,则直接返回,退出ebpf程序流程,直接走内核协议栈;如果匹配成功,则将查到的源接口标识对应的规则查询列表中的value值保存到当前中央处理器的全局位查询列表(bitmap)中,例如可以记为per_value。(3)若数据包的收发方向是虚拟机接收方向,则根据当前虚拟机接口id匹配目的接口标识对应的规则查询列表,若匹配失败,则直接返回,退出ebpf程序流程;如果匹配成功,则将查到的目标接口标识对应的规则查询列表中的value值保存到当前中央处理器的全局bitmap表中,例如可以记为per_value。(4)在源接口标识匹配成功的情况下或目的接口标识匹配成功的情况下,对报文六元组信息中的报文五元组信息进行匹配,匹配流程统一如下:根据提取的ip信息、协议或端口,进行对应的规则列表的匹配,匹配成功后,将对应的value与per_value进行按位与操作,来更新per_value的值,其中,当五元组都匹配完成后,per_value中每一位就表示当前数据包所能匹配上的规则标识。(5)提取更新后的per_value中最小的被置为1的一位,得到规则标识,示例性的,如果per_value为11100,则从低位到高位从0开始标识规则标识,可以确定最小的被置为1的一位是第2位,因此,可以确定规则标识为2。(6)根据提取的规则标识查当前接口对应的actionmap表,获取action,根据action是允许还是丢包;如果是丢弃,则直接进行报文的丢弃;如果是允许,创建新的会话表。[0184]步骤e14、匹配结果为匹配成功时,更新会话表的老化时间。[0185]示例性的,若存在如下表所示的防火墙规则对应的十元组信息(其中状态信息未示出):[0186][0187]这样,基于上表可以得到对应的源接口哈希列表key-value记为:12-110;对应的源ip标识列表key-value记为:1.1.1.0/24-010,2.2.2.0/24-100;对应目的接口哈希列表key-value记为:18-010,9-100;对应目的ip标识列表key-value记为:1.1.1.0/24-010,2.2.1.0/24-100;对应协议哈希列表key-value记为:16-010,17-100;对应的源端口哈希列表key-value记为:12-010,1000-100;对应目的端口标识列表的key-value记为:2000-110;对应动作规则矩阵列表的key-value记为:1-1,2-0。这样,基于上述查询规则列表,以虚拟机vma将报文a发送至虚拟机vmb时的规则处理方法的实现流程可以如下所示:[0188]1、当vma到vmb的报文a(1.1.1.1:12‑→1.1.1.2:2000,协议16)从接口12发送出去时,vma确定报文的发送方向,设置skb→[0]为0;[0189]2、经过防火墙规则提取报文a的六元组信息;[0190]3、查接口标识为12的session表。[0191]其中,先提取得到正向session表项的key如下表所示,进行session表项查:[0192]ip1ip2协议port1port2ipdirportdir1.1.1.11.1.1.2161212200[0193]由于是新的报文a,所以正向匹配不上,此时需进行反向的session表项的查,对应的,反向查时的key如下表所示:[0194]ip1ip2协议port1port2ipdirportdir1.1.1.11.1.1.2161212211[0195]此时仍然查不到,因此设置skb→cb[1]为1,用于表示需要新建session表项。[0196]4、新建session表项的过程为:接口匹配,由于skb→cb[0]为0,因此根据接口标识12来查源接口哈希列表,得到value值110,将其保存到per_value中;接着进行源ip标识列表的匹配,得到value值010,与per_value计算后更新per_value为010;接下来匹配目的ip标识列表、协议哈希列表、源端口哈希列表和目的端口哈希列表,将最终结果更新per_value为010;提取pre_value中最小的位为规则标识1;查规则标识1对应的动作规则信息,得到value为1,表示允许;[0197]5、根据skb→cb[1]的值来判断是新建session表项还是更新session表项:由于skb→cb[1]为1,因此根据报文五元组新建session表项,其中session表项的key可以如下表所示,value中状态为new、规则id为当前匹配的规则id1以及老化时间(比如200s,根据不同协议进行自定义设置)。[0198]ip1ip2协议port1port2ipdirportdir1.1.1.11.1.1.2161212200[0199]需要说明的是,本实施例中与其它实施例中相同步骤或概念的解释可以参考其它实施例中的描述,此处不再赘述。[0200]本技术的实施例提供的规则处理方法,若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则,并基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。这样,规则处理节点通过调整操作和待调整防火墙规则更新规则处理节点对应的查询列表集合,通过查询列表集合来实现防火墙规则的管理,解决了目前dfw规则的数量增加时,导致计算机的运行负荷增大的问题,提出了一种对dfw规则发生变化时,对dfw规则进行处理的方法,降低了计算机的运行负荷,保证了计算机设备的传输性能,有效缩短了传输数据流量的时延。[0201]基于前述实施例,本技术实施例提供一种规则处理设备3,该规则处理设备3可以应用于图1~3对应的实施例中,参照图9所示,该规则处理设备3包括:存储器31、处理器32和通信总线33;其中:[0202]存储器31,用于存储可执行指令;[0203]通信总线33,用于实现处理器和存储器之间的通信连接;[0204]处理器32,用于执行存储器中存储的规则处理程序,以实现以下步骤:[0205]若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则;[0206]基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合;其中,查询列表集合中包括根据规则处理节点接收到的中央控制节点发送的防火墙规则生成的查询列表。[0207]在本技术其他实施例中,处理器执行步骤基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合时,可以通过以下步骤来实现:[0208]解析待调整防火墙规则,确定待调整防火墙规则对应的目标十元组信息;其中,目标十元组信息至少包括:动作规则信息、源接口标识信息、目的接口标识信息、源网际互连协议ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息、源端口标识信息和目的端口标识信息;[0209]若调整操作为修改规则操作,基于目标十元组信息,生成待调整防火墙规则对应的目标查询列表;其中,查询列表集合包括目标查询列表;[0210]删除待调整防火墙规则对应的历史规则查询列表;其中,历史规则查询列表属于查询列表集合;[0211]若调整操作为增加规则操作,基于目标十元组信息,生成待调整防火墙规则对应的目标查询列表;其中,查询列表集合包括目标查询列表;[0212]若调整操作为删除规则操作,删除待调整防火墙规则对应的历史规则查询列表;其中,历史规则查询列表属于查询列表集合。[0213]在本技术其他实施例中,处理器执行步骤基于目标十元组信息,生成待调整防火墙规则对应的目标查询列表时,可以通过以下步骤来实现:[0214]若查询列表集合中包括以待调整防火墙规则的目标规则标识信息为关键字的历史规则查询列表,基于动作规则信息更新历史规则查询列表中的数值,得到第一规则查询列表;其中,目标查询列表包括第一规则查询列表;[0215]若查询列表集合中不包括以目标规则标识信息为关键字的历史规则查询列表,以目标规则标识信息为关键字,动作规则信息为数值,生成第二规则查询列表;其中,目标查询列表包括第二规则查询列表;[0216]若确定查询列表集合的目标历史ip查询列表中的关键字和目标ip信息中存在最小集,基于最小集更新目标历史ip查询列表中的关键字,基于目标规则标识信息更新目标历史ip查询列表中的数值,得到第一ip查询列表;其中,目标ip信息至少为源ip信息或目的ip信息,目标查询列表包括第一ip查询列表;[0217]若目标ip信息为参考ip信息,基于目标规则标识信息更新查询列表集合中所有历史ip查询列表中的数值,得到第二ip查询列表;其中,目标查询列表包括第二ip查询列表;[0218]若确定查询列表集合中不存在目标历史ip查询列表,且目标ip信息不是参考ip信息,以目标ip信息为关键字,目标规则标识信息为数值,生成第三ip查询列表;其中,目标查询列表包括第三ip查询列表;[0219]若确定查询列表集合中包括目标标识信息对应的参考信息查询列表,基于目标规则标识信息更新参考信息查询列表中的数值,得到第一目标信息查询列表;其中,目标标识信息为源端口标识信息、目的端口标识信息、协议标识信息、源接口标识信息或目的接口标识信息,目标查询列表包括第一目标信息查询列表;[0220]若确定查询列表集合中不包括参考信息查新列表,以目标标识信息为关键字,目标规则标识信息为数值,生成第二目标信息查询列表;其中,目标查询列表包括第二目标信息查询列表。[0221]在本技术其他实施例中,处理器执行步骤删除待调整防火墙规则对应的历史规则查询列表时,可以通过以下步骤来实现:[0222]删除待调整防火墙规则中的源端口标识信息对应的历史查询列表;[0223]删除待调整防火墙规则中的目的接口标识信息、源ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息和目的端口标识信息分别对应的查询列表;[0224]删除动作规则信息对应的查询列表。[0225]在本技术其他实施例中,处理器执行步骤基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合之后,还用于执行以下步骤:[0226]基于调整操作和待调整防火墙规则,更新会话表集合。[0227]在本技术其他实施例中,处理器执行步骤基于调整操作和待调整防火墙规则,更新会话表集合时,可以通过以下步骤来实现:[0228]若调整操作为增加规则操作,或若调整操作为修改规则操作,且待调整防火墙规则对应的修改前的源接口和修改前的目的接口均为ip类型、和/或修改后的源接口和修改后的目的接口均为ip类型,确定待遍历会话集合;[0229]若待遍历会话集合中包括优先级高于待调整防火墙规则的第一目标规则对应的第一会话表,确定第一会话表包括的待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息;[0230]若待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息分别与待调整防火墙规则的源ip信息、目的ip信息、协议标识信息、源端口信息和目的端口信息匹配,确定待调整防火墙规则信息的动作规则信息;[0231]若动作规则信息指示为丢弃动作,删除第一会话表;[0232]若动作规则信息指示为允许动作,基于目标规则标识信息,更新第一会话表;其中,目标规则标识信息用于标识待调整防火墙规则。[0233]在本技术其他实施例中,处理器执行步骤基于调整操作和待调整防火墙规则,更新会话表集合时,还可以通过以下步骤来实现:[0234]若调整操作为删除规则操作,确定待遍历会话集合;[0235]若待遍历会话集合中存在规则标识信息与目标规则标识信息相同的规则对应的第二会话表,删除第二会话表;其中,目标规则标识信息用于标识待调整防火墙规则。[0236]在本技术其他实施例中,在调整规则为增加规则操作或删除规则操作的情况下,处理器执行步骤确定待遍历会话集合时,可以通过以下步骤来实现:[0237]若待调整防火墙规则中的源ip信息类型和目的ip信息类型均为ip地址类型,获取待调整防火墙规则中的源接口标识信息对应的会话表和待调整防火墙规则中的目的接口标识信息对应的会话表,得到待遍历会话集合;[0238]若待调整防火墙规则中的源ip信息类型和目的ip信息类型至少一个为虚拟机类型,获取目标虚拟机的接口标识信息对应的会话表,得到待遍历会话集合;其中,目标虚拟机由待调整防火墙规则中的源ip信息和/或目的ip信息指定。[0239]在本技术其他实施例中,处理器执行步骤基于调整操作和待调整防火墙规则,更新会话表集合时,还可以通过以下步骤来实现:[0240]若调整操作为修改规则操作,且待调整防火墙规则对应的修改前的源接口和修改前的目的接口中至少一个为虚拟机类型、或修改后的源接口和修改后的目的接口中至少有一个为虚拟机类型,基于待调整防火墙规则,确定需删除的待删除会话集合和需增加的待增加会话集合;其中,会话表集合包括待删除会话集合和待增加会话集合;[0241]若待删除会话集合不为空,更新调整操作为删除规则操作;[0242]确定待遍历会话集合为待删除会话集合;[0243]基于删除规则操作和待遍历会话集合,更新会话表集合;[0244]若待增加会话集合不为空,更新调整操作为增加规则操作;[0245]确定待遍历会话集合为待增加会话集合;[0246]基于增加规则操作和待增加会话集合,更新会话表集合。[0247]在本技术其他实施例中,处理器还用于执行以下步骤:[0248]若检测到目标数据包,确定目标数据包的数据收发方向为目标方向;[0249]解析目标数据包,确定目标数据包的第一目标元组信息;[0250]查与第一目标元组信息匹配的目标会话,得到查询结果;[0251]若查询结果为存在目标会话,更新目标会话对应的目标会话表;[0252]若查询结果为不存在目标会话,基于目标方向和第一目标元组信息,得到目标会话对应的目标会话表;[0253]基于目标会话,执行针对目标数据包的处理操作。[0254]在本技术其他实施例中,处理器执行步骤若查询结果为不存在目标会话,基于目标方向和第一目标元组信息,得到目标会话对应的目标会话表时,可以通过以下步骤来实现:[0255]确定第一目标元组信息中的参考接口标识信息对应的第一参考会话表;[0256]确定第一目标元组信息中除参考接口标识信息外的信息,得到第二目标元组信息;[0257]将第二目标元组信息与第一参考会话表进行匹配处理,得到第一匹配结果;[0258]若第一匹配结果为匹配成功,更新第一参考会话表的老化时间,得到目标会话表;[0259]若第一匹配结果为未匹配成功,对第一参考会话表中的ip方向参数和端口方向参数进行转换处理,得到第二参考会话表;[0260]将第二目标元组信息与第二参考会话表进行匹配处理,得到第二匹配结果;[0261]基于第二匹配结果和目标方向,得到目标会话对应的目标会话表。[0262]在本技术其他实施例中,处理器执行步骤基于第二匹配结果和目标方向,得到目标会话对应的目标会话表时,可以通过以下步骤来实现:[0263]若第二匹配结果为匹配成功,更新第一参考会话表的查时间,得到目标会话表;[0264]更新第一参考会话表的数据收发方向为与目标方向相反的参考方向;[0265]若第二匹配结果为匹配失败,基于第一目标元组信息,新建目标会话,得到目标会话表。[0266]需要说明的是,本实施例中节点之间的信息交互过程可以参考前述方法实施例描述的信息交互过程,此处不再赘述。[0267]本技术的实施例所提供的规则处理设备,若接收到中央控制节点发送的防火墙规则调整指令,基于防火墙规则调整指令,确定调整操作和待调整防火墙规则,并基于调整操作和待调整防火墙规则,更新规则处理节点中对应的查询列表集合。这样,规则处理节点通过调整操作和待调整防火墙规则更新规则处理节点对应的查询列表集合,通过查询列表集合来实现防火墙规则的管理,解决了目前dfw规则的数量增加时,导致计算机的运行负荷增大的问题,提出了一种对dfw规则发生变化时,对dfw规则进行处理的方法,降低了计算机的运行负荷,保证了计算机设备的传输性能,有效缩短了传输数据流量的时延。[0268]基于前述实施例,本技术的实施例提供一种计算机可读存储介质,简称为存储介质,计算机可读存储介质存储有一个或者多个规则处理方法,一个或者多个规则处理方法可被一个或者多个处理器执行,以实现如图1~3对应的实施例提供的规则处理方法,此处不再赘述。[0269]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。[0270]上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。[0271]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,……,空调器,或者网络通信链接设备等)执行本技术各个实施例所描述的方法。[0272]本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0273]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0274]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0275]以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的

技术领域


:,均同理包括在本技术的专利保护范围内。当前第1页12当前第1页12

技术特征:


1.一种规则处理方法,其特征在于,所述方法应用于规则处理节点,所述规则处理节点运行有虚拟机设备,所述方法包括:若接收到中央控制节点发送的防火墙规则调整指令,基于所述防火墙规则调整指令,确定调整操作和待调整防火墙规则;基于所述调整操作和所述待调整防火墙规则,更新所述规则处理节点中对应的查询列表集合;其中,所述查询列表集合中包括根据所述规则处理节点接收到的所述中央控制节点发送的防火墙规则生成的查询列表。2.根据权利要求1所述的方法,其特征在于,所述基于所述调整操作和所述待调整防火墙规则,更新所述规则处理节点中对应的查询列表集合,包括:解析所述待调整防火墙规则,确定所述待调整防火墙规则对应的目标十元组信息;其中,所述目标十元组信息至少包括:动作规则信息、源接口标识信息、目的接口标识信息、源网际互连协议ip信息、目的ip信息、源接口标识信息、目的接口标识信息、协议标识信息、源端口标识信息和目的端口标识信息;若所述调整操作为修改规则操作,基于所述目标十元组信息,生成所述待调整防火墙规则对应的目标查询列表;其中,所述查询列表集合包括所述目标查询列表;删除所述待调整防火墙规则对应的历史规则查询列表;其中,所述历史规则查询列表属于所述查询列表集合;若所述调整操作为增加规则操作,基于所述目标十元组信息,生成所述待调整防火墙规则对应的目标查询列表;其中,所述查询列表集合包括所述目标查询列表;若所述调整操作为删除规则操作,删除所述待调整防火墙规则对应的历史规则查询列表;其中,所述历史规则查询列表属于所述查询列表集合。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标十元组信息,生成所述待调整防火墙规则对应的目标查询列表,包括:若所述查询列表集合中包括以所述待调整防火墙规则的目标规则标识信息为关键字的历史规则查询列表,基于所述动作规则信息更新所述历史规则查询列表中的数值,得到第一规则查询列表;其中,所述目标查询列表包括所述第一规则查询列表;若所述查询列表集合中不包括以所述目标规则标识信息为关键字的历史规则查询列表,以所述目标规则标识信息为关键字,所述动作规则信息为数值,生成第二规则查询列表;其中,所述目标查询列表包括所述第二规则查询列表;若确定所述查询列表集合的目标历史ip查询列表中的关键字和目标ip信息中存在最小集,基于所述最小集更新所述目标历史ip查询列表中的关键字,基于所述目标规则标识信息更新所述目标历史ip查询列表中的数值,得到第一ip查询列表;其中,目标ip信息至少为所述源ip信息或所述目的ip信息,所述目标查询列表包括所述第一ip查询列表;若所述目标ip信息为参考ip信息,基于所述目标规则标识信息更新所述查询列表集合中所有历史ip查询列表中的数值,得到第二ip查询列表;其中,所述目标查询列表包括所述第二ip查询列表;若确定所述查询列表集合中不存在所述目标历史ip查询列表,且所述目标ip信息不是所述参考ip信息,以所述目标ip信息为关键字,所述目标规则标识信息为数值,生成第三ip查询列表;其中,所述目标查询列表包括所述第三ip查询列表;
若确定所述查询列表集合中包括目标标识信息对应的参考信息查询列表,基于所述目标规则标识信息更新所述参考信息查询列表中的数值,得到第一目标信息查询列表;其中,所述目标标识信息为所述源端口标识信息、所述目的端口标识信息、所述协议标识信息、所述源接口标识信息或所述目的接口标识信息,所述目标查询列表包括所述第一目标信息查询列表;若确定所述查询列表集合中不包括所述参考信息查新列表,以所述目标标识信息为关键字,所述目标规则标识信息为数值,生成第二目标信息查询列表;其中,所述目标查询列表包括所述第二目标信息查询列表。4.根据权利要求2或3所述的方法,其特征在于,所述删除所述待调整防火墙规则对应的历史规则查询列表,包括:删除所述待调整防火墙规则中的所述源端口标识信息对应的历史查询列表;删除所述待调整防火墙规则中的所述目的接口标识信息、所述源ip信息、所述目的ip信息、所述源接口标识信息、所述目的接口标识信息、所述协议标识信息和所述目的端口标识信息分别对应的查询列表;删除所述动作规则信息对应的查询列表。5.根据权利要求1所述的方法,其特征在于,所述基于所述调整操作和所述待调整防火墙规则,更新所述规则处理节点中对应的查询列表集合之后,所述方法还包括:基于所述调整操作和所述待调整防火墙规则,更新会话表集合。6.根据权利要求5所述的方法,其特征在于,所述基于所述调整操作和所述待调整防火墙规则,更新会话表集合,包括:若所述调整操作为增加规则操作,或若所述调整操作为修改规则操作,且所述待调整防火墙规则对应的修改前的源接口和修改前的目的接口均为ip类型、和/或修改后的源接口和修改后的目的接口均为ip类型,确定待遍历会话集合;若所述待遍历会话集合中包括优先级高于待调整防火墙规则的第一目标规则对应的第一会话表,确定所述第一会话表包括的待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息;若所述待匹配源ip信息、待匹配目的ip信息、待匹配协议标识信息、待匹配源端口信息和待匹配目的端口信息分别与所述待调整防火墙规则的源ip信息、目的ip信息、协议标识信息、源端口信息和目的端口信息匹配,确定所述待调整防火墙规则信息的动作规则信息;若所述动作规则信息指示为丢弃动作,删除所述第一会话表;若所述动作规则信息指示为允许动作,基于目标规则标识信息,更新所述第一会话表;其中,所述目标规则标识信息用于标识所述待调整防火墙规则。7.根据权利要求5所述的方法,其特征在于,所述基于所述调整操作和所述待调整防火墙规则,更新会话表集合,还包括:若所述调整操作为删除规则操作,确定待遍历会话集合;若所述待遍历会话集合中存在规则标识信息与目标规则标识信息相同的规则对应的第二会话表,删除所述第二会话表;其中,所述目标规则标识信息用于标识所述待调整防火墙规则。8.根据权利要求6或7所述的方法,其特征在于,在所述调整规则为所述增加规则操作
或所述删除规则操作的情况下,所述确定待遍历会话集合,包括:若所述待调整防火墙规则中的源ip信息类型和目的ip信息类型均为ip地址类型,获取所述待调整防火墙规则中的源接口标识信息对应的会话表和所述待调整防火墙规则中的目的接口标识信息对应的会话表,得到所述待遍历会话集合;若所述待调整防火墙规则中的源ip信息类型和目的ip信息类型至少一个为虚拟机类型,获取目标虚拟机的接口标识信息对应的会话表,得到所述待遍历会话集合;其中,所述目标虚拟机由所述待调整防火墙规则中的所述源ip信息和/或所述目的ip信息指定。9.根据权利要求5所述的方法,其特征在于,所述基于所述调整操作和所述待调整防火墙规则,更新会话表集合,还包括:若所述调整操作为修改规则操作,且所述待调整防火墙规则对应的修改前的源接口和修改前的目的接口中至少一个为虚拟机类型、或修改后的源接口和修改后的目的接口中至少有一个为虚拟机类型,基于所述待调整防火墙规则,确定需删除的待删除会话集合和需增加的待增加会话集合;其中,所述会话表集合包括所述待删除会话集合和所述待增加会话集合;若所述待删除会话集合不为空,更新所述调整操作为删除规则操作;确定待遍历会话集合为所述待删除会话集合;基于所述删除规则操作和所述待遍历会话集合,更新所述会话表集合;若所述待增加会话集合不为空,更新所述调整操作为增加规则操作;确定所述待遍历会话集合为所述待增加会话集合;基于所述增加规则操作和所述待增加会话集合,更新所述会话表集合。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:若检测到目标数据包,确定所述目标数据包的数据收发方向为目标方向;解析所述目标数据包,确定所述目标数据包的第一目标元组信息;查与所述第一目标元组信息匹配的目标会话,得到查询结果;若所述查询结果为存在所述目标会话,更新所述目标会话对应的目标会话表;若所述查询结果为不存在所述目标会话,基于所述目标方向和所述第一目标元组信息,得到所述目标会话对应的目标会话表;基于所述目标会话,执行针对所述目标数据包的处理操作。11.根据权利要求10所述的方法,其特征在于,所述若所述查询结果为不存在所述目标会话,基于所述目标方向和所述第一目标元组信息,得到所述目标会话对应的目标会话表,包括:确定所述第一目标元组信息中的参考接口标识信息对应的第一参考会话表;确定所述第一目标元组信息中除所述参考接口标识信息外的信息,得到第二目标元组信息;将所述第二目标元组信息与所述第一参考会话表进行匹配处理,得到第一匹配结果;若所述第一匹配结果为匹配成功,更新所述第一参考会话表的老化时间,得到所述目标会话表;若所述第一匹配结果为未匹配成功,对所述第一参考会话表中的ip方向参数和端口方向参数进行转换处理,得到第二参考会话表;
将所述第二目标元组信息与所述第二参考会话表进行匹配处理,得到第二匹配结果;基于所述第二匹配结果和所述目标方向,得到所述目标会话对应的目标会话表。12.根据权利要求11所述的方法,其特征在于,所述基于所述第二匹配结果和所述目标方向,得到所述目标会话对应的目标会话表,包括:若所述第二匹配结果为匹配成功,更新所述第一参考会话表的查时间,得到所述目标会话表;更新所述第一参考会话表的数据收发方向为与所述目标方向相反的参考方向;若所述第二匹配结果为匹配失败,基于所述第一目标元组信息,新建所述目标会话,得到所述目标会话表。13.一种规则处理设备,其特征在于,所述规则处理设备用于运行规则处理节点,所述设备包括:存储器、处理器和通信总线;其中:所述存储器,用于存储可执行指令;所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;所述处理器,用于执行所述存储器中存储的规则处理程序,实现如权利要求1至12中任一项所述的规则处理方法的步骤。14.一种存储介质,其特征在于,所述存储介质上存储有规则处理程序,所述规则处理程序被处理器执行时实现如权利要求1至12中任一项所述的规则处理方法的步骤。

技术总结


本申请实施例公开了一种规则处理方法,方法包括:若接收到中央控制节点发送的防火墙规则调整指令,基于所述防火墙规则调整指令,确定调整操作和待调整防火墙规则;基于所述调整操作和所述待调整防火墙规则,更新所述规则处理节点中对应的查询列表集合;其中,所述查询列表集合中包括根据所述规则处理节点接收到的所述中央控制节点发送的防火墙规则生成的查询列表。本申请实施例同时还公开了一种规则处理设备和存储介质。处理设备和存储介质。处理设备和存储介质。


技术研发人员:

焦利涛

受保护的技术使用者:

深信服科技股份有限公司

技术研发日:

2022.11.24

技术公布日:

2023/3/24

本文发布于:2024-09-23 08:23:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/78607.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:规则   目的   所述   信息
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议