文:王军民
众所周知,防火墙支持负载均衡的部署方式不仅可以增强网络冗余性,更可以提高网络资源的利用率。但通过防火墙实现负载均衡的同时,也会因为防火墙间频繁交互连接表信息、决策分流等动作导致耗费防火墙资源过多,使得防火墙性能降低。在实际的性能测试中,我们发现,启用防火墙负载均衡功能,通常会降低防火墙20%的性能,而这种损失的降低,完全可以通过合理配置交换机来规避。下面,介绍一种通过实际测试证明有效的负载均衡方法――通过STP实现防火墙间的负载均衡。
一、负载均衡配置方法
STP(Sspanning-Tree Protocol)即生成树协议,通过STP结合Trunk并利用STP端口权值进行合理的设置,可以实现防火墙间的流量负载均衡。如图1所示,FW_A和FW_B的内网口、外网口分别连接在两台交换机上的TRUNK口上。
图1
在此基础上我们进行如下的操作:
1、 为了识别trunk数据,两台防火墙需要把接口均设置为trunk模式,并通过设置,保证来自于交换机中相应VLAN的流量正常通过;
2、 在两台交换机上执行如下操作:
步骤 | 命令 | 目标 |
Step 1 | configure terminal | 进入Switch 1配置状态 |
Step 2 | vtp domain domain-name | 配置VTP域 |
Step 3 | vtp mode server | 将Switch 1配置成VTP server |
Step 4 | end | 退出 |
Step 5 | show vtp status | 验证VTP的配置 |
Step 6 | show vlan | 验证VLAN |
Step 7 | configure terminal | 进入配置状态 |
Step 8 | interface fastethernet 0/1 | 进入F0/1端口 |
Step 9 | switchport trunk encapsulation dot1q | 配置trunk封装 |
Step 10 | switchport mode trunk | 配置成trunk |
Step 11 | end | 退出 |
Step 12 | show interfaces fastethernet0/1 switchport | 验证VLAN配置 |
Step 13 | 在switch1上的F0/2上重复7到11步骤 | |
Step 14 | 在Switch 2的F0/1,F0/2上重复7到11步骤 | |
Step 15 | show vlan | 当trunk已经起来,在switch2上验证已经学到相关的vlan配置 |
Step 16 | configure terminal | 在Switch 1上进入配置状态 |
Step 17 | interface fastethernet0/1 | 进入要配置的端口 |
Step 18 | spanning-tree vlan 2 port-priority 16 | 将端口权值16赋与VLAN 2 |
Step 19 | exit | 退回 |
Step 20 | interface fastethernet0/2 | 进入F0/2 |
Step 21 | spanning-tree vlan 3 port-priority 16 | 将端口权值16赋与VLAN 3 |
Step 22 | end | 退出 |
Step 23 | show running-config | 验证配置 |
Step 24 | copy running-config startup-config | 保存配置 |
Step 25 | 在Switch 2的F0/1,F0/2上重复16到24步骤 |
通过上述操作,我们实现了对交换机中不同VLAN流量的分流。
二、网络正常情况下的流量负载说明
通过上述的配置,我们实现了对防火墙间的负载均衡,数据流的走向如图2所示:
图2
图2中,来自于VLAN2的数据流①会始终根据端口权值,从FW_A传输数据流,而来自于VLAN3的数据流②会始终根据端口权值,从FW_B传输数据流。
在此期间,两台负载均衡的防火墙之间通过芯跳线来保持连接表的同步。
【注意】本例只是通过划分两个VLAN来进行说明,在实际环境中,可以划分多个VLAN,例如说,将VLAN1—VLAN5的数据流分流到FW_A而VLAN6—VLAN8的数据流分流到FW_B。
三、网络异常情况下的流量负载说明
网络中存在很多不稳定的因素,上述防火墙负载均衡的部署,一旦由于链路原因导致一条网络链路中断,会怎么样呢?回答是肯定的网络仍能保持畅通。如图3所示:
举例来说,当右边链路中断的时候,FW_B将收不到来自VLAN3的数据流②。VLAN3的数据流②会自动切换到端口权值低的Trunk接口上,通过FW_A传输到互联网上。此时,数据流①和数据流②都将通过左边的链路通信。
同时,由于两台防火墙连接表信息实时同步,所有TCP的连接将继续保持而不会因为切换而中断。
综上所述,通过防火墙与交换机的配合,可以很好的实现网络流量的负载均衡。当然,在我们进行配置之前,首先要了解用户网络中VLAN间的流量,根据具体流量进行配置,这样才能确保将网络流量均摊到两条链路中,真正实现网络流量的负载均衡。