CN111132170A - 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 - Google Patents
虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 Download PDFInfo
- Publication number
- CN111132170A CN111132170A CN201911424887.6A CN201911424887A CN111132170A CN 111132170 A CN111132170 A CN 111132170A CN 201911424887 A CN201911424887 A CN 201911424887A CN 111132170 A CN111132170 A CN 111132170A
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual firewall
- address
- firewall
- forwarded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/088—Access security using filters or firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/086—Access security using security domains
Abstract
本公开提供了一种虚拟防火墙的通信方法,该虚拟防火墙设置有虚拟接口,该方法包括:获得多个虚拟防火墙中第一虚拟防火墙待转发报文的目的地址;根据目的地址,确定多个虚拟防火墙中接收待转发报文的第二虚拟防火墙;以及通过第一虚拟防火墙的虚拟接口将待转发报文转发至第二虚拟防火墙。本公开还提供了一种虚拟防火墙的通信装置、一种虚拟防火墙和一种拓扑结构。
Description
技术领域
本公开涉及网络通信技术领域,更具体地,涉及一种虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构。
背景技术
随着企业业务规模的不断增大,各业务部门,分支机构的职能和权责划分也越来越清晰,对安全需求也不尽相同。各部门,分支机构之间网络既有隔离需求,又存在互联的场景。为了满足不同的安全需求为企业增加多个物理防火墙,成本会很高,显然不可取。
为了降低成本,可以采用虚拟技术,在一台物理防火墙上运行多个虚拟防火墙的实例,每个虚拟防火墙可以看作是一台独立的设备,其网络是相互隔离的,物理防火墙中的物理接口可以划分到某一个虚拟防火墙设备中。为了满足虚拟防火墙之间互联互通的需求,可以将不同的物理接口划到相应虚拟防火墙中,再将物理接口通过交换机或路由器进行连接,以达到虚拟系统互联的目的。或者可以通过在不同的虚拟防火墙里创建特殊的安全域(zone)实现互联。对于划分物理接口的技术,如果建立N个虚拟防火墙,为了实现两两通信,需要配置N*(N-1)个物理接口,这会造成物理接口的严重浪费。对于创建安全域的技术方案,会引入系统复杂性,打乱接口的安全配置逻辑,不便于安全业务配置。
发明内容
本公开第一方面提供了一种虚拟防火墙的通信方法,虚拟防火墙设置有虚拟接口,该方法包括:若多个虚拟防火墙中第一虚拟防火墙获得待转发报文,获得待转发报文的目的地址;根据所述目的地址,确定多个虚拟防火墙中接收待转发报文的第二虚拟防火墙;以及通过第一虚拟防火墙的虚拟接口将待转发报文转发至第二虚拟防火墙。
根据本公开的实施例,上述确定接收待转发报文的第二虚拟防火墙包括:根据目的地址,确定转发待转发报文的网络层级;以及查找针对确定的网络层级的物理地址表,确定与目的地址匹配的虚拟防火墙为第二虚拟防火墙。其中,网络层级包括依据物理地址转发报文的第一层或依据IP地址转发报文的第二层。
根据本公开的实施例,上述确定转发待转发报文的网络层级包括:在目的地址包括第一虚拟防火墙的物理地址的情况下,确定转发待转发报文的网络层级为第二层;在目的地址不包括第一虚拟防火墙的物理地址的情况下,确定转发待转发报文的网络层级为第一层。
根据本公开的实施例,在确定的网络层级为第二层时,确定第二虚拟防火墙包括:根据目的地址查询针对第一虚拟防火墙的路由信息,确定与目的地址匹配的网关IP地址;向网关IP地址对应的目标虚拟接口发送获取请求,以获取目标虚拟接口的物理地址;以及查找针对第二层的第一物理地址表,确定与目标虚拟接口的物理地址匹配的虚拟防火墙为第二虚拟防火墙。其中,第一物理地址表包括:虚拟防火墙的标识码与虚拟接口的物理地址之间的对应关系;路由信息配置有目的IP地址与网关IP地址的匹配关系;目的地址包括目的IP地址。
根据本公开的实施例,针对第一层的第二物理地址表包括:目的地址与虚拟防火墙的标识码的对应关系;目的地址包括目的物理地址。
根据本公开的实施例,在网络层级为第一层的情况下,确定接收待转发报文的第二虚拟防火墙还包括:在第二物理地址表中不包括与目的地址对应的虚拟防护墙的标识码的情况下,确定多个虚拟防火墙中除第一虚拟防火墙外的所有虚拟防火墙为第二虚拟防火墙。上述虚拟防火墙的通信方法还包括:确定响应于接收到待转发报文反馈答复报文的虚拟防火墙的标识码;将反馈答复报文的虚拟防火墙的标识码与目的地址建立对应关系;以及将建立得到的对应关系存入第二物理地址表中。
根据本公开的实施例,上述确定接收待转发报文的第二虚拟防火墙还包括:确定目的地址是否为单播地址;以及在目的地址不是单播地址的情况下,确定多个虚拟防火墙中除第一虚拟防火墙外的所有虚拟防火墙为第二虚拟防火墙。
本公开的第二方面提供了一种虚拟防火墙的通信装置,虚拟防火墙设置有虚拟接口,该装置包括:地址获得模块,用于获得多个虚拟防火墙中第一虚拟防火墙获得的待转发报文的目的地址;确定模块,用于根据目的地址,确定多个虚拟防火墙中接收待转发报文的第二虚拟防火墙;以及报文转发模块,用于通过第一虚拟防火墙的虚拟接口将待转发报文转发至第二虚拟防火墙。
本公开的第三方面提供了一种虚拟防火墙,该虚拟防火墙设置有虚拟接口以及虚拟交换机;该虚拟防火墙被配置为执行以下操作:通过虚拟交换机获取获得的待转发报文的目的地址;根据目的地址,确定接收待转发报文的其他虚拟防火墙;以及通过虚拟接口将待转发报文转发至其他虚拟防火墙。
本公开的第四方面提供了一种拓扑结构,该拓扑结构包括多个防火墙,该多个防火墙中的至少两个防火墙为上述的虚拟防火墙。
本公开的第五方面还提供了一种电子设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的虚拟防火墙的通信方法。
本公开的第六方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的虚拟防火墙的通信方法。
本公开的第七方面还提供了一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行上述的虚拟防火墙的通信方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构的应用场景图;
图2示意性示出了根据本公开示意性实施例一的虚拟防火墙的通信方法的流程图;
图3示意性示出了根据本公开实施例的确定接收待转发报文的第二虚拟防火墙的流程图;
图4示意性示出了根据本公开实施例的确定第二虚拟防火墙的流程图;
图5示意性示出了根据本公开示例性实施例二的虚拟防火墙的通信方法的流程图;
图6示意性示出了根据本公开示例性实施例三的虚拟防火墙的通信方法的流程图;
图7示意性示出了根据本公开实施例的网络层级为二层时虚拟防火墙的通信方法的场景图;
图8示意性示出了根据本公开实施例的网络层级为三层时虚拟防火墙的通信方法的场景图;以及
图9示意性示出了根据本公开实施例的虚拟防火墙的通信装置的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
图1示意性示出了根据本公开实施例的虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构的应用场景100。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的应用场景100可以包括至少两个虚拟防火墙和至少两个终端设备。例如,可以包括虚拟防火墙111、虚拟防火墙112、终端设备121和终端设备122。
该终端设备121、122可以是具有通信功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。终端设备121与虚拟防火墙111之间物理连接,终端设备122与虚拟防火墙112之间物理连接,虚拟防火墙111与虚拟防火墙112之间例如可以通过虚拟接口连接。在终端设备121需要向终端设备122发送报文时,该报文可以先由终端设备121发送给物理连接的虚拟防火墙111,虚拟防火墙111通过解析报文确定将报文转发给与终端设备122连接的虚拟防火墙112。虚拟防火墙112在接收到报文后,将报文转发给终端设备122,从而完成终端设备121与终端设备122之间的报文的转发。
根据本公开的实施例,在转发报文时,例如可以通过解析报文确定终端设备121和终端设备122是否位于同一网段,若位于同一网段,则通过网络中依据物理地址(MAC地址)转发报文的第一层进行报文转发,该第一层例如可以为网络七层协议架构(ISO)中的第二层。若位于不同网段,则通过网络中依据IP地址转发报文的第二层进行报文转发,该第二层例如可以为网络七层协议架构中的第三层。
根据本公开的实施例,每个虚拟防火墙中例如可以配置有相关联的虚拟交换机,通过虚拟交换机提供虚拟接口,并由虚拟交换机进行报文的解析和转发。为了通过第二层转发,每个虚拟防火墙的虚拟接口还可以配置为三层路由模式,虚拟防火墙中还可以配置路由转发模块,以通过路由转发模块实现报文的转发。
需要说明的是,本公开实施例所提供的虚拟防火墙的通信方法一般可以由至少两个虚拟防火墙中的任意一个执行。相应地,本公开实施例所提供的虚拟防火墙的通信装置一般可以设置于至少两个虚拟防火墙中的任意一个中,本公开提供的虚拟防火墙可以为至少两个虚拟防火墙中的任意一个,拓扑结构包括的多个防火墙中包括该至少两个虚拟防火墙。
应该理解,上述虚拟防火墙和终端设备的数目和类型仅仅是示意性的,根据实现需要,可以具有任意类型和数目的虚拟防火墙和终端设备。
以下将结合图2~图8对本公开实施例提供的虚拟防火墙的通信方法进行详细描述。
图2示意性示出了根据本公开示意性实施例一的虚拟防火墙的通信方法的流程图。
如图2所示,该实施例的虚拟防火墙的通信方法可以包括操作S210~操作S230。为了避免物理接口的浪费,该虚拟防火墙可以设置有虚拟接口,通过该虚拟接口与其他虚拟防火墙通信。该方法例如可以由包括多个虚拟防火墙的拓扑结构的虚拟防火墙执行,该多个虚拟防火墙中至少两个虚拟防火墙之间可以通过虚拟接口通信,执行该方法的虚拟防火墙为多个虚拟防火墙中通过虚拟接口与其他虚拟防火墙通信的防火墙,例如可以为虚拟防火墙111或虚拟防火墙112。
在操作S210,若多个虚拟防火墙中第一虚拟防火墙获得待转发报文,获得待转发报文的目的地址。
根据本公开的实施例,该操作S210例如可以包括:在接收到终端设备121发送的报文后,解析该报文,得到报文的源地址、目的地址。其中,该源地址和目的地址例如均可以包括MAC地址(物理地址)和IP地址。
根据本公开的实施例,在接收到的终端设备121发送的报文为二层报文、且该终端设备121发送的报文为发送给终端设备122的报文时,通过操作S210获得的待转发报文的目的MAC地址为终端设备122的MAC地址。在接收到的终端设备121发送的报文为三层报文、且该终端设备121发送的报文实质上为发送给终端设备122的报文时,通过操作S210获得的待转发报文的目的MAC地址为第一虚拟防火墙的MAC地址,获得的待转发报文的目的IP地址为终端设备122的IP地址。
在操作S220,根据目的地址,确定多个虚拟防火墙中接收待转发报文的第二虚拟防火墙。
根据本公开的实施例,在确定第二虚拟防火墙之前,应先确定该待转发报文的转发类型。该转发类型包括单播或广播。在确定了转发类型后,再确定第二虚拟防火墙。该操作S220例如可以包括:确定目的地址是否为单播地址;以及在目的地址不是单播地址的情况下,确定多个虚拟防火墙中除第一虚拟防火墙外的所有虚拟防火墙为第二虚拟防火墙。可以理解的是,转发类型例如还可以为组播形式,若为组播形式,则报文中的目的地址应包括目的地址段,则操作S220应确定目的地址属于该目的地址段的所有虚拟防火墙为所述的第二虚拟防火墙。
根据本公开的实施例,在目的地址为终端设备122的MAC地址时,确定的多个虚拟防火墙中接收待转发报文的虚拟防火墙为与终端设备122物理连接的虚拟防火墙112。
根据本公开的实施例,在目的地址为终端设备122的IP地址及第一虚拟防火墙111的MAC地址时,确定的多个虚拟防火墙中接收待转发报文的虚拟防火墙为该第一虚拟防火墙111配置的路由信息中与IP地址对应的虚拟接口所在的虚拟防火墙。相应地,本公开实施例应预先为每个虚拟防火墙配置有路由信息,该路由信息例如可以包括目的IP地址、网关IP地址、出接口。例如,对于第一虚拟防火墙,配置的路由信息可以包括:到终端设备的网段、网关为其他虚拟防火墙的虚拟接口的IP地址、作为出接口的自身的虚拟接口。
根据本公开的实施例,该操作S220例如可以通过图3描述的流程来执行,在此不再详述。
在操作S230,通过第一虚拟防火墙的虚拟接口将待转发报文转发至所述第二虚拟防火墙。
根据本公开的实施例,在操作S210中的目的地址为终端设备122的MAC地址时,由于报文为二层转发,无需更改目的地址,可以直接将报文经由第一虚拟防火墙(例如虚拟防火墙111)的虚拟接口转发给确定的第二虚拟防火墙(例如虚拟防火墙112)的虚拟接口,从而将报文转发至第二虚拟防火墙。
根据本公开的实施例,在操作S210中的目的地址为终端设备122的IP地址及第一虚拟防火墙的MAC地址时,为了对报文进行转发,在确定了接收待转发报文的第二虚拟防火墙之后,需要对接收的报文根据确定的第二虚拟防火墙进行重新封装,并根据重新封装的报文的目的地址对重新封装的报文进行转发。
根据本公开的实施例,通过在虚拟防火墙中设置虚拟接口,可以实现虚拟防火墙之间的逻辑互联及报文转发,因此至少部分地可以避免使用物理接口,节省虚拟防火墙部署成本。
根据本公开的实施例,考虑到不同的网络层级,转发报文的依据是不同的,因此在确定第二虚拟防火墙时,需要确定转发报文的网络层级。再根据该网络层级确定接收该报文的虚拟防火墙。
图3示意性示出了根据本公开实施例的确定接收待转发报文的第二虚拟防火墙的流程图。
如图3所示,确定接收待转发报文的第二虚拟防火墙的操作S220可以包括操作S321~操作S322。
在操作S321,根据目的地址,确定转发待转发报文的网络层级。
根据本公开的实施例,网络层级例如可以包括依据物理地址转发报文的第一层或依据IP地址转发报文的第二层。该网络层级具体例如可以为网络七层协议架构(IOS七层架构)中的第二层或第三层。该操作S321例如可以包括:在目的地址包括第一虚拟防火墙的物理地址(MAC地址)的情况下,确定转发待转发报文的网络层级为第二层。在目的地址不包括第一虚拟防火墙的物理地址的情况下,确定转发待转发报文的网络层级为第一层。
在操作S322,查找针对确定的网络层级的物理地址表,确定与目的地址匹配的虚拟防火墙为第二虚拟防火墙。
根据本公开的实施例,针对第一层的第二物理地址表例如可以包括:目的地址与虚拟防火墙的标识码的对应关系。目的地址包括目的物理地址(MAC地址)。则在通过操作S210确定目的MAC地址后,可以根据目的MAC地址查找该第二物理地址表中对应的虚拟防火墙的标识码。操作S322确定的第二虚拟防火墙为拥有该对应的虚拟防火墙的标识码的虚拟防火墙。
根据本公开的实施例,该第二物理地址表中的对应关系例如可以是通过MAC学习过程存入的。考虑到MAC学习过程可能未学习到所有MAC地址与虚拟防火墙的标识码的对应关系,因此在操作S321确定的网络层级为第一层时,操作S322可能存在根据目的MAC地址未查找到虚拟防火墙的标识码的情况,此时可以对报文进行泛洪转发,因此此种情况下,操作S322可以确定多个虚拟防火墙中除第一虚拟防火墙外的所有虚拟防火墙为第二虚拟防火墙。其中,MAC学习过程例如可以参见后续图5描述的流程,在此不再详述。可以理解的是,该第二物理地址表为全局表,以便于拓扑结构中的所有防火墙进行调用。
根据本公开的实施例,在操作S321确定的网络层级为第二层时,例如可以通过图4描述的流程来完成操作S322。
图4示意性示出了根据本公开实施例的确定第二虚拟防火墙的流程图。
如图4所示,在操作S321中确定的网络层级为第二层时,确定第二虚拟防火墙的操作S322例如可以包括操作S4221~操作S4223。
在操作S4221,根据目的地址查询针对所述第一虚拟防火墙的路由信息,确定与目的地址匹配的网关IP地址。
根据本公开的实施例,此处的目的地址例如可以为目的IP地址,对于第一虚拟防火墙,配置的路由信息可以包括目的IP地址与网关IP地址的匹配关系。具体地,如前所述,该路由信息可以包括:终端设备的网段、网关为其他虚拟防火墙的虚拟接口的IP地址、出接口。其中,出接口为第一虚拟防火墙自身的虚拟接口。网关IP地址即为其他虚拟防火墙的虚拟接口的IP地址。因此,该操作S4221例如可以包括:确定路由信息中,目的IP地址所属的网段,然后得到路由信息中与该所属的网段对应的网关IP地址和出接口。在得到出接口后,该通信方法可以将报文由第一虚拟防火墙接收报文的接口发送给第一虚拟防火墙的虚拟接口。
在操作S4222,向网关IP地址对应的目标虚拟接口发送获取请求,以获取目标虚拟接口的物理地址。
该操作S4222可以包括:在得到网关IP地址后,可以根据该网关IP地址向IP地址所指的虚拟接口发送获取请求,该IP地址所指的虚拟接口接收该获取请求后,可以向第一虚拟防火墙的虚拟接口反馈答复报文。第一虚拟防火墙可以通过解析得到该答复报文的源MAC地址获取得到IP地址所指的虚拟接口的物理地址。
在操作S4223,查找针对第二层的第一物理地址表,确定与目标虚拟接口的物理地址匹配的虚拟防火墙为第二虚拟防火墙。
根据本公开的实施例,第一物理地址表例如可以包括:虚拟防火墙的标识码与虚拟接口的物理地址之间的对应关系。该第一物理地址表的建立过程例如可以包括:将建立的虚拟防火墙的所有虚拟接口的MAC地址与虚拟防火墙的ID分别建立对应关系,并将该对应关系维护为物理地址表,得到该第一物理地址表。因此,操作S4223通过查找第一物理地址表得到的与目标虚拟接口的物理地址对应的虚拟防火墙ID所对应的虚拟防火墙为第二虚拟防火墙。
根据本公开的实施例,在确定该第二虚拟防火墙后,第一虚拟防火墙可以对虚拟接口接收到的报文进行重新封装,将源MAC地址更改为该虚拟接口的MAC地址,将目的MAC地址更改为目标虚拟接口的MAC地址。然后再通过操作S230将该重新封装后的报文转发至目标虚拟接口。目标虚拟接口在接收到该报文后,根据报文中的IP地址确定与终端设备122连接的物理接口,并将该报文发送给该物理接口。物理接口在接收到报文后,对报文再次进行封装。将源MAC地址更改为该物理接口的MAC地址,目的MAC地址更改为终端设备122的MAC地址,以便于将再次封装后的报文发送给终端设备122。
根据本公开的实施例,为了便于通过第二层对待转发报文进行转发,本公开的通信方法还应预先为每个虚拟防火墙配置路由信息。为了便于通过第一层对待转发报文进行转发,本公开实施例的通信方法还应学习得到针对第一层的第二物理地址表。
图5示意性示出了根据本公开示例性实施例二的虚拟防火墙的通信方法的流程图。
如图5所示,该实施例的虚拟防火墙的通信方法除了操作S210~操作S230外,还可以包括操作S540~操作S560。通过该操作S540~操作S560实现第二物理地址表的学习和更新。
在操作S540,确定响应于接收到待转发报文反馈答复报文的虚拟防火墙的标识码。
考虑到在操作S322中若未从针对第一层的第二物理地址表中未查找到虚拟防火墙的标识码(ID)时,会将该待转发报文泛洪转发给所有与第一虚拟防火墙通信的虚拟防火墙。在接收到该待转发报文的虚拟防火墙通过解析得到目的MAC地址,并确定目的MAC地址与自身的MAC地址相同时,会反馈答复报文,该答复报文中包括虚拟防火墙的标识码。若确定目的MAC地址与自身的MAC地址不相同,则会丢弃报文。因此,在第一虚拟防火墙接收到答复报文后,通过解析该答复报文可以得到与目的MAC地址对应的虚拟防火墙的标识码。
在操作S550,将反馈答复报文的虚拟防火墙的标识码与目的地址建立对应关系。在操作S560,将建立得到的对应关系存入第二物理地址表中。
根据本公开的实施例,在得到目的MAC地址对应的虚拟防火墙的标识码后,即可将该标识码与目的MAC地址关联起来,并将该关联关系存储至第二物理地址表。
图6示意性示出了根据本公开示例性实施例三的虚拟防火墙的通信方法的流程图,图7示意性示出了根据本公开实施例的网络层级为二层时虚拟防火墙的通信方法的场景图,图8示意性示出了根据本公开实施例的网络层级为三层时虚拟防火墙的通信方法的场景图。
如图6所示,该实施例的虚拟防火墙的通信方法例如可以包括操作S601~操作S608。如图7~8所示,应用场景中包括虚拟防火墙A和虚拟防火墙B。转发报文的层级例如可以为OSI网络架构的第二层和第三层。
根据本公开的实施例,如图7~8所示,虚拟防火墙A设置有外接网口Eth1且配置有逻辑虚拟接口Vge1,外部设备1(例如终端设备121)通过外接网口Eth1与虚拟防火墙A物理连接。虚拟防火墙B设置有外接网口Eth2且配置有逻辑虚拟接口Vge2,外部设备2(例如终端设备122)通过外接网口Eth2与虚拟防火墙B物理连接。虚拟防火墙A的逻辑虚拟接口Vge1与虚拟防火墙B的逻辑虚拟接口Vge2通信连接。其中,每个虚拟防火墙都可以内置报文二层交换模块。
在外部设备1的IP地址与外部设备2的IP地址位于同一网段时,为了通过OSI网络架构的第二层转发报文,如图7所示,虚拟防火墙A设置有关联的虚拟交换机-A1,虚拟防火墙B设置有关联的虚拟交换机-B1。其中,若Vge1与Vge2属于同一vlan,则将Vge1与Vge2指定为access模式,否则指定为trunk模式,并为每个逻辑虚拟接口配置允许的vlan列表,属于该vlan列表中任一vlan的逻辑虚拟接口均可以与该vlan列表所对应的逻辑虚拟接口进行通信。此种场景下,该通信方法还应建立全局的二层MAC转发表,用来学习记录来自不同外部设备的MAC地址与虚拟防火墙ID的对应关系。
在外部设备1的IP地址与外部设备2的IP地址位于不同网段时,需要通过OSI网络架构的第三层转发报文。因此,如图8所示,虚拟防火墙A还包括有路由转发模块-A2,虚拟防火墙B还包括有路由转发模块-B2。包括该虚拟防火墙A和虚拟防火墙B的拓扑结构例如可以维护有全局的三层MAC表,用于记录各逻辑虚拟接口的MAC地址与虚拟防火墙ID的对应关系。再者,在每个虚拟防火墙上还应配置路由信息,该配置的路由信息例如可以为动态路由或静态路由。以静态路由为例,例如可以在虚拟防火墙A上配置以下路由信息:外部设备2的网段、逻辑虚拟接口Vge2的IP、出接口为Vge1;在虚拟防火墙B上配置以下路由信息:到外部设备1的网段、逻辑虚拟接口Vge1的IP、出接口为Vge2。
通过该些配置,在进行报文转发时,以虚拟防火墙A为例,与虚拟防火墙B的通信方法可以包括以下步骤:
在操作S601,虚拟防火墙A先经由外接网口eth1接收终端设备1发送的报文,然后通过MAC学习过程(同传统的交换机转发),可以将报文经过虚拟防火墙A的内置的二层交换模块二层转发至逻辑虚拟接口Vge1。逻辑虚拟接口Vge1在接收到报文后,对该报文进行重新封装以进行转发。
在操作S602,根据重新封装后的报文的源MAC地址查找全局三层物理地址表(即针对OSI网络架构的第三层的第一物理地址表),确定全局三层MAC表中是否有该源MAC地址,若有该源MAC地址,则执行操作S604。若没有该源MAC地址,则说明为通过OSI网络架构的第二层转发报文的场景,则执行操作S603。该操作S602对于通过OSI网络架构的第三层转发报文的场景实际上是没有意义的,该操作S602的执行仅为了间接证明报文的源MAC地址是否学习到二层MAC表中。
在操作S603,学习源MAC地址与虚拟防火墙A的ID的对应关系至全局二层MAC表中。然后执行操作S604。
在操作S604,判断发送至逻辑虚拟接口Vge1的报文的目的MAC地址是否为单播MAC地址,若不是,则执行操作S608。若为单播MAC地址,则执行操作S605。
在操作S605,根据由Vge1重新封装的报文的目的MAC地址查找全局三层物理地址表,判断全局三层物理地址表中是否能查找到该目的MAC地址,若查找不到,则确定为通过OSI网络架构的第二层转发报文的场景,则执行操作S606。若查找到该目的MAC地址,则确定为通过OSI网络架构的第三层转发报文的场景,执行操作S607。
在操作S606,根据由Vge1重新封装的报文的目的MAC地址查找全局二层物理地址表(即针对OSI网络架构的第二层的第二物理地址表),判断全局二层物理地址表中是否有该目的MAC地址,若有该目的MAC地址,则执行操作S607,若没有该目的MAC地址,则执行操作S608。
在操作S607,将报文转发至目的MAC地址对应的虚拟防火墙(例如虚拟防火墙B),对于在操作S605之后执行的情况,该操作S607具体可以包括:将报文转发至目的MAC地址对应的逻辑虚拟接口。对于在操作S606之后执行的情况,该操作S607具体可以包括:将报文转发至与目的MAC地址对应的外部设备通过网口连接的虚拟防火墙的逻辑虚拟接口。
在操作S608,将报文复制泛洪至拓扑结构中除虚拟防火墙A外的其他所有虚拟防火墙。
综上可知,本公开实施例提供的虚拟防火墙的通信方法,通过虚拟接口可以实现不同虚拟防火墙之间的通信连接,因此可以突破虚拟防火墙之间互联的物理带宽限制。由于避免了使用物理接口,因此可以节省部署成本,灵活的配置各种安全、NAT策略。使得拓扑结构的安全防护配置更加灵活,省去物理网络连线的工作量。
图9示意性示出了根据本公开实施例的虚拟防火墙的通信装置的结构框图。
如图9所示,该虚拟防火墙的通信装置900可以包括地址获得模块910、确定模块920和报文转发模块930。
地址获得模块910用于若多个虚拟防火墙中第一虚拟防火墙获得待转发报文,获得待转发报文的目的地址(操作S210)。
确定模块920用于根据目的地址,确定多个虚拟防火墙中接收待转发报文的第二虚拟防火墙(操作S220)。
报文转发模块930用于通过第一虚拟防火墙的虚拟接口将待转发报文转发至第二虚拟防火墙(操作S230)。
根据本公开的实施例,确定模块920例如可以包括网络层级确定子模块和防火墙确定子模块。网络层级确定子模块用于根据目的地址,确定转发待转发报文的网络层级(操作S321)。防火墙确定子模块用于查找针对确定的网络层级的物理地址表,确定与目的地址匹配的虚拟防火墙为第二虚拟防火墙(操作S322)。其中,网络层级包括依据物理地址转发报文的第一层和依据IP地址转发报文的第二层。
根据本公开的实施例,网络层级确定子模块具体可以用于执行以下操作:在目的地址包括第一虚拟防火墙的物理地址的情况下,确定转发待转发报文的网络层级为第二层;在目的地址不包括第一虚拟防火墙的物理地址的情况下,确定转发待转发报文的网络层级为第一层。
根据本公开的实施例,在网络层级确定子模块确定的网络层级为第二层时,防火墙确定子模块具体用于执行以下操作:根据目的地址查询针对第一虚拟防火墙的路由信息,确定与目的地址匹配的网关IP地址(操作S4221);向网关IP地址对应的目标虚拟接口发送获取请求,以获取目标虚拟接口的物理地址(操作S4222);以及查找针对第二层的第一物理地址表,确定与目标虚拟接口的物理地址匹配的虚拟防火墙为第二虚拟防火墙(操作S4223)。其中,第一物理地址表包括:虚拟防火墙的标识码与虚拟接口的物理地址之间的对应关系;路由信息配置有目的IP地址与网关IP地址的匹配关系;目的地址包括目的IP地址。
根据本公开的实施例,针对第一层的第二物理地址表包括:目的地址与虚拟防火墙的标识码的对应关系;目的地址包括目的物理地址。
根据本公开的实施例,在网络层级确定子模块确定的网络层级为第一层时,防火墙确定子模块具体用于执行以下操作:在第二物理地址表中不包括与目的地址对应的虚拟防护墙的标识码的情况下,确定多个虚拟防火墙中除第一虚拟防火墙外的所有虚拟防火墙为第二虚拟防火墙。上述虚拟防火墙的通信装置800例如还可以包括标识码确定模块、关系建立模块和关系存储模块。标识码确定模块用于确定响应于接收到待转发报文反馈答复报文的虚拟防火墙的标识码(操作S540)。关系建立模块用于将反馈答复报文的虚拟防火墙的标识码与目的地址建立对应关系(操作S550)。关系存储模块用于将建立得到的对应关系存入第二物理地址表中(操作S560)。
根据本公开的实施例,上述确定模块920例如还可以用于执行以下操作:确定目的地址是否为单播地址;以及在目的地址不是单播地址的情况下,确定多个虚拟防火墙中除第一虚拟防火墙外的所有虚拟防火墙为第二虚拟防火墙。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,地址获得模块910、确定模块920以及报文转发模块930中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,地址获得模块910、确定模块920以及报文转发模块930中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,地址获得模块910、确定模块920以及报文转发模块930中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
基于图9的虚拟防火墙的通信装置,本公开还提供了一种虚拟防火墙,该虚拟防火墙设置有虚拟接口以及虚拟交换机,该虚拟防火墙被配置为执行图2~图6描述的方法。
基于该虚拟防火墙,本公开还提供了一种拓扑结构,该拓扑结构包括多个防火墙,该多个防火墙中的至少两个防火墙为图9描述的虚拟防火墙。该至少两个防火墙通过虚拟接口和虚拟交换机实现通信。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (13)
1.一种虚拟防火墙的通信方法,其中,所述虚拟防火墙设置有虚拟接口,所述方法包括:
若多个虚拟防火墙中第一虚拟防火墙获得待转发报文,获得所述待转发报文的目的地址;
根据所述目的地址,确定所述多个虚拟防火墙中接收所述待转发报文的第二虚拟防火墙;以及
通过所述第一虚拟防火墙的虚拟接口将所述待转发报文转发至所述第二虚拟防火墙。
2.根据权利要求1所述的方法,其中,确定接收所述待转发报文的第二虚拟防火墙包括:
根据所述目的地址,确定转发所述待转发报文的网络层级;以及
查找针对确定的网络层级的物理地址表,确定与所述目的地址匹配的虚拟防火墙为所述第二虚拟防火墙,
其中,所述网络层级包括依据物理地址转发报文的第一层或依据IP地址转发报文的第二层。
3.根据权利要求2所述的方法,其中,所述确定转发所述待转发报文的网络层级包括:
在所述目的地址包括所述第一虚拟防火墙的物理地址的情况下,确定转发所述待转发报文的网络层级为所述第二层;
在所述目的地址不包括所述第一虚拟防火墙的物理地址的情况下,确定转发所述待转发报文的网络层级为所述第一层。
4.根据权利要求2所述的方法,其中,在所述确定的网络层级为所述第二层时,确定所述第二虚拟防火墙包括:
根据所述目的地址查询针对所述第一虚拟防火墙的路由信息,确定与所述目的地址匹配的网关IP地址;
向所述网关IP地址对应的目标虚拟接口发送获取请求,以获取所述目标虚拟接口的物理地址;以及
查找针对所述第二层的第一物理地址表,确定与所述目标虚拟接口的物理地址匹配的虚拟防火墙为所述第二虚拟防火墙,
其中,所述第一物理地址表包括:虚拟防火墙的标识码与虚拟接口的物理地址之间的对应关系;所述路由信息配置有目的IP地址与所述网关IP地址的匹配关系;所述目的地址包括所述目的IP地址。
5.根据权利要求2所述的方法,其中:针对所述第一层的第二物理地址表包括:所述目的地址与虚拟防火墙的标识码的对应关系;所述目的地址包括目的物理地址。
6.根据权利要求5所述的方法,其中,在所述网络层级为第一层的情况下:
确定接收所述待转发报文的第二虚拟防火墙还包括:在所述第二物理地址表中不包括与所述目的地址对应的虚拟防护墙的标识码的情况下,确定所述多个虚拟防火墙中除所述第一虚拟防火墙外的所有虚拟防火墙为所述第二虚拟防火墙;
所述方法还包括:
确定响应于接收到所述待转发报文反馈答复报文的虚拟防火墙的标识码;
将反馈所述答复报文的虚拟防火墙的标识码与所述目的地址建立对应关系;以及
将建立得到的对应关系存入所述第二物理地址表中。
7.根据权利要求1所述的方法,其中,确定接收所述待转发报文的第二虚拟防火墙还包括:
确定所述目的地址是否为单播地址;以及
在所述目的地址不是单播地址的情况下,确定所述多个虚拟防火墙中除所述第一虚拟防火墙外的所有虚拟防火墙为所述第二虚拟防火墙。
8.一种虚拟防火墙的通信装置,其中,所述虚拟防火墙设置有虚拟接口,所述装置包括:
地址获得模块,用于获得多个虚拟防火墙中第一虚拟防火墙获得的待转发报文的目的地址;
确定模块,用于根据所述目的地址,确定所述多个虚拟防火墙中接收所述待转发报文的第二虚拟防火墙;以及
报文转发模块,用于通过所述第一虚拟防火墙的虚拟接口将所述待转发报文转发至所述第二虚拟防火墙。
9.一种虚拟防火墙,其中,所述虚拟防火墙设置有虚拟接口以及虚拟交换机;其中,所述虚拟防火墙被配置为执行以下操作:
通过所述虚拟交换机获取获得的待转发报文的目的地址;
根据所述目的地址,确定接收所述待转发报文的其他虚拟防火墙;以及
通过所述虚拟接口将所述待转发报文转发至所述其他虚拟防火墙。
10.一种拓扑结构,包括多个防火墙,所述多个防火墙中的至少两个防火墙为权利要求9所述的虚拟防火墙。
11.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行权利要求1~7中任一项所述的虚拟防火墙的通信方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行权利要求1~7中任一项所述的虚拟防火墙的通信方法。
13.一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行根据权利要求1~7中任一项所述的虚拟防火墙的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424887.6A CN111132170A (zh) | 2019-12-31 | 2019-12-31 | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424887.6A CN111132170A (zh) | 2019-12-31 | 2019-12-31 | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111132170A true CN111132170A (zh) | 2020-05-08 |
Family
ID=70507334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911424887.6A Pending CN111132170A (zh) | 2019-12-31 | 2019-12-31 | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111132170A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511439A (zh) * | 2020-11-25 | 2021-03-16 | 杭州迪普科技股份有限公司 | 数据转发方法、装置、设备及计算机可读存储介质 |
CN112737948A (zh) * | 2020-12-30 | 2021-04-30 | 北京威努特技术有限公司 | 一种vlan间的数据传输方法、装置及工控防火墙设备 |
CN113691418A (zh) * | 2021-08-23 | 2021-11-23 | 北京天融信网络安全技术有限公司 | 一种隧道探测方法、装置、存储介质及电子设备 |
CN113794640A (zh) * | 2021-08-20 | 2021-12-14 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
CN114172695A (zh) * | 2021-11-22 | 2022-03-11 | 闪捷信息科技有限公司 | 串行防火墙报文转发方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949741A (zh) * | 2005-10-11 | 2007-04-18 | 华为技术有限公司 | 一种处理跨越不同防火墙间数据流的方法 |
US20070261110A1 (en) * | 2006-05-02 | 2007-11-08 | Cisco Technology, Inc., A California Corporation | Packet firewalls of particular use in packet switching devices |
CN107483341A (zh) * | 2017-08-29 | 2017-12-15 | 杭州迪普科技股份有限公司 | 一种跨防火墙报文快速转发方法及装置 |
CN107517129A (zh) * | 2017-08-25 | 2017-12-26 | 杭州迪普科技股份有限公司 | 一种基于OpenStack配置设备上行接口的方法和装置 |
CN109831390A (zh) * | 2019-01-21 | 2019-05-31 | 新华三云计算技术有限公司 | 报文转发控制方法及装置 |
-
2019
- 2019-12-31 CN CN201911424887.6A patent/CN111132170A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949741A (zh) * | 2005-10-11 | 2007-04-18 | 华为技术有限公司 | 一种处理跨越不同防火墙间数据流的方法 |
US20070261110A1 (en) * | 2006-05-02 | 2007-11-08 | Cisco Technology, Inc., A California Corporation | Packet firewalls of particular use in packet switching devices |
CN107517129A (zh) * | 2017-08-25 | 2017-12-26 | 杭州迪普科技股份有限公司 | 一种基于OpenStack配置设备上行接口的方法和装置 |
CN107483341A (zh) * | 2017-08-29 | 2017-12-15 | 杭州迪普科技股份有限公司 | 一种跨防火墙报文快速转发方法及装置 |
CN109831390A (zh) * | 2019-01-21 | 2019-05-31 | 新华三云计算技术有限公司 | 报文转发控制方法及装置 |
Non-Patent Citations (1)
Title |
---|
张基温: "计算机网络技术", 北京:高等教育出版社, pages: 323 - 328 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511439A (zh) * | 2020-11-25 | 2021-03-16 | 杭州迪普科技股份有限公司 | 数据转发方法、装置、设备及计算机可读存储介质 |
CN112511439B (zh) * | 2020-11-25 | 2023-03-14 | 杭州迪普科技股份有限公司 | 数据转发方法、装置、设备及计算机可读存储介质 |
CN112737948A (zh) * | 2020-12-30 | 2021-04-30 | 北京威努特技术有限公司 | 一种vlan间的数据传输方法、装置及工控防火墙设备 |
CN113794640A (zh) * | 2021-08-20 | 2021-12-14 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
CN113794640B (zh) * | 2021-08-20 | 2022-11-18 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
CN113691418A (zh) * | 2021-08-23 | 2021-11-23 | 北京天融信网络安全技术有限公司 | 一种隧道探测方法、装置、存储介质及电子设备 |
CN114172695A (zh) * | 2021-11-22 | 2022-03-11 | 闪捷信息科技有限公司 | 串行防火墙报文转发方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10547463B2 (en) | Multicast helper to link virtual extensible LANs | |
CN111132170A (zh) | 虚拟防火墙的通信方法和装置、虚拟防火墙及拓扑结构 | |
US9923732B2 (en) | Virtual gateways and implicit routing in distributed overlay virtual environments | |
CN103200069B (zh) | 一种报文处理的方法和设备 | |
US11005752B2 (en) | Packet transmission | |
US9253140B2 (en) | System and method for optimizing within subnet communication in a network environment | |
EP3605972B1 (en) | Packet transmission method, edge device, and machine readable storage medium | |
US9515890B2 (en) | Method, system and controlling bridge for obtaining port extension topology information | |
US10164866B2 (en) | Virtual extensible LAN intercommunication mechanism for multicast in networking | |
CN106789526B (zh) | 多系统网络连接的方法及装置 | |
CN108964940B (zh) | 消息发送方法及装置、存储介质 | |
CN110798403B (zh) | 通信方法、通信设备和通信系统 | |
US8149840B2 (en) | Method, system and processor for processing network address translation service | |
CN111010329B (zh) | 一种报文传输方法及装置 | |
US20220345331A1 (en) | Two-layer private line network system, configuration method, and device | |
US11863438B2 (en) | Method and apparatus for sending routing information for network nodes | |
CN111556110B (zh) | 一种用于私有云系统的不同物理业务网络自动化适配方法 | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
CN114389967A (zh) | 链路检测方法、装置、设备和存储介质 | |
EP3503484B1 (en) | Message transmission methods and devices | |
CN112187609B (zh) | 表项生成方法和装置 | |
CN114760165A (zh) | 报文传输方法、设备及系统 | |
CN109756409B (zh) | 桥接转发方法 | |
CN114221895A (zh) | 传输数据的方法、装置及网络设备 | |
CN115242699A (zh) | 报文传输方法、切片生成方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |