近期项目当中遇到了防火墙负载均衡的需求,拿出来和大家探讨一下。
用户在项目中采购了4台国内某知名品牌的高端防火墙,原本打算通过防火墙自身集群的方式实现防火墙的负载分担和冗余部署,可惜防火墙厂商的答复是如果采用集群的方式,4台防火墙的整体性能只能达到相当于1.5台防火墙的处理能力!也就是说有2.5台防火墙的性能被集群所制约和消耗掉了,不能完全实现线性的性能递增。那怎么办?防火墙厂商提出的建议是,4台防火墙两两组成一对,每对防火墙采用主备方式部署,实现会话同步和冗余切换,这样两对防火墙可以提供2倍于单台防火墙的处理能力。这个方案似乎比之前集群的解决方案要更好些!起码4台防火墙的承载能力有所提高了。看到这里,可能已经有人想到了另外一个问题,这两对防火墙之间如何分配流量呢?有人提出采用动态路由协议分配流量;有人提出采用策略路由,根据不同的源地址或者目的地址分配流量;也有人提出采用负载均衡设备分配流量等等。
对于动态路由协议和策略路由方式来分配防火墙的流量,其缺点类似与我们在讨论链路负载均衡时到底采用动态路由协议还是策略路由分配链路流量提出的一些观点和看法,这里就不再啰嗦一遍了。由于防火墙设备的特殊性,我们还必须考虑如何保证相同用户的进出流量都通过相同的防火墙,也就是内外网之间相互访问时原路径返回的问题。那么这两种解决办法的优势在于不需要额外增加设备。
采用负载均衡设备来对防火墙实现负载分担其劣势在于需要在防火墙内外两端都部署负载均衡设备,也就是我们常说的”三明治“方式部署,额外部署负载均衡设备会增加用户的投资,这是这种解决方案的劣势。那么我们来看看如何能够将劣势的影响减少到最小呢?我们先从提高防火墙的使用效率来入手,首先,采用了防火墙负载均衡的解决方案,我们可以打破防火墙两两冗余的部署方式,将4台防火墙当作独立的设备来使用,每台防火墙都能承载业务流量,这样就可以真正发挥4台防火墙的处理能力,使其处理能力可以实现线性的增加!不会像防火墙集群或者两两冗余HA部署那样,损失掉防火墙的性能。也就是说在不增加防火墙设备的情况下,采用这种方案使的现有防火墙的业务承载能力可以提高1倍!节省了未来防火墙扩容的投资。增加了负载均衡设备的投资,减少了未来防火墙设备的投资,一进一出相抵,从投资角度来说,也并不是不划算的一个方案。
除了投资方面的考虑,我们再看看采用防火墙负载均衡方案能带来哪些好处:
- 提高防火墙设备的利用率,简化了防火墙设备的管理和配置,能够发挥每台设备的最大性能;
- 提高了防火墙的扩展能力,现有防火墙组群承载能力不够时,只需要在组群中增加防火墙即可,不用局限于原有防火墙的品牌、型号、处理能力;
- 对每台防火墙可以提供多种健康检测机制,及时发现和规避不可用的防火墙设备,实现防火墙之间的冗余部署;
- 通过负载均衡设备的原路径返回”auto-last-hop“功能,能够很容易的实现进出防火墙采用相同路径的需求;
- 通过负载均衡设备的会话保持功能,保证关联交易和信息都通过相同的防火墙,保障业务的完整性;
- 利于外侧负载均衡设备抵御来自外部的DDoS攻击,卸载防火墙的压力;
典型拓扑如下图所示:
外部一对AX设备采用主备冗余部署,对入向的流量进行防火墙负载分担,并对出向流量的应答数据流实现原路径(防火墙)返回;
内部一对AX设备采用主备冗余部署,对出向的流量进行防火墙负载分担,并对入向流量的应答数据流实现原路径(防火墙)返回;
后期结合此项目,再给大家介绍一些具体的防火墙负载均衡配置示例。
S.G
本文转自 virtualadc 51CTO博客,原文链接:
http://blog.51cto.com/virtualadc/1094209