一种多防火墙的负载均衡方法及装置的制作方法

文档序号:7653038阅读:186来源:国知局
专利名称:一种多防火墙的负载均衡方法及装置的制作方法
技术领域
本发明是一种多防火墙的负载均衡方法及装置,属于网络通信与信息安全技术领域,涉及对防火墙的路由负载均衡和冗余备份技术的改进与性能的提高。
背景技术
通常,内部网络的主机都配置一个缺省网关,下一跳为出口防火墙的内网接口IP地址,这样内部网络各主机访问外部网络的所有报文将都被首先发送到出口防火墙,然后由该防火墙进行报文转发,从而实现内部主机和外部网络之间的通信。
采用缺省路由方式,由于出口防火墙仅有一台,当出口防火墙发生故障时,内部网络中所有以该防火墙为缺省网关的主机与外部网络之间的通讯将中断,通讯可靠性无法保证。
即便使用多台防火墙,各台防火墙之间不能形成互补备份,还只是各自进行工作,当其中一台出现失效情况时,其他防火墙不能有效地接替其工作,可能会出现网络中断。

发明内容
本发明正是针对上述现有技术中存的问题而设计提供了一种多防火墙的负载均衡方法及装置,其目的是提供了一种防火墙的负载均衡方法,该方法使多台防火墙组成一个高效稳定的路由链路,实现路由的高可靠和高可用性。本发明的另一个目的是提供一种适用于该方法的装置,该装置为每台防火墙虚拟一个网关地址,所有客户机指向不同的网关,从而流量分担到每个防火墙上,当其中的某个防火墙出现故障时,其他防火墙可以接管故障墙的地址,保证网络持续畅通。
本发明方法适用于支持组播或广播的局域网(如以太网等),支持多Vlan环境,不需要改变用户组网情况,配置简单,对主机无任何运行负担,实现了主机默认网关的备份。
本发明的目的是通过以下措施来实现的该种多防火墙的负载均衡方法,其特征在于该方法的步骤为
(1)在每一台防火墙上建立用户定义的配置信息,配置信息中包括实例和关联两部分内容,实例是绑定在防火墙某一个网口上的虚拟IP地址的集合,一台防火墙上存在多个实例,关联是指关联在一起的实例的集合,一台防火墙上存在多个关联,其中,实例包括—实例名称;—防火墙上的网口虚拟的IP地址;—虚拟路由ID及优先级;—绑定的端口名称;—选择主状态、从状态之一作为实例的默认状态;关联包括—关联的名称;—关联中实例的名称;(2)在每一台防火墙上建立多个实例和关联,其中关联的数量与建立的防火墙的数量相等,每一台防火墙上的关联与其它防火墙上的关联一一对应,每一台防火墙上有且只有一个关联的默认状态为主状态,其余关联的默认状态为从状态,一个默认状态为主状态的关联只出现在一台防火墙上;(3)将默认状态为主状态的关联中的实例的网口虚拟IP地址生效,作为终端PC机的网关,将其余默认状态为从状态的关联中的实例的网口虚拟IP地址不生效;(4)将用户PC的网关指向不同的防火墙的虚拟网关,即生效的默认状态为主状态的关联中的实例的网口虚拟IP地址;(5)当某台防火墙失效时,即该防火墙的网口虚拟IP地址失效,与这台防火墙上默认状态为主状态的关联相对应的其他防火墙上的默认状态为从状态的关联相互进行选举,选举出一个优先级最高的关联接替失效防火墙上默认状态为主状态的关联,并且将其状态转变为主状态,并使其网口虚拟IP地址生效,以前通过失效防火墙的数据流就会转向通过新选举出来的关联所在的防火墙;(6)当上述步骤(5)中所述的防火墙恢复工作时,其默认状态为主状态的关联生效,在其他防火墙上选举产生的接替其工作的的关联的状态转变为从状态,数据流又是会重新转向到恢复工作的防火墙上。
适用于上述多防火墙的负载均衡方法的装置,其特征在于该装置包括核心处理模块,负责实例状态转换和事件处理调度;配置解析模块,负责解析配置文件;状态检测模块,负责监测网口状态;网络通信模块,负责数据报文的接收和发送;网络配置模块,负责配置网络接口虚拟IP和虚拟路由;连接关系为配置解析模块、状态检测模块、网络通信模块和网络配置模块都与核心处理模块连接并构成系统。
本发明技术方案中采用vrrp(Virtual Router Redundancy Protoco1)协议,vrrp作为一种容错协议,适用于支持组播或广播的局域网(如以太网等)。


