如果要两台FW工作在负载分担模式,两台FW上都要有状态配置为active的VRRP备份组。

如图1所示,FW_A的VRRP备份组1和3状态被配置成active,VRRP备份组2和4状态被配置成standbyFW_B的VRRP备份组2和4状态被配置成active,VRRP备份组1和3状态被配置成standby。正常情况下,两台设备的VGMP组状态都是load-balance,VRRP备份组的运行状态由配置决定。因此,FW_A的VRRP备份组1和3运行状态是Master,VRRP备份组2和4运行状态是BackupFW_B的VRRP备份组2和4运行状态都是Master,VRRP备份组1和3运行状态是Backup

内部网络中部分主机的网关被设置成了VRRP备份组3的虚拟IP地址10.0.0.1。这些主机在访问外部网络时,会广播一个ARP请求报文,请求10.0.0.1的MAC地址。FW_A的VRRP备份组3状态为Master,会响应内网主机的ARP请求。FW_B的VRRP备份组3状态为Backup,不会响应内网主机的ARP请求。FW_A响应的ARP报文会刷新交换机的MAC地址表和主机的ARP缓存表,使这部分主机发往外部网络的流量都被引导到FW_A上处理。

而另一部分主机的网关被设置成了VRRP备份组4的虚拟IP地址10.0.0.2。这些主机在访问外部网络时,同样会广播一个ARP请求报文,请求10.0.0.2的MAC地址。此时,只有FW_B会响应这个ARP请求。因此,这部分主机的流量都被引导到FW_B上转发。

同理,路由器R1到内部网络路由的下一跳地址被设置成了VRRP备份组1的虚拟IP地址10.0.1.1,路由器R1发往内部网络的流量会被引导到FW_A上处理。路由器R2到内部网络路由的下一跳被设置成了VRRP备份组2的虚拟IP地址10.0.1.2,路由器R2发往内部网络的流量会被引导到FW_B上处理。

图1 基于VRRP实现负载分担(双机状态正常)

 
表1 上图中的VRRP备份组配置
FW_A
FW_B
#
interface GigabitEthernet 1/0/1
 vrrp vrid 3 virtual-ip 10.0.0.1 active
 vrrp vrid 4 virtual-ip 10.0.0.2 standby
#
interface GigabitEthernet 1/0/3
 vrrp vrid 1 virtual-ip 10.0.1.1 active
 vrrp vrid 2 virtual-ip 10.0.1.2 standby
#
interface GigabitEthernet 1/0/1
 vrrp vrid 3 virtual-ip 10.0.0.1 standby
 vrrp vrid 4 virtual-ip 10.0.0.2 active
#
interface GigabitEthernet 1/0/3
 vrrp vrid 1 virtual-ip 10.0.1.1 standby
 vrrp vrid 2 virtual-ip 10.0.1.2 active

如图2所示,FW_A的上行业务接口故障,FW_A的VRRP备份组1和2的状态变为Initialize。同时,FW_A和FW_B的VGMP组状态也发生了变化。FW_A的VGMP组状态变为standbyFW_B的VGMP组状态变为activeFW_A和FW_B基于VGMP组状态对VRRP备份组状态进行调整。FW_A上VRRP备份组3和4的状态被调整为BackupFW_B上所有VRRP备份组的状态都被调整为Master

FW_B上VRRP备份组状态由Backup变为Master时会广播免费ARP报文,报文中携带VRRP备份组的虚拟IP地址和接口的MAC地址(开启接口虚MAC地址功能时,携带虚MAC地址)。免费ARP报文会刷新交换机的MAC地址表、主机和路由器的ARP缓存表。这样,内外部网络之间的流量会被引导到FW_B上转发。

同理,如果FW_B发生故障,FW_A无故障,内外部网络之间的流量会被引导到FW_A上转发。

图2 基于VRRP实现负载分担(FW_A故障)

综上所述,正常情况下,FW_A和FW_B都会处理内外部网络之间的流量。FW_A和FW_B之间形成负载分担模式的双机热备。FW_A和FW_B中任意一台故障时,流量都会自动切换到未故障的FW上处理,保证业务不中断。