CN104506513B - 防火墙流表备份方法、防火墙及防火墙系统 - Google Patents
防火墙流表备份方法、防火墙及防火墙系统 Download PDFInfo
- Publication number
- CN104506513B CN104506513B CN201410784814.9A CN201410784814A CN104506513B CN 104506513 B CN104506513 B CN 104506513B CN 201410784814 A CN201410784814 A CN 201410784814A CN 104506513 B CN104506513 B CN 104506513B
- Authority
- CN
- China
- Prior art keywords
- message
- message flow
- flow
- nat
- firewall
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种防火墙流表备份方法、防火墙及防火墙系统。本发明提供的防火墙流表备份方法,其系统内包括工作在网络地址转换NAT模式下且互为热备的主防火墙和从防火墙,方法包括:所述主防火墙转发报文流的首报文时,获取所述报文流的流表和NAT连接信息;所述主防火墙将所述报文流的流表和NAT连接信息发送给所述从防火墙,以使所述从防火墙根据所述报文流的流表和NAT连接信息转发所述报文流的非首报文。本发明可以防止防火墙在进行流量切换时发生业务中断。
Description
技术领域
本发明实施例涉及网络技术,尤其涉及一种防火墙流表备份方法、防火墙及防火墙系统。
背景技术
防火墙通常由软件和硬件设备组成,部署于内网和外网之间、专用网和公共网、局域网和互联网之间、用于保护内部网、专用网或者局域网不受非法用户入侵或者病毒、木马的攻击。当有流量经过时,防火墙会根据会话报文中首包的协议号、源网络互联协议(Internet Protocol,简称IP)地址、目的IP地址、源端口地址、目的端口地址分别创建正向和反向流表项,后续报文会根据正向或者反向流表项进行转发。
目前,在高可用环境下,防火墙可以采取双机热备份的组网方式进行工作,当其中一台设备出现故障时,业务流量都能自动切换到另一台设备上来处理。其具体方法为通过在配置为双机热备关系的第一、第二设备上分别实现一个会话备份单元,根据每个会话的首包建立会话表项并向对方设备备份,且第一或第二设备在收到自身没有匹配会话表项的非首报文时,将该报文透传至对方设备查询匹配的会话表项,并将查询得到的会话表项返回自身进行备份用于报文转发。
然而,在网络地址转换(Network Address Translation,简称NAT)的应用场景下,防火墙在备份会话流表后,防火墙的NAT功能会对内部私有网络IP地址与外部IP地址进行转换,并根据报文流里控制连接中的报文载荷生成NAT内部私有的期望连接;这样当根据控制连接的报文载荷而生成的数据连接报文到达防火墙的时候,防火墙会匹配期望连接,以完成报文的发送。如果报文在NAT应用场景下转发时,只备份了会话表项本身,而期望连接没有备份到对方设备,就会导致数据连接创建失败,相应的业务也随之发生中断。
发明内容
本发明提供一种防火墙备份方法、防火墙及防火墙系统,以解决进行NAT业务的防火墙在进行流量切换时造成的业务中断问题。
第一方面,本发明提供一种防火墙流表备份方法,系统内包括工作在网络地址转换NAT模式下且互为热备的主防火墙和从防火墙,包括:
主防火墙转发报文流的首报文时,获取报文流的流表和NAT连接信息;
主防火墙将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文。
结合第一方面,在第一种实施方式中,NAT连接信息包括报文流的报文长度差值信息、NAT模式的期望连接信息和父子流信息,其中报文长度差值信息用于确定报文流中报文经过NAT模式转换后的传输控制协议TCP序列号,期望连接信息用于确定经过NAT模式转换后报文流的数据连接以及生成父子流信息,父子流信息用于确定报文流的父/子报文流。
结合第一方面和第一种实施方式,在第二种实施方式中,报文流的报文长度差值信息为报文流在经过NAT转换前后报文长度的差值。
结合第一方面和第一种实施方式,在第三种实施方式中,报文流的期望连接信息包含报文流在经过NAT模式转换前后数据连接的端口之间的匹配关系以及用于生成父子流信息的信息。
结合第一方面和前三种实施方式,在第四种实施方式中,主防火墙将报文流的流表和NAT连接信息发送给从防火墙具体包括:
主防火墙通过专用链路将报文流的流表和NAT连接信息发送给从防火墙。
第二方面,本发明提供一种防火墙流表备份方法,系统内包括工作在网络地址转换NAT模式下且互为热备的主防火墙和从防火墙,包括:
从防火墙接收主防火墙发送的报文流的流表和NAT连接信息;
从防火墙根据流表和NAT连接信息转发报文流的非首报文。
结合第二方面,在第一种实施方式中,NAT连接信息包括报文流的报文长度差值信息、报文流的期望连接信息和报文流的父子流信息;
从防火墙根据流表和NAT连接信息转发报文流的非首报文具体包括:
若报文流为控制连接,则从防火墙根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号,根据流表并在NAT连接上按照报文流的TCP协议序列号转发报文流的非首报文;
若为报文流为数据连接,则从防火墙根据父子流信息确定报文流的安全策略与报文流的网络互联协议IP地址,根据期望连接信息确定报文流的端口匹配关系和生成父子流信息,根据流表、报文流的IP地址和报文流的端口匹配关系建立数据连接,并转发报文流的非首报文。
结合第二方面和第一种实施方式,在第二种实施方式中,报文流的报文长度差值信息为报文流在经过NAT模式转换前后报文长度的差值。
结合第二方面和第一种实施方式,在第三种实施方式中,报文流的期望连接信息包含报文流在经过NAT模式转换前后数据连接的端口的匹配关系以及用于生成父子流信息的信息。
结合第二方面和第一种实施方式,在第四种实施方式中,根据父子流信息确定报文流的安全策略与报文流的网络互联协议IP地址具体包括:
确述报文流所属的父/子流;
如果报文流为子流,根据报文流的父流的安全策略确定报文流的安全策略与IP地址。
结合第二方面和前四种实施方式,在第五种实施方式中,从防火墙接收主防火墙发送的报文流的流表和网络地址转换NAT连接信息具体包括:从防火墙通过专用链路接收报文流的流表和NAT连接信息。
第三方面,本发明提供一种主防火墙,主防火墙工作在网络地址转换NAT模式下,包括:
获取模块,用于在转发报文流的首报文时,获取报文流流表和NAT连接信息;
发送模块,用于将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文。
结合第三方面,在第一种实施方式中,NAT连接信息包括报文流的报文长度差值信息、NAT模式的期望连接信息和父子流信息,其中报文长度差值信息用于确定报文流中报文经过NAT转换后的传输控制协议TCP序列号,期望连接信息用于确定经过NAT模式转换后报文流的数据连接以及生成父子流信息,父子流信息用于确定报文流的父/子报文流。
结合第三方面和第一种实施方式,在第二种实施方式中,报文流的报文长度差值信息为报文流在经过NAT转换前后报文长度的差值。
结合第三方面和第一种实施方式,在第三种实施方式中,报文流的期望连接信息包含报文流在经过NAT模式转换前后数据连接的端口之间的匹配关系以及用于生成父子流信息的信息。
结合第三方面和前三种实施方式,在第四种实施方式中,发送模块具体用于:通过专用链路将报文流流表和NAT连接信息发送给从防火墙。
第四方面,本发明提供一种从防火墙,从防火墙工作在网络地址转换NAT模式下,包括:
接收模块,用于接收主防火墙发送的报文流的流表和NAT连接信息,
报文转发模块,用于根据流表和NAT连接信息转发报文流的非首报文。
结合第四方面,在第一种实施方式中,NAT连接信息包括报文流的报文长度差值信息、报文流的期望连接信息和报文流的父子流信息;
报文转发模块具体用于:
若报文流为控制连接,则根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号,根据流表并在NAT连接上按照报文流的TCP协议序列号转发报文流的非首报文;
若报文流为数据连接,则根据父子流信息确定报文流的安全策略与报文流的网络互联协议IP地址,根据期望连接信息确定报文流的端口匹配关系和生成父子流信息,根据流表、报文流的IP地址和报文流的端口匹配关系建立所述数据连接,并转发报文流的非首报文。
结合第四方面和第一种实施方式,在第二种实施方式中,报文流的报文长度差值信息为报文流在经过NAT转换前后报文长度的差值。
结合第四方面和第一种实施方式,在第三种实施方式中,报文流的期望连接信息包含报文流在经过NAT模式转换前后数据连接的端口的匹配关系以及用于生成父子流信息的信息。
结合第四方面和第一种实施方式,在第四种实施方式中,报文转发模块具体用于:
确定报文流所属的父/子流;
如果报文流为子流,根据报文流的父流的安全策略确定报文流的安全策略与IP地址。
结合第四方面和前四种实施方式,在第五种实施方式中,接收模块具体用于:通过专用链路接收报文流的流表和NAT连接信息。
第五方面,本发明提供一种防火墙系统,包括一个如上所述的主防火墙和至少一个如上所述的从防火墙,主防火墙和从防火墙之间通过专用链路进行报文流的流表和NAT连接信息的传输。
本发明提供的防火墙流表备份方法、防火墙及防火墙系统,主防火墙转发报文流的首报文时,获取报文流的NAT连接信息,再将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文;从防火墙接收主防火墙发送的报文流的流表和NAT连接信息,并根据所述流表和所述NAT连接信息转发所述报文流的非首报文。这样防火墙进行NAT业务的情况下,在进行主从防火墙的流量切换时,从防火墙可以根据报文流的流表和NAT连接信息继续转发该报文流的其余非首报文,以防止防火墙在进行流量切换时发生业务中断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的防火墙备份方法的流程示意图;
图2是本发明实施例二提供的防火墙备份方法的流程示意图;
图3是本发明实施例三提供的防火墙备份方法的流程示意图;
图4中的本发明实施例三提供的系统的网络架构示意图;
图5是本发明实施例四提供的主防火墙的结构示意图;
图6是本发明实施例五提供的从防火墙的结构示意图;
图7是本发明实施例六提供的主防火墙的结构示意图;
图8是本发明实施例七提供的从防火墙的结构示意图;
图9是本发明实施例八提供的防火墙系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例一提供的防火墙备份方法的流程示意图。如图1所示,本实施例提供的防火墙备份方法包括:
S101、主防火墙转发报文流的首报文时,获取报文流的流表和NAT连接信息;
本实施例中,在系统内包括两个互为热备份的防火墙,两个防火墙即可以采用主备方式(Active-Standby)工作,也可以采用双主机方式(Active-Active)工作。在主备方式下,流量只经过主防火墙,当主防火墙发生故障时,流量会切换到作为备用防火墙的从防火墙上。双主机方式下,流量会分担到两台防火墙上,实现了流量的负载均衡,而当其中一台防火墙出现故障时,该防火墙上的业务流量可以切换至另外一台防火墙上进行处理,其中,原先进行业务的防火墙作为主防火墙,而接替主防火墙处理业务流量的防火墙为从防火墙。系统中的防火墙均可工作在网络地址转换(Network Address Translation,简称NAT)模式下。
当主防火墙接收报文流的首报文并进行转发时,主防火墙根据报文流本身的信息以及进行转发时的配置信息,获取用于转发该报文流的流表及NAT连接信息。其中,报文流的流表包括报文的五元组信息(源IP地址、源端口地址、目的IP地址、目的端口地址和传输层协议号)。而NAT连接信息包括报文流的报文长度差值信息、NAT模式的期望连接信息和父子流信息。
具体的,报文长度差值信息用于确定报文流中报文经过NAT模式转换后的传输控制协议(Transmission Control Protocol,简称TCP)序列号。当工作在NAT模式的防火墙进行报文处理时,防火墙会将报文中的IP地址转换为另外一个IP地址,此时防火墙的NAT组件会对报文载荷中的内容进行修改。例如进行文件传输协议(File Transfer Protocol,简称FTP)业务时,防火墙的NAT组件会修改控制连接报文载荷中的PORT命令的内容,从而使得报文的长度发生变化。而在TCP协议中,报文的TCP序列号sequence由报文的长度确定。因此防火墙在进行报文流转发时,需要对TCP报文中的TCP序列号sequence进行修改,添加经过NAT模式转换前后报文的长度变化值,才能保证在防火墙转发给服务器端的TCP序列号sequence在服务器端的TCP协议栈中为正确的值。具体的,可以直接将报文长度差值信息设置为报文流在经过NAT模式转换前后报文长度的差值。
具体的,期望连接信息用于确定经过NAT模式转换后报文流的数据连接以及生成父子流信息。工作在NAT模式的防火墙进行报文处理时,因为经过NAT模式转换前后报文的IP地址不同,导致报文流在经过NAT模式转换后,防火墙需要建立报文流在经过NAT模式转换前后数据连接的端口之间的匹配关系,以使报文流根据该匹配关系在网络侧与防火墙之间转发。期望连接信息即为报文流在经过NAT模式转换前后数据连接的端口之间的匹配关系。仍然以进行FTP业务为例,在防火墙进行FTP的报文流处理的时候,防火墙中的NAT组件对报文载荷进行NAT转换时,为其分配一个端口以对应报文的原始端口,记录下该报文流经过NAT模式转换前后数据连接的两个端口之间的匹配关系,并将其存储于防火墙NAT组件内部私有数据结构中,该匹配关系即为报文流的期望连接信息。这样当数据连接的报文到达防火墙时,即可根据存储于防火墙内部私有数据结构中的数据连接的端口之间的匹配关系对数据连接进行NAT转换,并发送至网络侧。在网络侧发送作为回应的数据连接报文时,防火墙再根据回应报文的地址与NAT转换前原始端口地址的匹配关系将数据连接发到正确的客户端。期望连接信息中可以包括数据连接的原始的端口号与经过NAT转换后端口号之间的匹配关系,以用于确定报文流经过NAT模式转换后,报文流原始的端口信息。具体的,报文流的期望连接信息可以为经过NAT模式转换前后数据连接的端口的匹配关系以及用于生成父子流信息的信息。
具体的,父子流信息可以用于确定报文流的父/子报文流。当某个报文流由另一个报文流所派生时,则这两个报文流具有父子流关系,此时可以利用报文流中所携带的父子流信息确定报文是父流还是子流,以及该报文流所对应的父/子流是哪一个报文流。报文在防火墙上转发的过程中,需要由安全业务对报文进行检查,安全业务通常会根据父流的安全策略来检测子流报文,即如果父流的流量允许通过,那么子流的流量也会允许通过;而当发送到防火墙的报文流缺乏父子流关系时,因为子流的安全策略是依赖于父流的安全策略,此时子流会因为匹配不到安全策略而被阻断,从而发生业务中断现象。以FTP下载为例,首先建立控制连接,并根据控制连接的TCP载荷信息创建数据连接,因此数据连接是子流,控制连接是父流,控制连接和数据连接之间的关系为父子流关系。当如果用户配置了允许控制连接通过的安全策略,因为控制连接为数据连接的父流,那么安全业务会根据控制连接的安全策略放过数据连接,并允许数据连接的流量通过。此外,因为数据连接为控制连接的子流,当通过父子流关系信息找到作为数据连接父流的控制连接后,即可得到控制连接中的网络互连协议(Internet Protocol,简称IP)地址等信息,并按照该IP地址转发数据连接。
S102、主防火墙将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文。
在主防火墙获取报文流的流表和NAT连接信息后,主防火墙再将上述信息发送给从防火墙,当主防火墙出现故障或因其他原因不再转发该报文流时,从防火墙即可根据报文流的流表和NAT连接信息对报文流余下的非首报文进行转发。具体的,主防火墙可以通过专用链路将报文流的流表和NAT连接信息发送给从防火墙,该专用链路可以是专用的报文转发隧道或者其它高速链路,以及时让从防火墙获取用于转发报文流的流表和NAT连接信息。
本实施例中,主防火墙转发报文流的首报文时,获取报文流的NAT连接信息,再将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文。这样防火墙在进行NAT业务的情况下,当发生主从防火墙的流量切换时,从防火墙可以继续转发该报文流的其余非首报文,以防止防火墙发生业务中断。
图2是本发明实施例二提供的防火墙备份方法的流程示意图。如图2所示,本实施例提供的防火墙备份方法包括:
S201、从防火墙接收主防火墙发送的报文流的流表和NAT连接信息;
本实施例中,系统中的主防火墙与从防火墙均可工作在网络地址转换(NetworkAddress Translation,简称NAT)模式下。从防火墙可以接收主防火墙发送的报文流的流表和NAT连接信息。该流表和NAT连接信息是主防火墙在转发该报文流时所获取到的。
具体的,从防火墙可以通过专用链路接收报文流的流表和NAT连接信息。该专用链路可以是专用的报文转发隧道或者其它高速链路,以及时让从防火墙接收主防火墙发送的报文流的流表和NAT连接信息。
S202、从防火墙根据所述流表和所述NAT连接信息转发所述报文流的非首报文。
具体的,报文流的流表包括报文的五元组信息(源IP地址、源端口、目的IP地址、目的端口和传输层协议号),而NAT连接信息包括报文流的报文长度差值信息、报文流的期望连接信息和报文流的父子流信息。
具体的,若报文流为控制连接,则从防火墙根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号,根据流表并在NAT连接上按照报文流的TCP协议序列号转发报文流的非首报文;
若报文流为数据连接,则从防火墙根据父子流信息确定报文流的安全策略与报文流的网络互联协议IP地址,根据期望连接信息确定报文流的端口匹配关系以及生成父子流信息,根据流表、报文流的IP地址和报文流的端口匹配关系建立数据连接,并转发报文流的非首报文。
进一步的,在根据报文流的父子流信息确定报文流的安全策略与IP地址时时,首先要确定报文流所属的父/子流具体为哪一个报文流;
如果报文流为子流,则根据报文流的父流的安全策略确定报文流的安全策略与IP地址。例如,控制连接和数据连接之间为父子流关系,其中控制连接为父流,数据连接为子流,如果报文流为数据连接,则确定数据连接的安全策略时,就需要确定控制连接的安全策略,并依据控制连接的安全策略确定数据连接的安全策略,以保证数据连接不会因安全策略而被防火墙阻挡,并根据控制连接中报文的IP地址进行数据连接中报文的发送。
进一步的,在根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号时,报文流的报文长度差值信息为报文流在经过NAT模式转换前后报文长度的差值。
进一步的,报文流的期望连接信息可以为在经过NAT模式转换前后数据连接的端口的匹配关系以及用于生成父子流信息的信息。
本实施例中,从防火墙接收主防火墙发送的报文流的流表和NAT连接信息,然后根据流表和NAT连接信息转发报文流的非首报文。这样防火墙在进行NAT业务的情况下,当发生主从防火墙的流量切换时,从防火墙可以继续转发该报文流的其余非首报文,以防止防火墙发生业务中断。
图3是本发明实施例三提供的防火墙备份方法的流程示意图。本实施例提供了互为热备的主从防火墙在进行流量切换时的信息交互过程。如图3所示,本实施例提供的防火墙备份方法包括:
S301、主防火墙转发报文流的首报文时,获取报文流的流表和NAT连接信息;
以图4中系统的网络架构示意图为例。本实施例中,在系统内包括两个互为热备份的防火墙,两个防火墙既可以采用主备方式(Active-Standby)工作,也可以采用双主机方式(Active-Active)工作。在主备方式下,流量只经过主防火墙,当主防火墙发生故障时,流量会切换到作为备用防火墙的从防火墙上。双主机方式下,流量会分担到两台防火墙上,实现了流量的负载均衡,而当其中一台防火墙出现故障时,该防火墙上的业务流量可以切换至另外一台防火墙上进行处理,其中,原先处理业务的防火墙作为主防火墙,而接替主防火墙处理业务流量的防火墙为从防火墙。系统中的防火墙均可工作在网络地址转换(NetworkAddress Translation,简称NAT)模式下。
当主防火墙接收报文流的首报文并进行转发时,主防火墙根据报文流本身的信息以及进行转发时的配置信息,获取用于转发该报文流的流表及NAT连接信息。其中,报文流的流表包括报文的五元组信息(源IP地址、源端口、目的IP地址、目的端口和传输层协议号)。而NAT连接信息包括报文流的报文长度差值信息、NAT模式的期望连接信息和父子流信息。
具体的,报文长度差值信息用于确定报文流中报文经过NAT模式转换后的传输控制协议TCP序列号。当工作在NAT模式的防火墙进行报文处理时,防火墙会将报文中的IP地址转换为另外一个IP地址,此时防火墙的NAT组件会对报文载荷中的内容进行修改,从而报文的长度产生了变化。而报文的TCP序列号由报文长度决定,因此需要确定经过NAT模式转换前后报文的长度变化值,以获得报文的TCP序列号。
具体的,期望连接信息用于确定经过NAT模式转换后报文流的数据连接以及生成父子流信息。工作在NAT模式的防火墙进行报文处理时,因为经过NAT模式转换前后报文的IP地址和端口均不同,导致报文流在经过NAT模式转换后,防火墙需要将报文流在经过NAT模式转换前后的端口等信息储存在防火墙NAT组件内部,以使报文流根据该新的报文载荷的连接关系在网络侧与防火墙之间转发。
具体的,父子流信息可以用于确定报文流的父/子报文流。当某个报文流由另一个报文流所派生时,则这两个报文流具有父子流关系,此时可以利用报文流中所携带的父子流信息确定报文是父流还是子流,以及该报文流所对应的父/子流是哪一个报文流。
以图4所示的网络架构进行FTP业务为例,当位于内网的主机发送报文流时,发送的报文的载荷中包含的数据连接地址信息为192.168.1.100:5001,此时报文载荷中的Port命令的内容即为Port:192.168.1.100:5001。当报文流通过主防火墙进行NAT转换时,主防火墙根据主防火墙与外网FTP服务器的地址生成一个连接关系200.1.1.3:20—>200.1.1.2:16384,其中200.1.1.3:20为外网FTP服务器的地址,200.1.1.2:16384则为内网地址为192.168.1.100:5001的所对应的公网地址及端口。该连接关系由主防火墙内部生成,用于确定经过NAT模式转换后报文流内的报文载荷的连接关系。从内网主机发送的报文在经过主防火墙时,报文承载中的Port命令内容由192.168.1.100:5001变为200.1.1.2:16384,此时报文的长度发生了变化,因此需要将经过NAT模式处理前后报文长度的差值记录下来,以便在转发报文流时还原报文的TCP序列号,从而保证转发时报文能够正确还原。
S302、主防火墙将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文;
在主防火墙获取报文流的流表和NAT连接信息后,主防火墙再将上述信息发送给从防火墙,当主防火墙出现故障或因其他原因不再转发该报文流时,从防火墙即可根据报文流的流表和NAT连接信息对报文流余下的非首报文进行转发。具体的,主防火墙可以通过专用链路将报文流的流表和NAT连接信息发送给从防火墙,该专用链路可以是专用的报文转发隧道或者其它高速链路,以及时让从防火墙获取用于转发报文流的流表和NAT连接信息。
S303、从防火墙接收主防火墙发送的报文流的流表和NAT连接信息;
S304、从防火墙根据所述流表和所述NAT连接信息转发所述报文流的非首报文。
在主防火墙不再转发上述报文流时,即可将报文流改由从防火墙进行转发,进行流量切换过程。
具体的,从防火墙在根据流表和NAT连接信息转发报文流的非首报文时,需要根据报文流中控制连接和数据连接两种情况分别进行处理,若报文流为控制连接,则从防火墙根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号,根据流表并在NAT连接上按照报文流的TCP协议序列号转发报文流的非首报文;若报文流为数据连接,则从防火墙根据父子流信息确定报文流的安全策略与报文流的网络互联协议IP地址,根据期望连接信息确定报文流的端口匹配关系和生成父子流信息,根据流表、报文流的IP地址和报文流的端口匹配关系建立数据连接,并转发报文流的非首报文。例如在图4的网络架构中进行FTP业务时,当主机发送的报文流切换至从防火墙,则从防火墙根据报文流的父子流信息判断报文流的安全策略和报文转发的IP地址,如进行的是控制连接,则根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号,并根据备份的流表项进行报文的转发;如进行的是数据连接,从防火墙根据数据连接的父子流信息判断其父流为控制连接,然后沿用控制连接的安全策略,并根据期望连接信息得到报文流的内网端口5001和外网端口16384,此时再根据流表和控制连接中的IP地址得到完整的对应关系为内网的IP地址及端口为192.168.1.100:5001所对应的外网IP地址及端口为200.1.1.2:16384,并在此基础上,以该外网地址和外网FTP服务器的地址200.1.1.3:20进行通信,以构成完整的连接,从而转发报文流的其余报文。
进一步的,在根据报文流的父子流信息确定报文流的安全策略时,首先要确定报文流所属的父/子流具体为哪一个报文流;以FTP为例,父流是控制连接,子流是数据连接,数据连接是由控制连接报文载荷中的PORT命令生成的。当PORT命令进入NAT组件后,NAT组件就会记录当前流(控制连接)的流标识符,等数据连接到达的时候,就会根据这个流标识符找到控制连接,形成父子流关系。
如果报文流为子流,则根据报文流的父流的安全策略确定报文流的安全策略。例如,控制连接和数据连接之间为父子流关系,其中控制连接为父流,数据连接为子流,如果报文流为数据连接,则确定数据连接的安全策略时,就需要确定控制连接的安全策略,并依据控制连接的安全策略确定数据连接的安全策略,以保证数据连接不会因安全策略而被防火墙阻挡。
本实施例中,主防火墙转发报文流的首报文时,获取报文流的NAT连接信息,再将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文;从防火墙接收主防火墙发送的报文流的流表和NAT连接信息,并根据所述流表和所述NAT连接信息转发所述报文流的非首报文。这样防火墙进行NAT业务的情况下,在进行主从防火墙的流量切换时,从防火墙可以根据报文流的流表和NAT连接信息继续转发该报文流的其余非首报文,以防止防火墙在进行流量切换时发生业务中断。
图5是本发明实施例四提供的主防火墙的结构示意图。该主防火墙工作在网络地址转换NAT模式下。如图5所示,本实施例提供的主防火墙51包括:
获取模块501,用于在转发报文流的首报文时,获取报文流流表和NAT连接信息;
发送模块502,用于将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文。
具体的,发送模块502可以用于通过专用链路将报文流流表和NAT连接信息发送给从防火墙。
具体的,NAT连接信息包括报文流的报文长度差值信息、NAT模式的期望连接信息和父子流信息,其中报文长度差值信息用于确定报文流中报文经过NAT转换后的传输控制协议TCP序列号,期望连接信息用于确定经过NAT模式转换后报文流的数据连接以及生成父子流信息,父子流信息用于确定报文流的父/子报文流。
具体的,报文流的报文长度差值信息为报文流在经过NAT转换前后报文长度的差值。
具体的,报文流的期望连接信息为报文流在经过NAT模式转换前后数据连接的端口之间的匹配关系以及用于生成父子流信息的信息。
本实施例中,主防火墙中的获取模块在转发报文流的首报文时,获取报文流流表和NAT连接信息;发送模块将报文流的流表和NAT连接信息发送给从防火墙,以使从防火墙根据报文流的流表和NAT连接信息转发报文流的非首报文。这样防火墙在进行NAT业务的情况下,当发生主从防火墙的流量切换时,从防火墙可以继续转发该报文流的其余非首报文,以防止防火墙发生业务中断。
图6是本发明实施例五提供的从防火墙的结构示意图。该从防火墙工作在网络地址转换NAT模式下。如图6所示,本实施例提供的从防火墙61包括:
接收模块601,用于接收主防火墙发送的报文流的流表和NAT连接信息,
报文转发模块602,用于根据流表和NAT连接信息转发报文流的非首报文。
具体的,接收模块601具体用于通过专用链路接收报文流的流表和NAT连接信息。
报文转发模块602具体用于确定报文流所属的父/子流;并且如果报文流为子流时,根据该报文流的父流的安全策略确定该报文流的安全策略。
具体的,NAT连接信息包括报文流的报文长度差值信息、报文流的期望连接信息和报文流的父子流信息。对应的,报文转发模块602具体用于:若报文流为控制连接,则根据报文流的报文长度差值信息还原报文流的传输控制TCP序列号,根据流表并在NAT连接上按照报文流的TCP协议序列号转发报文流的非首报文;若报文流为数据连接,则根据父子流信息确定报文流的安全策略与报文流的网络互联协议IP地址,根据期望连接信息确定报文流的端口匹配关系和生成父子流信息,根据流表、报文流的IP地址和报文流的端口匹配关系建立数据连接,并转发报文流的非首报文。
具体的,报文流的报文长度差值信息为报文流在经过NAT转换前后报文长度的差值。
具体的,报文流的期望连接信息为报文流在经过NAT模式转换前后数据连接的端口的匹配关系以及用于生成父子流信息的信息。
本实施例中,从防火墙中的接收模块接收主防火墙发送的报文流的流表和NAT连接信息,报文转发模块根据流表和NAT连接信息转发报文流的非首报文。这样防火墙在进行NAT业务的情况下,当发生主从防火墙的流量切换时,从防火墙可以继续转发该报文流的其余非首报文,以防止防火墙发生业务中断。
图7是本发明实施例六提供的主防火墙的结构示意图。本实施例提供的主防火墙71具体包括CPU701、存储器702和转发芯片703等,在转发芯片703中形成用于完成前述实施例中方法的功能模块,再通过CPU701运行存储器702的机器可读指令,来完成上述方法中与所划分的功能模块所对应的程序步骤,从而实现前述方法所完成的功能。其中,转发芯片中包括的功能模块和前述实施例四中一致,此处不再赘述。
图8是本发明实施例七提供的从防火墙的结构示意图。本实施例提供的从防火墙81具体包括CPU801、存储器802和转发芯片803等,在转发芯片803中形成用于完成前述实施例中方法的功能模块,再通过CPU801运行存储器802的机器可读指令,来完成上述方法中与所划分的功能模块所对应的程序步骤,从而实现前述方法所完成的功能。其中,转发芯片中包括的功能模块和前述实施例五中一致,此处不再赘述。
图9是本发明实施例八提供的防火墙系统的结构示意图。如图9所示,防火墙系统91中包括一个主防火墙901和至少一个从防火墙902,主防火墙901和从防火墙902之间通过专用链路903进行报文流的流表和NAT连接信息的传输。其中,主防火墙901和从防火墙902的结构、功能及作用可参见前述实施例四到实施例七的相关描述,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种防火墙流表备份方法,系统内包括工作在网络地址转换NAT模式下且互为热备的主防火墙和从防火墙,其特征在于,包括:
所述主防火墙转发报文流的首报文时,获取所述报文流的流表和NAT连接信息;
所述主防火墙将所述报文流的流表和NAT连接信息发送给所述从防火墙,以使所述从防火墙根据所述报文流的流表和NAT连接信息转发所述报文流的非首报文;
所述NAT连接信息包括所述报文流的报文长度差值信息、所述NAT模式的期望连接信息和父子流信息,其中所述报文长度差值信息用于确定所述报文流中报文经过所述NAT模式转换后的传输控制协议TCP序列号,所述期望连接信息用于确定经过所述NAT模式转换后所述报文流的数据连接以及生成父子流信息,所述父子流信息用于确定所述报文流的父/子报文流。
2.根据权利要求1所述的防火墙流表备份方法,其特征在于,所述报文流的报文长度差值信息为所述报文流在经过所述NAT转换前后报文长度的差值。
3.根据权利要求1所述的防火墙流表备份方法,其特征在于,所述报文流的期望连接信息包含所述报文流在经过所述NAT模式转换前后数据连接的端口之间的匹配关系以及用于生成所述父子流信息的信息。
4.根据权利要求1至3任一项所述的防火墙流表备份方法,其特征在于,所述主防火墙将所述报文流的流表和NAT连接信息发送给从防火墙具体包括:
所述主防火墙通过专用链路将所述报文流的流表和NAT连接信息发送给所述从防火墙。
5.一种防火墙流表备份方法,系统内包括工作在网络地址转换NAT模式下且互为热备的主防火墙和从防火墙,其特征在于,包括:
所述从防火墙接收所述主防火墙发送的报文流的流表和NAT连接信息;
所述从防火墙根据所述流表和所述NAT连接信息转发所述报文流的非首报文;
所述NAT连接信息包括所述报文流的报文长度差值信息、所述报文流的期望连接信息和所述报文流的父子流信息。
6.根据权利要求5所述的防火墙流表备份方法,其特征在于,所述从防火墙根据所述流表和所述NAT连接信息转发所述报文流的非首报文具体包括:
若所述报文流为控制连接,则所述从防火墙根据所述报文流的报文长度差值信息还原所述报文流的传输控制TCP序列号,根据所述流表并在所述NAT连接上按照所述报文流的TCP协议序列号转发所述报文流的非首报文;
若所述报文流为数据连接,则所述从防火墙根据所述父子流信息确定所述报文流的安全策略与所述报文流的网络互联协议IP地址,根据所述期望连接信息确定所述报文流的端口匹配关系和生成父子流信息,根据所述流表、所述报文流的IP地址和所述报文流的端口匹配关系建立所述数据连接,并转发所述报文流的非首报文。
7.根据权利要求6所述的防火墙流表备份方法,其特征在于,所述报文流的报文长度差值信息为所述报文流在经过所述NAT模式转换前后报文长度的差值。
8.根据权利要求6所述的防火墙流表备份方法,其特征在于,所述报文流的期望连接信息包含所述报文流在经过所述NAT模式转换前后所述数据连接的端口的匹配关系以及用于生成所述父子流信息的信息。
9.根据权利要求6所述的防火墙流表备份方法,其特征在于,所述根据父子流信息确定所述报文流的安全策略与所述报文流的网络互联协议IP地址具体包括:
确定所述报文流所属的父/子流;
如果所述报文流为子流,根据所述报文流的父流的安全策略确定所述报文流的安全策略与IP地址。
10.根据权利要求5-9任一项所述的防火墙流表备份方法,其特征在于,所述从防火墙接收主防火墙发送的报文流的流表和网络地址转换NAT连接信息具体包括:所述从防火墙通过专用链路接收所述报文流的流表和NAT连接信息。
11.一种主防火墙,所述主防火墙工作在网络地址转换NAT模式下,其特征在于,包括:
获取模块,用于在转发报文流的首报文时,获取所述报文流流表和NAT连接信息;
发送模块,用于将所述报文流的流表和NAT连接信息发送给从防火墙,以使所述从防火墙根据所述报文流的流表和NAT连接信息转发所述报文流的非首报文;
其中,所述NAT连接信息包括所述报文流的报文长度差值信息、所述NAT模式的期望连接信息和父子流信息,其中所述报文长度差值信息用于确定所述报文流中报文经过所述NAT转换后的传输控制协议TCP序列号,所述期望连接信息用于确定经过所述NAT模式转换后所述报文流的数据连接以及生成父子流信息,所述父子流信息用于确定所述报文流的父/子报文流。
12.根据权利要求11所述的主防火墙,其特征在于,所述报文流的报文长度差值信息为所述报文流在经过所述NAT转换前后报文长度的差值。
13.根据权利要求11所述的主防火墙,其特征在于,所述报文流的期望连接信息包含所述报文流在经过所述NAT模式转换前后数据连接的端口之间的匹配关系以及用于生成父子流信息的信息。
14.根据权利要求11至13任一项所述的主防火墙,其特征在于,所述发送模块具体用于:通过专用链路将所述报文流流表和NAT连接信息发送给所述从防火墙。
15.一种从防火墙,所述从防火墙工作在网络地址转换NAT模式下,其特征在于,包括:
接收模块,用于接收主防火墙发送的报文流的流表和NAT连接信息,
报文转发模块,用于根据所述流表和所述NAT连接信息转发所述报文流的非首报文;
所述NAT连接信息包括所述报文流的报文长度差值信息、所述报文流的期望连接信息和所述报文流的父子流信息。
16.根据权利要求15所述的从防火墙,其特征在于,所述报文转发模块具体用于:
若所述报文流为控制连接,则根据所述报文流的报文长度差值信息还原所述报文流的传输控制TCP序列号,根据所述流表并在所述NAT连接上按照所述报文流的TCP协议序列号转发所述报文流的非首报文;
若所述报文流为数据连接,则根据所述父子流信息确定所述报文流的安全策略与所述报文流的网络互联协议IP地址,根据所述期望连接信息确定所述报文流的端口匹配关系和生成父子流信息,根据所述流表、所述报文流的IP地址和所述报文流的端口匹配关系建立所述数据连接,并转发所述报文流的非首报文。
17.根据权利要求16所述的从防火墙,其特征在于,所述报文流的报文长度差值信息为所述报文流在经过所述NAT转换前后报文长度的差值。
18.根据权利要求16所述的从防火墙,其特征在于,所述报文流的期望连接信息包含所述报文流在经过所述NAT模式转换前后所述数据连接的端口的匹配关系以及用于生成父子流信息的信息。
19.根据权利要求16所述的从防火墙,其特征在于,所述报文转发模块具体用于:
确定所述报文流所属的父/子流;
如果所述报文流为子流,根据所述报文流的父流的安全策略确定所述报文流的安全策略与IP地址。
20.根据权利要求15-19任一项所述的从防火墙,其特征在于,接收模块具体用于:通过专用链路接收所述报文流的流表和NAT连接信息。
21.一种防火墙系统,其特征在于:包括一个如权利要求11-14任一项所述的主防火墙和至少一个如权利要求15-20任一项所述的从防火墙,所述主防火墙和所述从防火墙之间通过专用链路进行报文流的流表和NAT连接信息的传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410784814.9A CN104506513B (zh) | 2014-12-16 | 2014-12-16 | 防火墙流表备份方法、防火墙及防火墙系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410784814.9A CN104506513B (zh) | 2014-12-16 | 2014-12-16 | 防火墙流表备份方法、防火墙及防火墙系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506513A CN104506513A (zh) | 2015-04-08 |
CN104506513B true CN104506513B (zh) | 2018-05-22 |
Family
ID=52948228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410784814.9A Active CN104506513B (zh) | 2014-12-16 | 2014-12-16 | 防火墙流表备份方法、防火墙及防火墙系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506513B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241208B (zh) * | 2016-03-29 | 2020-02-21 | 华为技术有限公司 | 一种报文转发方法、第一交换机及相关系统 |
CN107666402B (zh) * | 2016-07-27 | 2020-07-07 | 新华三技术有限公司 | 网络服务控制方法和装置 |
US10972384B2 (en) | 2016-07-27 | 2021-04-06 | New H3C Technologies Co., Ltd. | Processing of data stream |
CN109474518B (zh) * | 2017-09-07 | 2021-08-20 | 华为技术有限公司 | 转发报文的方法及装置 |
CN107968827A (zh) * | 2017-11-29 | 2018-04-27 | 杭州迪普科技股份有限公司 | 一种基于多通道协议的会话备份方法及装置 |
CN109756498B (zh) * | 2019-01-04 | 2021-05-28 | 烽火通信科技股份有限公司 | 通信设备上tcp协议的nat alg转换方法及系统 |
CN110138656B (zh) * | 2019-05-28 | 2022-03-01 | 新华三技术有限公司 | 业务处理方法及装置 |
CN110636151B (zh) * | 2019-10-25 | 2022-03-22 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、防火墙及存储介质 |
CN110932983B (zh) * | 2019-12-04 | 2022-03-18 | 锐捷网络股份有限公司 | 一种tcp负载均衡方法、装置、设备及介质 |
CN113765858A (zh) * | 2020-06-05 | 2021-12-07 | 中创为(成都)量子通信技术有限公司 | 一种实现高性能状态防火墙的方法及装置 |
CN114500062B (zh) * | 2022-01-30 | 2024-04-02 | 北京百度网讯科技有限公司 | 一种nat穿越方法、装置、电子设备及存储介质 |
CN114793221B (zh) * | 2022-03-21 | 2024-02-09 | 新华三信息安全技术有限公司 | Nat关联表的处理方法及装置 |
CN115150167B (zh) * | 2022-06-30 | 2024-03-12 | 北京天融信网络安全技术有限公司 | 同步控制的方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042876B1 (en) * | 2000-09-12 | 2006-05-09 | Cisco Technology, Inc. | Stateful network address translation protocol implemented over a data network |
CN101557317A (zh) * | 2009-05-26 | 2009-10-14 | 杭州华三通信技术有限公司 | 双机热备组网中实现会话主动备份的系统、设备及方法 |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN102904818A (zh) * | 2012-09-27 | 2013-01-30 | 北京星网锐捷网络技术有限公司 | 一种arp信息表项更新方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543678B2 (en) * | 2012-01-03 | 2013-09-24 | Alcatel Lucent | Synchronization method for NAT static port forwarding objects in redundant configurations |
-
2014
- 2014-12-16 CN CN201410784814.9A patent/CN104506513B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042876B1 (en) * | 2000-09-12 | 2006-05-09 | Cisco Technology, Inc. | Stateful network address translation protocol implemented over a data network |
CN101557317A (zh) * | 2009-05-26 | 2009-10-14 | 杭州华三通信技术有限公司 | 双机热备组网中实现会话主动备份的系统、设备及方法 |
CN102821036A (zh) * | 2012-04-20 | 2012-12-12 | 杭州华三通信技术有限公司 | 一种实现报文转发的方法及设备 |
CN102904818A (zh) * | 2012-09-27 | 2013-01-30 | 北京星网锐捷网络技术有限公司 | 一种arp信息表项更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104506513A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506513B (zh) | 防火墙流表备份方法、防火墙及防火墙系统 | |
US9282057B2 (en) | Flexible stacking port | |
CN101517981B (zh) | 多机架仿真交换机 | |
CN102291455B (zh) | 分布式集群处理系统及其报文处理方法 | |
JP2017532903A (ja) | 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法 | |
CN101827039B (zh) | 一种负载分担的方法和设备 | |
CN103200094A (zh) | 一种实现网关动态负载分配的方法 | |
CN107733795B (zh) | 以太网虚拟私有网络evpn与公网互通方法及其装置 | |
CN106559246B (zh) | 集群的实现方法和服务器 | |
CN108092934A (zh) | 安全服务系统及方法 | |
CN103944828A (zh) | 一种协议报文的传输方法和设备 | |
US9401865B2 (en) | Network appliance redundancy system, control apparatus, network appliance redundancy method and program | |
CN101257490A (zh) | 一种防火墙旁路模式下的报文处理方法和系统 | |
CN103139075B (zh) | 一种报文传输方法和设备 | |
EP4033704A1 (en) | Routing information transmission method and apparatus, and data center interconnection network | |
CN101562576B (zh) | 一种路由发布方法和设备 | |
CN103200117B (zh) | 一种负载均衡方法和装置 | |
US20120158992A1 (en) | Group Member Detection Among Nodes of a Network | |
CN108833272A (zh) | 一种路由管理方法和装置 | |
CN109743316B (zh) | 数据传输方法、出口路由器、防火墙及双台防火墙系统 | |
CN105141526B (zh) | 虚拟网络通信的方法及装置 | |
CN101692654A (zh) | 一种HUB-Spoken组网的方法、系统及设备 | |
CN101917414B (zh) | Bgp分类网关设备及利用该设备实现网关功能的方法 | |
JP6062388B2 (ja) | 通信システム、通信制御方法および制御装置 | |
CN103441877A (zh) | 服务器网络集群的管理系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |