【防火墙技术连载40】强叔侃墙 双机热备篇 VGMP招式详解

digest [复制链接]
发表于 : 2014-12-10 15:11:10 最新回复:2016-11-07 16:21:37
17050 32
强叔侃墙
强叔侃墙 官方号

上篇我们详细介绍了VGMP组如何通过VRRP备份组来实现接口故障监控、设备状态切换以及上下行流量引导。我们还发现VGMPVRRP的配合只适用于防火墙连接二层设备的组网。那么当防火墙连接路由器或防火墙透明接入网络(业务接口工作在二层)时,VGMP组是使用什么招式来应对的呢?本篇强叔将为您揭秘VGMP组的其余保留招式~

防火墙连接路由器时的VGMP招式

        如下图所示,两台防火墙上下行业务接口工作在三层,连接路由器。防火墙与路由器之间运行OSPF协议。由于上下行不是二层交换机,所以VGMP组无法使用VRRP备份组。这时VGMP组使用的故障监控招式是直接监控接口状态。方法是直接将接口加入VGMP组。当VGMP组中的接口故障时,VGMP组会直接感知到接口状态变化,从而降低自身的优先级。

VGMP组直接监控接口状态的配置步骤如下(以主备备份方式的双机热备为例):

FW1的配置

FW2的配置

interface GigabitEthernet 1/0/1

 ip address 10.1.1.2 255.255.255.0

 hrp track active  //将接口GE1/0/1加入Active组。

interface GigabitEthernet 1/0/1

 ip address 10.1.2.2 255.255.255.0

 hrp track standby //将接口GE1/0/1加入Standby组。

interface GigabitEthernet 1/0/3

 ip address 10.2.1.2 255.255.255.0

 hrp track active  //将接口GE1/0/3加入Active组。

interface GigabitEthernet 1/0/3

 ip address 10.2.2.2 255.255.255.0

 hrp track standby //将接口GE1/0/3加入Standby组。

hrp interface GigabitEthernet 1/0/2  //指定心跳口

hrp enable      //启用双机热备功能

hrp interface GigabitEthernet 1/0/2  //指定心跳口

hrp enable      //启用双机热备功能

说明:如果是负载分担方式的双机热备,则需要在每个业务接口上执行hrp track activehrp track standby,将业务接口分别加入Active组和Standby组。

【强叔问答】看到这里好奇的小伙伴们或许会问:不是将接口加入VGMP组,使VGMP组监控接口状态吗?为什么命令行是hrp track而不是vgmp track呢?这是因为上节讲到VGMPHRP的报文都是由VRRP头和VGMP头封装的,区别只在于HRP报文还需要再封装一个HRP报文头。所以当初开发者设计命令时就统一使用了hrp这个参数,并流传至今。

 

        如上图所示,配置完成后,FW1VGMP组状态为ActiveFW1成为主用设备;FW2VGMP组状态为StandbyFW2成为备用设备。在双机热备的第一篇中讲到,如果我们希望PC1访问PC2的流量通过FW1转发,那么我们就需要手工将FW2所在链路(R1?>FW2?>R2)的OSPF Cost值调大。但是如果上下行的路由器R1R2我们不方便或不能配置时怎么办呢?这就需要用到防火墙VGMP组的流量引导功能,将流量自动引导到主用设备上来。这种组网采用的VGMP流量引导招式为通过自动调整Cost值实现流量引导,即防火墙会根据VGMP组的状态自动调整OSPFCost(命令为hrp ospf-cost adjust-enable。启用此功能后,如果防火墙上存在状态为ActiveVGMP组,则防火墙会正常对外发布路由;如果防火墙上的VGMP组状态都为Standby,则防火墙会在发布路由时将Cost值增加65500(此为缺省值,可调整)。

说明:如果是负载分担组网,由于两台防火墙上都存在状态为ActiveVGMP组,所以都会正常对外发布路由。

如上图所示,主用FW1VGMP组状态为Active)会正常对外发布路由,备用设备FW2VGMP组状态为Standby)会在对上下行设备发布路由时将Cost值增加65500。这样在R1上来看,通过FW1去往PC2OSPF Cost值为1+1+1=3,通过FW2去往PC2OSPF Cost值为65501+1+1=65503。因为路由器在转发流量时会选择开销(Cost值)更小的路径(R1?>FW1?>R2),所以内网PC1访问外网PC2的流量会通过主用设备FW1转发。