图1为本发明实施例的负载均衡模式网络拓扑2为本发明实施例中一台防火墙出现问题时切换拓扑3为本发明实施例的实例状态机的工作转换4为本发明实施例的启动软件流程5为本发明实施例的主状态选举软件的流程6为本发明实施例的关联中同步主状态的软件的流程7为本发明实施例的关联中同步从状态的软件的流程8为本发明实施例的关联中同步出错状态的软件的流程9为本发明实施例的装置的结构示意图具体实施方式
以下将结合附图和实施例对本发明技术方案作进一步地详述参见附图1所示,以两台防火墙A和防火墙B的工作状态及过程为例,说明采用本发明技术方案所实现的路由负载均衡状态。防火墙A和防火墙B与服务器6和客户机7分别连接,其操作系统中安装实现本发明技术方案所需要的计算机程序文件,该计算机程序的流程如附图4~8所示。
上述系统在工作中,采用本发明所述的多防火墙的负载均衡方法,其步骤为(1)在防火墙A和防火墙B上建立用户定义的配置信息,配置信息中包括实例和关联两部分内容,实例是绑定在防火墙某一个网口上的虚拟IP地址的集合,如Fe2的10.0.2.253和Fe3的10.0.1.253,一台防火墙上存在多个实例,关联是指关联在一起的实例的集合,如Fe2的10.0.2.253和Fe3的10.0.1.253的集合,就是一种关联,一台防火墙上存在多个关联,其中,实例包括—实例名称;—防火墙上的网口虚拟的IP地址;—虚拟路由ID及优先级;—绑定的端口名称;—选择主状态、从状态之一作为实例的默认状态;关联包括—关联的名称;—关联中实例的名称;在每一台防火墙上建立的用户定义的配置信息中实例采用如下格式描述vrrp_instance v1 {state MASTERinterface fe2virtual_router_id 50priority 100advert_int 1authentication {auth_type PASSauth_pass 5678}virtual_ipaddress {10.0.2.253/24}
}

在每一台防火墙上建立的用户定义的配置信息中关联采用如下格式描述vrrp_sync_group VGA {group {v1v3}}

如果一个关联中所有实例都生效,则此关联生效;如果有一个在此关联中的实例失效,则认为此关联整个失效,即关联中所有实例都失效。每个关联有四种状态——初始化状态、主状态、从状态和出错状态,具体状态机转换参见图3。
(2)在每一台防火墙上建立4个实例和两个关联,其中关联的数量与建立的防火墙的数量相等,都是两个,每一台防火墙上的关联与另一台防火墙上的关联一一对应,每一台防火墙上有且只有一个关联的默认状态为主状态,其余关联的默认状态为从状态,一个默认状态为主状态的关联只出现在一台防火墙上;在防火墙A上,实例为Fe2的10.0.2.253、10.0.2.254和Fe3的10.0.1.253、10.0.1.254,共四个,其中,关联为Fe2的10.0.2.253和Fe3的10.0.1.253、Fe2的10.0.2.254和Fe3的10.0.1.254,共两个,其中,Fe2的10.0.2.253和Fe3的10.0.1.253的关联的默认状态为主状态,有效并在图中显示,而Fe2的10.0.2.254和Fe3的10.0.1.254的关联的默认状态为从状态,暂不生效,所以在图中不显示;与防火墙A相对应的防火墙B上,也存在着上述四个实例和两个关联,只是关联的默认状态与防火墙A上的相反,故显示情况不同。这样,防火墙A和防火墙B上的关联就形成了互为备份的关系。客户机的网关分别指向两台防火墙的虚拟网关,两台防火墙分担整个链路的流量。
(3)如前所述,将默认状态为主状态的关联中的实例的网口虚拟IP地址生效,作为终端PC机的网关,将其余默认状态为从状态的关联中的实例的网口虚拟IP地址不生效;(4)将用户PC的网关指向不同的防火墙的虚拟网关,即生效的默认状态为主状态的关联中的实例的网口虚拟IP地址;(5)当某台防火墙失效时,即该防火墙的网口虚拟IP地址失效,当设置有多台防火墙时,与这台防火墙上默认状态为主状态的关联相对应的其他防火墙上的默认状态为从状态的关联相互进行选举,选举出一个优先级最高的关联接替失效防火墙上默认状态为主状态的关联,并且将其状态转变为主状态,并使其网口虚拟IP地址生效,以前通过失效防火墙的数据流就会转向通过新选举出来的关联所在的防火墙;在本实施例中,参见附图2所示,因为只有两台防火墙A和B,所以,当防火墙A上的Fe2的10.0.2.253和Fe3的10.0.1.253的关联失效时,防火墙B上的与其对应的Fe3的10.0.2.253和Fe3的10.0.1.253的关联就转变为主状态,并使其网口虚拟IP地址生效,由其承担起防火墙A的工作,因其有效性并在图中显示。防火墙B可在3秒内接管防火墙A上的虚拟网关,承担整个链路的流量。
(6)当上述步骤(5)中所述的防火墙恢复工作时,其默认状态为主状态的关联生效,在其他防火墙上选举产生的接替其工作的的关联的状态转变为从状态,数据流又是会重新转向到恢复工作的防火墙上。本实施例中,防火墙A恢复之后,两台防火墙又会正常工作在路由负载均衡状态。
本实施例中,采用上述技术方案对防火墙A进行配置的过程是1.配置防火墙A的fe2和fe3口工作在路由模式,添加一条允许224.0.0.0/255.0.0.0组播地址通过的包过滤安全规则;2.配置防火墙fe1、fe2和fe3的IP地址;3.添加fe2和fe3口的四个虚拟网关;其中四个实例的虚拟路由ID不能相同,虚拟路由ID相同的端口是互为备份的端口,在下面配置防火墙B的实例中,防火墙B中虚拟网关的虚拟路由ID要和防火墙A相同的虚拟网关的虚拟路由ID相同。
4.添加两个关联,这样当一个实例出现故障时,认为这个关联中的所有实例都出现故障;5.启动这两个关联;6.在fe1口启动状态同步采用上述技术方案对防火墙B进行配置的过程是1.配置防火墙A的fe2和fe3口工作在路由模式,添加一条允许224.0.0.0/255.0.0.0组播地址通过的包过滤安全规则;2.配置防火墙fe1、fe2和fe3的IP地址;3.添加fe2和fe3口的四个虚拟网关;其中四个实例中的虚拟路由ID要分别和防火墙A上fe2和fe3端口对应的虚拟网关的虚拟路由ID相同;4.添加两个关联,这样当一个实例出现故障时,认为这个关联中的所有实例都出现故障;5.启动这两个关联;6.在fel口启动状态同步。
采用本发明技术方案的防火墙A和防火墙B在工作过程中,其中1.主防火墙启动过程为●主防火墙上标记为vrrp状态state为MASTER的vrrp实例启动为主状态●通过linux的netlink内核接口向网络接口(interface中设置的接口)设置virtual_ipaddress中定义的虚拟IP地址●通过linux的netlink内核接口在相应的接口上启动虚拟IP的虚拟路由●通过此网络接口向224.0.0.18组播地址发送IGMP组播报文,加入组播组中●通过此网络接口间隔1秒向从防火墙发送VRRP组播报文,目的地址为224.0.0.18,vrrp组播报文中包含此vrrp实例的ID、优先级、密码和虚拟IP地址●通过此网络接口向客户端PC发送网关更新ARP广播,ARP报文中虚拟IP地址的MAC地址为此网络接口的MAC地址2.从防火墙启动过程为●从防火墙上标记为vrrp状态state为BACKUP的vrrp实例启动为主状态●通过linux的netlink内核接口向网络接口(interface中设置的接口)设置virtual_ipaddress中定义的虚拟IP地址●通过linux的netlink内核接口在相应的接口上启动虚拟IP的虚拟路由●通过此网络接口向224.0.0.18组播地址发送IGMP组播报文,加入组播组中●如果这时接收到主防火墙的VRRP组播报文,依次检查vrrp报文中的密码、ID、虚拟IP是否和自己的相符,相符则接收,否则丢弃●如果主防火墙的vrrp报文中的优先级比自己的高,则要将自己降级为从状态●通过linux的netlink内核接口去掉前步设置的虚拟IP和虚拟路由●同步和此vrrp实例同一vrrp关联的vrrp实例降为从状态,同样去掉相应的虚拟IP和虚拟路由●从防火墙不再发送vrrp组播报文,只接收主防火墙的vrrp报文3.当主防火墙出现故障时,将进行主从切换,主从防火墙分别做如下处理3.1主防火墙实例状态转变●如果网口出现故障(网线断掉或者网卡出现故障),则SLBP状态检测模块通过netlink获知网口down掉,绑定在此网口的vrrp实例转变为出错状态。同时同步和此vrrp实例同一vrrp关联的vrrp实例为出错状态,去掉相应的虚拟IP和虚拟路由,并发送vrrp实例失效的vrrp报文通知从防火墙●如果整个防火墙出现故障down机(如断电或者系统死机),所有网口不再向从防火墙发送vrrp组播报文3.2从防火墙vrrp实例状态转变●从防火墙上的vrrp实例处于从状态,当收到主防火墙发来的vrrp实例失效的vrrp报文或3秒钟没有收到主防火墙的正确vrrp组播报文时,vrrp实例将会从从状态升为主状态●当所有vrrp实例都升为主状态后,vrrp关联升为主状态,启动相应的虚拟IP和虚拟路由,并发送vrrp组播报文●在从防火墙真正成为主防火墙之前,所有的从防火墙要进行选举,选举通过比较收到的其它从防火墙vrrp报文中的优先级和自己的优先级决定(如果优先级相同,则MAC地址小的为高优先级)如果收到的优先级比自己高,则vrrp实例转变为从状态,相应的vrrp关联转变为从状态,防火墙转变回从防火墙;如果收到的优先级都比自己低,则说明现在自己被选举出来做为新的主防火墙,状态不变●新的主防火墙每间隔1秒向从防火墙发送vrrp组播报文●新的主防火墙向客户端PC发送网关更新ARP广播,ARP报文中虚拟IP地址的MAC地址为此防火墙相应网络接口的MAC地址4.当主防火墙故障解除时,主防火墙恢复,主防火墙和上面选举出来的主防火墙分别做如下处理4.1主防火墙实例状态转变●主防火墙上标记为vrrp状态state为MASTER的vrrp实例启动为主状态●通过linux的netlink内核接口向网络接口(interface中设置的接口)设置virtual_ipaddress中定义的虚拟IP地址●通过linux的netlink内核接口在相应的接口上启动虚拟IP的虚拟路由●通过此网络接口向224.0.0.18组播地址发送IGMP组播报文,加入组播组中●通过此网络接口间隔1秒向从防火墙发送VRRP组播报文,目的地址为224.0.0.18,vrrp组播报文中包含此vrrp实例的ID、优先级、密码和虚拟IP地址●通过此网络接口向客户端PC发送网关更新ARP广播,ARP报文中虚拟IP地址的MAC地址为此网络接口的MAC地址4.2选举出来的主防火墙vrrp实例状态转变●接收到主防火墙的vrrp组播报文,vrrp实例的优先级比自己要高,相应的vrrp实例降为从状态,vrrp关联降为从状态,去掉相应的虚拟IP和虚拟路由,降为从防火墙●不再发送vrrp组播报文,只接收主防火墙的vrrp报文参见附图9所示,适用于上述多防火墙的负载均衡方法的装置,其特征在于该装置包括
核心处理模块1,负责实例状态转换和事件处理调度;配置解析模块2,负责解析配置文件;状态检测模块3,负责监测网口状态;网络通信模块4,负责数据报文的接收和发送;网络配置模块5,负责配置网络接口虚拟IP和虚拟路由;连接关系为配置解析模块2、状态检测模块3、网络通信模块4和网络配置模块5都与核心处理模块1连接并构成系统。
本发明技术方案与现有技术相比具有支持多台防火墙的负载均衡、切换时间短、不改变用户的网络拓朴结构等优点。
权利要求
1.一种多防火墙的负载均衡方法,其特征在于该方法的步骤为(1)在每一台防火墙上建立用户定义的配置信息,配置信息中包括实例和关联两部分内容,实例是绑定在防火墙某一个网口上的虚拟IP地址的集合,一台防火墙上存在多个实例,关联是指关联在一起的实例的集合,一台防火墙上存在多个关联,其中,实例包括—实例名称;—防火墙上的网口虚拟的IP地址;—虚拟路由ID及优先级;—绑定的端口名称;—选择主状态、从状态之一作为实例的默认状态;关联包括—关联的名称;—关联中实例的名称;(2)在每一台防火墙上建立多个实例和关联,其中关联的数量与建立的防火墙的数量相等,每一台防火墙上的关联与其它防火墙上的关联一一对应,每一台防火墙上有且只有一个关联的默认状态为主状态,其余关联的默认状态为从状态,一个默认状态为主状态的关联只出现在一台防火墙上;(3)将默认状态为主状态的关联中的实例的网口虚拟IP地址生效,作为终端PC机的网关,将其余默认状态为从状态的关联中的实例的网口虚拟IP地址不生效;(4)将用户PC的网关指向不同的防火墙的虚拟网关,即生效的默认状态为主状态的关联中的实例的网口虚拟IP地址;(5)当某台防火墙失效时,即该防火墙的网口虚拟IP地址失效,与这台防火墙上默认状态为主状态的关联相对应的其他防火墙上的默认状态为从状态的关联相互进行选举,选举出一个优先级最高的关联接替失效防火墙上默认状态为主状态的关联,并且将其状态转变为主状态,并使其网口虚拟IP地址生效,以前通过失效防火墙的数据流就会转向通过新选举出来的关联所在的防火墙;(6)当上述步骤(5)中所述的防火墙恢复工作时,其默认状态为主状态的关联生效,在其他防火墙上选举产生的接替其工作的的关联的状态转变为从状态,数据流又是会重新转向到恢复工作的防火墙上。
2.根据权利要求1所述的多防火墙的负载均衡方法,其特征在于在每一台防火墙上建立的用户定义的配置信息中实例采用如下格式描述vrrp_instance v1{state MASTERinterface fe2virtual_router_id 50priority 100advert_int 1authentication{auth_type PASSauth_pass 5678}virtual_ipaddress{10.0.2.253/24}}
3.根据权利要求1所述的多防火墙的负载均衡方法,其特征在于在每一台防火墙上建立的用户定义的配置信息中关联采用如下格式描述vrrp_sync_group VGA{group{v1v3}}
4.根据权利要求1所述的多防火墙的负载均衡方法,其特征在于防火墙的数量为2~30台。
5.一种适用于上述多防火墙的负载均衡方法的装置,其特征在于该装置包括核心处理模块(1),负责实例状态转换和事件处理调度;配置解析模块(2),负责解析配置文件;状态检测模块(3),负责监测网口状态;网络通信模块(4),负责数据报文的接收和发送;网络配置模块(5),负责配置网络接口虚拟IP和虚拟路由;连接关系为配置解析模块(2)、状态检测模块(3)、网络通信模块(4)和网络配置模块(5)都与核心处理模块(1)连接并构成系统。
全文摘要
本发明是一种多防火墙的负载均衡方法及装置,其目的是提供了一种防火墙的负载均衡方法,该方法使多台防火墙组成一个高效稳定的路由链路,实现路由的高可靠和高可用性。本发明的另一个目的是提供一种适用于该方法的装置,该装置为每台防火墙虚拟一个网关地址,所有客户机指向不同的网关,从而流量分担到每个防火墙上,当其中的某个防火墙出现故障时,其他防火墙可以接管故障墙的地址,保证网络持续畅通。本发明技术方案与现有技术相比具有支持多台防火墙的负载均衡、切换时间短、不改变用户的网络拓朴结构等优点。
文档编号H04L12/28GK101052047SQ20071010316
公开日2007年10月10日 申请日期2007年5月22日 优先权日2007年5月22日
发明者白宇, 肖为剑, 王刚, 宋斌 申请人:网御神州科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1