如下图所示,当FW1的业务接口故障后,两台防火墙的VGMP组会进行状态切换,具体切换过程请参见上篇的“主用设备接口故障后的状态切换过程”。状态切换后,FW2VGMP组状态切换成ActiveFW2成为主用设备;FW1VGMP组状态切换成StandbyFW1成为备用设备。这时FW2正常对外发布路由,FW1发布的路由Cost值增加65500。而在R1上来看,通过FW1去往PC2的路径不通(因为接口故障),通过FW2去往PC2的路径可达且Cost值为3.,所以内网PC1访问外网PC2的流量会通过新的主用设备FW2转发。


防火墙透明接入,连接交换机时的VGMP招式

如下图所示,两台防火墙上下行业务接口都工作在二层,连接交换机。由于防火墙的业务接口工作在二层,没有IP地址,所以VGMP组无法使用VRRP备份组或者直接监控接口的状态。这时VGMP组使用的故障监控招式是通过VLAN监控接口状态。方法是将二层业务接口加入VLANVGMP组监控VLAN。当VGMP组中的接口故障时,VGMP组会通过VLAN感知到其中接口状态变化,从而降低自身的优先级。

VGMP组通过VLAN监控接口状态的配置步骤如下:

FW1的配置

FW2的配置

vlan 2

 port GigabitEthernet 1/0/1

port GigabitEthernet 1/0/3    //将二层业务接口加入VLAN2

 hrp track active  //VLAN2加入Active组,由Active组监控VLAN2

vlan 2

 port GigabitEthernet 1/0/1

port GigabitEthernet 1/0/3    //将二层业务接口加入VLAN2

 hrp track standby  //VLAN2加入Active组,由Standby组监控VLAN2

hrp interface GigabitEthernet 1/0/2  //指定心跳口

hrp enable      //启用双机热备功能

hrp interface GigabitEthernet 1/0/2  //指定心跳口

hrp enable      //启用双机热备功能


如上图所示,配置完成后,FW1VGMP组状态为ActiveFW1成为主用设备;FW2VGMP组状态为StandbyFW2成为备用设备。由于防火墙的业务接口工作在二层,防火墙本身不能运行OSPF协议,因此VGMP组无法通过控制OSPF Cost值的变化来引导上下行流量。这时VGMP可以通过控制VLAN是否转发流量的招式来保证流量引导到主用设备上。当VGMP组状态为Active时,组内的VLAN能够转发流量;当VGMP组状态为Standby时,组内的VLAN被禁用,不能转发流量。VGMP控制VLAN是否转发流量不需要单独配置,只需要按照上表将VLAN加入VGMP组即可。

如上图所示,主用设备FW1VGMP组状态为Active)上的VLAN被启用,能够转发流量。备用设备FW2VGMP组状态为Standby)上的VLAN被禁用,不能转发流量。因此PC1访问PC2的流量都从主用设备FW1转发。

如下图所示,当FW1的业务接口故障后,两台防火墙的VGMP组会进行状态切换,具体切换过程请参见上篇的“主用设备接口故障后的状态切换过程”。FW1VGMP组状态由Active切换到Standby时,组内VLAN中的所有非故障接口都会Down然后Up一次。这会导致上下行交换机更新自身MAC转发表,将目的MAC地址改成与端口Eth0/0/2的映射,从而将流量引导到FW2上。这时由于FW2VGMP组状态已经由Standby切换成Active,所以FW2VLAN2能够正常转发流量。

说明:当防火墙的业务接口工作在二层,连接二层设备时,不支持负载分担方式的双机热备。因为如果工作于负载分担方式,则两台设备上的VLAN都被启用,都能够转发流量,整个网络就会形成环路。


防火墙透明接入,连接路由器时的VGMP招式

如下图所示,两台防火墙上下行业务接口都工作在二层,连接路由器。两台路由器之间运行OSPF。在此种组网中防火墙的VGMP组采用的故障监控和流量引导方式与上一种组网相同,即通过VLAN监控接口状态实现故障监控,通过控制VLAN是否转发流量实现流量引导

故障监控的区别之处在于此种组网只支持负载分担方式的双机热备,不支持主备备份方式。因为如果工作于主备备份方式,备用设备上的VLAN被禁用,它的上下行路由器就无法进行通信,无法建立OSPF路由。这样当主备切换时,新的主用设备(原备用设备)的VLAN被启用,它的上下行路由器才开始新建OSPF路由。而OSPF路由的新建是需要一定时间的,所以会导致业务的暂时中断。此组网的双机热备配置步骤如下:

FW1的配置

FW2的配置

vlan 2

 port GigabitEthernet 1/0/1

port GigabitEthernet 1/0/3    //将二层业务接口加入VLAN2

 hrp track active  //VLAN2加入Active组,由Active组监控VLAN2

hrp track standby //VLAN2加入Standby组,由Standby组监控VLAN2

vlan 2

 port GigabitEthernet 1/0/1

port GigabitEthernet 1/0/3    //将二层业务接口加入VLAN2

hrp track active  //VLAN2加入Active组,由Active组监控VLAN2

hrp track standby //VLAN2加入Standby组,由Standby组监控VLAN2

hrp interface GigabitEthernet 1/0/2  //指定心跳口

hrp enable      //启用双机热备功能

hrp interface GigabitEthernet 1/0/2  //指定心跳口

hrp enable      //启用双机热备功能

 

   

如上图所示,配置完成后,由于FW1FW2上都存在状态为ActiveVGMP组,所以FW1FW2都是主用设备,他们的VLAN2都转发流量。这时在R1的路由表上也可以看到去往PC2的流量可以分别通过FW1FW2转发。

如下图所示,当FW1的业务接口故障后,两台防火墙的VGMP组会进行状态切换,双机热备状态也会由负载分担变成主备备份,具体切换过程请参见上篇的“负载分担双机热备状态形成和切换过程”。FW1VGMP组状态由Active切换到Standby时,组内VLAN中的所有接口都会Down然后Up一次。这会导致上下行路由器的路由变化并收敛(从下图的路由表中可以看到),从而将流量引导到FW2上。这时由于FW2VGMP组状态已经由Standby切换成Active,所以FW2VLAN2能够正常转发流量。


VGMP组监控远端接口的招式

上面描述的是VGMP组应对各种双机热备组网的招式,其中VGMP组监控的是防火墙本身的接口。下面我们再来学习两个VGMP组监控远端接口的招式。远端接口是指链路上其他设备的接口。需要注意的是这两种VGMP监控远端接口的招式只能用于防火墙业务接口工作在三层的组网,因为只有业务接口工作在三层才有IP地址,才能对远端设备发送IP-LinkBFD的探测报文。

l 通过IP-Link监控远端接口状态:方法是建立IP-Link探测远端接口, 然后VGMP组监控IP-Link状态。当IP-Link探测的接口故障时,IP-Link的状态变成DownVGMP组感知到IP-Link的状态变化,从而降低自身的优先级。

如下图所示,我们需要在FW1上使用IP-Link1探测R1GE1/0/1接口(非直连的远端接口),然后将IP-Link1加入Active组,由Active组监控IP-Link1的状态。


具体配置如下表所示(配置的前提条件是已配置完成双机热备功能):

FW1的配置

FW2的配置

ip-link check enable   //启用IP-Link功能

 ip-link 1 destination 1.1.1.1 interface GigabitEthernet1/0/3 mode icmp   //建立IP-Link1探测1.1.1.1  

 hrp track ip-link 1 active   //IP-Link1加入Active    

ip-link check enable   //启用IP-Link功能

 ip-link 1 destination 2.2.2.1 interface GigabitEthernet1/0/3 mode icmp    //建立IP-Link1探测2.2.2.1  

 hrp track ip-link 1 standby   //IP-Link1加入Standby

l 通过BFD监控远端接口状态:方法是通过BFD探测远端接口, VGMP组监控BFD状态。当BFD探测的远端接口故障时,BFD的状态变成DownVGMP组感知到BFD的状态变化,从而降低自身的优先级。

如下图所示,我们需要在FW1上使用BFD会话10探测R1GE1/0/1接口(非直连的远端接口),然后将BFD会话1加入Active组,由Active组监控BFD会话1的状态。


具体配置如下表所示(配置的前提条件是已配置完成双机热备功能):

FW1的配置

FW2的配置

bfd 1 bind peer-ip 1.1.1.1 //建立BFD会话1监控1.1.1.1

 discriminator local 10 //本地标识符为10

   discriminator remote 20/ /对端标识符为20

 hrp track bfd-session 10 active //BFD加入Active    

bfd 1 bind peer-ip 2.2.2.1 //建立BFD会话1监控2.2.2.1

 discriminator local 10 //本地标识符为10

   discriminator remote 20/ /对端标识符为20

 hrp track bfd-session 10 standby //BFD加入Active    

 

总结

综上所述,尽管VGMP组监控和流量引导招式五花八门,但都遵循以下两条准则:

l 每当VGMP组监控的一个接口故障时,无论是直接监控还是间接监控,无论是监控防火墙本身的接口还是远端接口,VGMP组的优先级都会降低2

l 只有主用设备(VGMP组状态为Active)才会将流量引导到本设备上,备用设备(VGMP组状态为Standby)则是想办法拒绝将流量引导到本设备上。

最后,我们总结下双机热备各种典型组网与VGMP故障监控和流量引导招式的关系,具体如下表所示:

双机热备组网

故障监控招式

流量引导招式

防火墙业务接口工作在三层,连接二层交换机(上篇讲到)

通过VRRP备份组监控接口

通过IP-Link监控接口(可选)

通过BFD监控接口(可选)

主用设备会向连接的交换机发送免费ARP报文,更新交换机的MAC转发表。

防火墙业务接口工作在三层,连接路由器

直接监控接口

通过IP-Link监控接口(可选)

通过BFD监控接口(可选)

主用设备正常对外发布路由,备用设备发布的路由Cost值增加65500

防火墙业务接口工作在二层(透明模式),连接二层交换机

通过VLAN监控接口


主用设备的VLAN能够转发流量,备用设备的VLAN被禁用。当主用设备切换成备用设备时,主用设备的VLAN中的接口会down然后up一次,触发上下行二层设备更新MAC转发表。

防火墙业务接口工作在二层(透明模式),连接路由器

通过VLAN监控接口


主用设备的VLAN能够转发流量,备用设备的VLAN被禁用。当主用设备切换成备用设备时,主用设备的VLAN中的接口会down然后up一次,触发上下行三层设备的路由收敛。

至此,双机热备的VGMP部分全部学习完毕,下篇强叔会为大家带来双机热备功能的最后一块拼图“HRP”,大家敬请期待!

 

上一篇 双机热备篇 VRRP与VGMP的故事(下)

下一篇 双机热备篇 你所不知道的HRP

汇总贴】 


本帖被以下专题推荐:

  • x
  • 常规:

点评 回复

跳转到指定楼层
爱在离别时
爱在离别时  精英 发表于 2014-12-26 13:19:29 已赞(0) 赞(0)

感谢,看的很仔细~ 已修改。

  • x
  • 常规:

点评 回复

爱在离别时
爱在离别时  精英 发表于 2014-12-26 13:19:49 已赞(0) 赞(0)

先顶后看,养成良好习惯!
  • x
  • 常规:

点评 回复

员Lemon
员Lemon  专家 发表于 2014-12-10 15:45:27 已赞(0) 赞(0)

好资料,顶起来~~
  • x
  • 常规:

点评 回复

kmyd
kmyd  大师 发表于 2014-12-10 17:52:46 已赞(0) 赞(0)

感谢强叔!!!
  • x
  • 常规:

点评 回复

周中斌
周中斌   发表于 2015-3-2 15:19:50 已赞(0) 赞(0)

惭愧啊,搞了这么多年的网络,只接触了“通过VRRP备份组监控接口”的配置。哈哈

  • x
  • 常规:

点评 回复

网络小强
网络小强  精英 发表于 2014-12-11 16:14:28 已赞(0) 赞(0)

这么看VGMP的作用还挺大啊!

  • x
  • 常规:

点评 回复

DoubleDong
DoubleDong   发表于 2014-12-13 12:55:39 已赞(0) 赞(0)

先顶后看,养成良好习惯!
  • x
  • 常规:

点评 回复

DoubleDong
DoubleDong   发表于 2014-12-13 15:25:34 已赞(0) 赞(0)

VGMP 与HRP  IP-Link 的 联动 博大精深,得好好消化消化!
  • x
  • 常规:

点评 回复

DoubleDong
DoubleDong   发表于 2014-12-13 15:35:55 已赞(0) 赞(0)

强叔,第一张图中的R1的备注中出现笔误,“通过FW1去往PC2的开销为3,通过FW2去往PC2的开销为65503,所以我选择 FW2 转发报文”,此处应改为FW1。
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录