虚拟路由冗余协议(VRRP)

VRRP简介:

定义:

虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol)通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。

目的:

VRRP能够在不改变组网的情况下,采用将多台路由设备组成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现默认网关的备份。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。

收益:

在具有多播或广播能力的局域网(如以太网)中,借助VRRP能在网关设备出现故障时仍然提供高可靠的缺省链路,无需修改主机及网关设备的配置信息便可有效避免单一链路发生故障后的网络中断问题。

VRRP原理描述

VRRP概述:

  • VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器。
  • 虚拟路由器(Virtual Router):又称VRRP备份组,由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。
  • Master路由器(Virtual Router Master):承担转发报文任务的VRRP设备。
  • Backup路由器(Virtual Router Backup):一组没有担转发任务的VRRP设备,当Master设备出现故障时,它们将通过竞选成为新的Master设备。
  • VRID:虚拟路由器的标识。
  • 虚拟IP地址(Virtual IP Address):虚拟路由器的IP地址,一个虚拟路由器可以有一个或多个IP地址,由用户配置。
  • IP地址拥有者(IP Address Owner):如果一个VRRP设备将虚拟路由器IP地址作为真实的接口地址,则该设备被称为IP地址拥有者。如果IP地址拥有者是可用的,通常它将成为Master。
  • 虚拟MAC地址(Virtual MAC Address):虚拟路由器根据虚拟路由器ID生成的MAC地址。一个虚拟路由器拥有一个虚拟MAC地址,格式为:00-00-5E-00-01-{VRID}(VRRP for IPv4);00-00-5E-00-02-{VRID}(VRRP for IPv6)。当虚拟路由器回应ARP请求时,使用虚拟MAC地址,而不是接口的真实MAC地址。

VRRP报文:

VRRP协议报文用来将Master设备的优先级和状态通告给同一备份组的所有Backup设备。

VRRP协议报文封装在IP报文中,发送到分配给VRRP的IP组播地址。在IP报文头中,源地址为发送报文接口的主IP地址(不是虚拟IP地址),目的地址是224.0.0.18,TTL是255,协议号是112。

VRRP报文的IP头中,TTL必须为255。当VRRP路由器收到TTL不等于255的VRRP协议报文后,必须丢弃。

主IP地址(Primary IP Address):从接口的真实IP地址中选出来的一个主用IP地址,通常选择配置的第一个IP地址。

目前,VRRP协议包括两个版本:VRRPv2和VRRPv3。VRRPv2仅适用于IPv4网络,VRRPv3适用于IPv4和IPv6两种网络。

基于不同的网络类型,VRRP可以分为VRRP for IPv4和VRRP for IPv6(简称VRRP6)。VRRP for IPv4支持VRRPv2和VRRPv3,而VRRP for IPv6仅支持VRRPv3。

VRRP报文结构:

VRRP报文结构

图:VRRPv2报文结构

VRRPv3报文结构

图:VRRPv3报文结构

字段解释:

字段 长度 描述
Version 4比特 指VRRP协议版本,VRRPv2此字段为2,VRRPv3此字段为3。
Type 4比特 定义了VRRP报文的类型。本版本的协议仅定义了一个报文类型:1:ADVERTISEMENT 带有未知类型的报文必须被丢弃。
Virtual Rtr ID8 8比特 虚拟路由器标识(VRID)字段标识了此报文所报告状态的虚拟路由器。可配置的范围是1–255。没有缺省值。
Priority 8比特 Priority字段申明了发送此报文的VRRP路由器的优先级。值越高优先级越高。该字段为8位无符号整型。如果VRRP路由器是虚拟路由器地址的IP地址所有者,那么其优先级必须为255。起备用作用的VRRP路由器的优先级必须在1–254之间。缺省的VRRP路由器优先级为100。优先级值0 用于指示当前虚拟路由器的主路由器停止参与VRRP组。主要用于触发备用路由器快速地迁移到主路由器,而不用等待当前主路由器超时。
Count IP Addrs 8比特 在此VRRP通告中包含的IP地址的数量。
Auth Type 8比特 认证类型字段用于标识要用到的认证方法。在一个虚拟路由器组内认证类型是唯一的。认证类型字段是一个8位无符号整型。如果报文携带未知的认证类型或者该认证类型和本地配置的认证方法不匹配,那么该报文必须被丢弃。目前定义的认证方法有:0 : No Authentication 不认证该认证类型表明VRRP协议报文的交换不需要认证。在发送VRRP协议报文时,Authentication Data 字段将被置为0;而在接收协议报文时,Authentication Data 字段被忽略。 1 : Simple Text Password,表示明文认证方式。2: IP Authentication Header,表示MD5认证方式。
Adver Int 8比特 VRRP通告间隔时间,单位为秒。缺省为1秒。这个字段主要用于错误配置路由器时的故障定位和解决。
Checksum 16比特 16位校验和,用于检测VRRP报文中的数据破坏情况。
IP Address 32比特 VRRP备份组的虚拟IPv4地址 或者虚拟IPv6地址
Authentication Data 32比特 VRRP报文的认证字。目前只有明文认证和MD5认证才用到该部分,对于其它认证方式,一律填0。

VRRP报文主要区别:

  • 支持的网络类型不同。VRRPv3适用于IPv4和IPv6两种网络,而VRRPv2仅适用于IPv4网络。

  • 认证功能不同。VRRPv3不支持认证功能,而VRRPv2支持认证功能。

    VRRPv2版本保留报文的认证字段,是为了兼容早期版本(RFC2338),VRRP认证并不能提高安全性。

  • 发送通告报文的时间间隔的单位不同。VRRPv3支持的是厘秒级,而VRRPv2支持的是秒级。

VRRP认证:

  • 无认证方式:设备对要发送的VRRP通告报文不进行任何认证处理,收到通告报文的设备也不进行任何认证,认为收到的都是真实的、合法的VRRP报文。
  • 简单字符(Simple)认证方式:发送VRRP通告报文的设备将认证方式和认证字填充到通告报文中,而收到通告报文的设备则会将报文中的认证方式和认证字与本端配置的认证方式和认证字进行匹配。如果相同,则认为接收到的报文是合法的VRRP通告报文;否则认为接收到的报文是一个非法报文,并丢弃这个报文。
  • MD5认证方式:发送VRRP通告报文的设备利用MD5算法对认证字进行加密,加密后保存在Authentication Data字段中。收到通告报文的设备会对报文中的认证方式和解密后的认证字进行匹配,检查该报文的合法性。

VRRP报文抓包示例:

VRRPv2抓包

图:VRRPv2报文抓包示例

VRRPv3抓包

图:VRRPv3报文抓包示例

VRRP工作原理:

VRRP状态机:

VRRP协议中定义了三种状态机:初始状态(Initialize)、活动状态(Master)、备份状态(Backup)。其中,只有处于Master状态的设备才可以转发那些发送到虚拟IP地址的报文。

Initialize:

  • 该状态为VRRP不可用状态,在此状态时设备不会对VRRP报文做任何处理。
  • 通常刚配置VRRP时或设备检测到故障时会进Initialize状态。
  • 收到接口Up的消息后,如果设备的优先级为255,则直接成为Master设备;如果设备的优先级小于255,则会先切换至Backup状态。

Masster:

当VRRP设备处于Master状态时,它将会做下列工作:

  • 定时(Advertisement Interval)发送VRRP通告报文。
  • 以虚拟MAC地址响应对虚拟IP地址的ARP请求。
  • 转发目的MAC地址为虚拟MAC地址的IP报文。
  • 如果它是这个虚拟IP地址的拥有者,则接收目的IP地址为这个虚拟IP地址的IP报文。否则,丢弃这个IP报文。
  • 如果收到比自己优先级大的报文,立即成为Backup。
  • 如果收到与自己优先级相等的VRRP报文且本地接口IP地址小于对端接口IP,立即成为Backup。

Backup:

  • 当VRRP设备处于Backup状态时,它将会做下列工作:

  • 接收Master设备发送的VRRP通告报文,判断Master设备的状态是否正常。

  • 对虚拟IP地址的ARP请求,不做响应。

  • 丢弃目的IP地址为虚拟IP地址的IP报文。

  • 如果收到优先级和自己相同或者比自己大的报文,则重置Master_Down_Interval定时器,不进一步比较IP地址。

    Master_Down_Interval定时器:Backup设备在该定时器超时后仍未收到通告报文,则会转换为Master状态。计算公式如下:Master_Down_Interval=(3*Advertisement_Interval) + Skew_time。其中,Skew_Time=(256–Priority)/256。

  • 如果收到比自己优先级小的报文且该报文优先级是0时,定时器时间设置为Skew_time(偏移时间),如果该报文优先级不是0,丢弃报文,立刻成为Master。

VRRP的工作过程:

VRRP的工作过程如下:

  1. VRRP备份组中的设备根据优先级选举出Master。Master设备通过发送免费ARP报文,将虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。
  2. Master设备周期性向备份组内所有Backup设备发送VRRP通告报文,以公布其配置信息(优先级等)和工作状况。
  3. 如果Master设备出现故障,VRRP备份组中的Backup设备将根据优先级重新选举新的Master。
  4. VRRP备份组状态切换时,Master设备由一台设备切换为另外一台设备,新的Master设备会立即发送携带虚拟路由器的虚拟MAC地址和虚拟IP地址信息的免费ARP报文,刷新与它连接的主机或设备中的MAC表项,从而把用户流量引到新的Master设备上来,整个过程对用户完全透明。
  5. 原Master设备故障恢复时,若该设备为IP地址拥有者(优先级为255),将直接切换至Master状态。若该设备优先级小于255,将首先切换至Backup状态,且其优先级恢复为故障前配置的优先级。
  6. Backup设备的优先级高于Master设备时,由Backup设备的工作方式(抢占方式和非抢占方式)决定是否重新选举Master。
    • 抢占模式:在抢占模式下,如果Backup设备的优先级比当前Master设备的优先级高,则主动将自己切换成Master。
    • 非抢占模式:在非抢占模式下,只要Master设备没有出现故障,Backup设备即使随后被配置了更高的优先级也不会成为Master设备。
  • Master设备的选举。
  • Master设备状态的通告

Master设备的选举

VRRP根据优先级来确定虚拟路由器中每台设备的角色(Master设备或Backup设备)。优先级越高,则越有可能成为Master设备。

  • 如果VRRP报文中Master设备的优先级高于或等于自己的优先级,则Backup设备保持Backup状态。
  • 如果VRRP报文中Master设备的优先级低于自己的优先级,采用抢占方式的Backup设备将切换至Master状态,采用非抢占方式的Backup设备仍保持Backup状态。
  • 如果多个VRRP设备同时切换到Master状态,通过VRRP通告报文的交互进行协商后,优先级较低的VRRP设备将切换成Backup状态,优先级最高的VRRP设备成为最终的Master设备;优先级相同时,VRRP设备上VRRP备份组所在接口主IP地址较大的成为Master设备。
  • 如果创建的VRRP设备为IP地址拥有者,收到接口Up的消息后,将会直接切换至Master状态。

Master设备状态的通告

  • 当Master设备主动放弃Master地位(如Master设备退出备份组)时,会发送优先级为0的通告报文,用来使Backup设备快速切换成Master设备,而不用等到Master_Down_Interval定时器超时。这个切换的时间称为Skew time,计算方式为:(256-Backup设备的优先级)/256,单位为秒。
  • 当Master设备发生网络故障而不能发送通告报文的时候,Backup设备并不能立即知道其工作状况。等到Master_Down_Interval定时器超时后,才会认为Master设备无法正常工作,从而将状态切换为Master。其中,Master_Down_Interval定时器取值为:3×Advertisement_Interval+Skew_time,单位为秒。

在性能不稳定的网络中,网络堵塞可能导致Backup设备在Master_Down_Interval期间没有收到Master设备的报文,Backup设备则会主动切换为Master。如果此时原Master设备的报文又到达了,新Master设备将再次切换回Backup。如此则会出现VRRP备份组成员状态频繁切换的现象。为了缓解这种现象,可以配置抢占延时,使得Backup设备在等待了Master_Down_Interval后,再等待抢占延迟时间。如在此期间仍没有收到通告报文,Backup设备才会切换为Master设备。

VRRP负载分担:

负载分担是指多个VRRP备份组同时承担业务,VRRP负载分担与VRRP主备备份的基本原理和报文协商过程都是相同的。同样对于每一个VRRP备份组,都包含一个Master设备和若干Backup设备。与主备备份方式不同点在于:负载分担方式需要建立多个VRRP备份组,各备份组的Master设备可以不同;同一台VRRP设备可以加入多个备份组,在不同的备份组中具有不同的优先级。

多网关负载分担:

通过创建多个带虚拟IP地址的VRRP备份组,为不同的用户指定不同的VRRP备份组作为网关,实现负载分担。

VRRP笔记:

VRRP报文通告是通过组播来通告的,组播地址:224.0.0.18,组播MAC:01-00-5e-00-00-12,VRRP是三层协议,通过IP协议承载,协议号112。同时IP包中的TTL值为255。

VRRP需要通过VRRP报文来选举Master和Backup,只有Master才能装发数据,而backup不装发数据,收到数据帧后丢弃。

如何选举Master和Backup?

  1. 比较优先级,默认情况下优先级为100,最大可以配置的优先级为1-254,优先级越大越优。

    255(V-IP = Interface ip),优先级如果为0,说明退出Master(Master离组,例如在Master的接口下删除VRRP配置)

  2. 如果优先级一样,IP地址大的一端成为Master。

Master:

  1. 可以装发报文。
  2. 应答 ARP请求。
  3. 通告基于VIP的免费ARP。
  4. master定时通告VRRP报文。

Backup:

  1. 如果backup接收到目标mac为虚拟mac地址的数据帧,丢弃不转发。
  2. backup被动接收vrrp报文,不通告。

影响VRRP协商的条件:

  1. IP包头中的TTL值必须为255.
  2. 版本必须一致。
  3. VRRP报文中的字段必须一致。(Authen date)
  4. VRID必须一致。
  5. 认证类型和认证必须一致。
  6. VIP(Count ip address)列表必须一致。
  7. VRRP报文通告间隔必须一致(华为Backup会使用master端的通告间隔)
  8. checksum必须一致。

VRRP应用

VRRP与接口状态联动监视上行接口:

VRRP备份组只能感知其所在接口状态的变化,当VRRP设备上行接口或直连链路发生故障时,VRRP无法感知,此时会引起业务流量中断。通过部署VRRP与接口状态联动监视上行接口可以有效地解决上述问题,当Master设备的上行接口或直连链路发生故障时,通过调整自身优先级,触发主备切换,确保流量正常转发。

  • 如果VRRP设备上配置以Increased方式监视一个接口,当被监视的接口状态变成Down后,该VRRP设备的优先级增加指定值。
  • 如果VRRP设备上配置以Reduced方式监视一个接口,当被监视的接口状态变为Down后,该VRRP设备的优先级降低指定值。

VRRP与BFD/NQA/路由联动监视上行链路:

VRRP只能感知VRRP备份组之间的故障,而配置VRRP监视上行接口仅能感知Master设备上行接口或直连链路的故障,当Master设备上行非直连链路故障时,VRRP无法感知,此时会导致用户流量丢失。通过部署VRRP与BFD/NQA/路由联动监视上行链路,可以有效地解决上述问题。通过配置BFD/NQA/路由检测Master上行链路的连通状况,当Master设备的上行链路发生故障时,BFD/NQA/路由可以快速检测故障并通知Master设备调整自身优先级,触发主备切换,确保流量正常转发。

VRRP与BFD联动实现快速切换:

VRRP备份组通过收发VRRP协议报文进行主备状态的协商,以实现设备的冗余备份功能。当VRRP备份组之间的链路出现故障时,Backup设备需要等待Master_Down_Interval后才能感知故障并切换为Master设备,切换时间通常在3秒以上。在等待切换期间内,业务流量仍会发往Master设备,此时会造成数据丢失。通过部署VRRP与BFD联动功能,可以有效解决上述问题。通过在Master设备和Backup设备之间建立BFD会话并与VRRP备份组进行绑定,快速检测VRRP备份组之间的连通状态,并在出现故障时及时通知VRRP备份组进行主备切换,实现了毫秒级的切换速度,减少了流量丢失。

VRRP支持与静态的BFD会话类型或静态标识符自协商的BFD会话类型的联动。

VRRP配置

配置注意事项:

在路由器上部署VRRP功能时需注意:

  • 不同备份组之间的虚拟IP地址不能重复,并且必须和接口的IP地址在同一网段。
  • 保证同一备份组的设备上配置相同的备份组号(virtual-router-id)。
  • 不同接口上可以绑定相同virtual-router-id的VRRP备份组。
  • 在设备上同时配置VRRP和静态ARP时,需要注意:当在Dot1q终结子接口、QinQ终结子接口或者VLANIF接口下配置VRRP时,不能将与这些接口相关的静态ARP表项对应的映射IP地址作为VRRP的虚拟地址。否则会生成错误的主机路由,影响设备之间的正常转发。
  • 如果VRRP备份组内各路由器上配置的VRRP协议版本不同,可能导致VRRP报文不能互通。

缺省配置:

参数 缺省值
设备在VRRP备份组中的优先级 100
抢占方式 立即抢占
通告报文发送间隔 1秒
发送免费ARP报文时间间隔 120秒

配置基于IPv4的VRRP基本功能:

创建VRRP备份组:

1
2
[接口视图] vrrp vrid 1 virtual-ip 192.168.1.1
//创建VRRP备份组并给备份组配置虚拟IP地址。
  • 多网关负载分担

    实现多网关负载分担,需要重复执行上述“主备备份”的操作步骤,在接口上配置两个或多个VRRP备份组,各备份组之间以备份组号(virtual-router-id)区分。

配置设备在备份组中的优先级:

VRRP根据优先级决定设备在备份组中的地位,优先级越高,越可能成为Master设备。通过配置优先级,可以指定Master设备,以承担流量转发业务。

1
2
3
[接口视图] vrrp vrid 1 priority 100
//配置路由器在备份组中的优先级。
//缺省情况下,优先级的取值是100。数值越大,优先级越高。
  • 优先级0被系统保留作为特殊用途;优先级值255保留给IP地址拥有者。通过命令可以配置的优先级取值范围是1~254。
  • IP地址拥有者的优先级固定为255,用户不能手动修改。但是,用户可以通过vrrp vrid virtual-router-id priority priority-value为IP地址拥有者配置一个非255的优先级(该优先级不会取代255,不生效),当VRRP备份组不再是IP地址拥有者时,其优先级为配置的优先级。
  • 优先级取值相同的情况下,同时竞争Master时,备份组所在接口的主IP地址较大的成为Master设备;VRRP备份组中先切换至Master状态的设备为Master设备,其余Backup设备不再进行抢占。

配置VRRP协议的版本:

基于IPv4的VRRP支持VRRPv2和VRRPv3两个版本。如果VRRP备份组内各路由器上配置的协议版本不同,可能导致VRRP报文不能互通。

  • 配置了v2版本的备份组:只能发送和接收v2版本的VRRP通告报文。如果接收到v3版本的VRRP通告报文,则将此报文丢弃。
  • 配置了v3版本的备份组:能接收v2或v3版本的VRRP通过报文,发送报文的格式可以选择配置,包括仅发送v2版本报文、仅发送v3版本报文和既发送v2版本报文也发送v3版本报文。使用时可以根据需要进行配置。
1
2
3
4
5
6
vrrp version { v2 | v3 }
//配置当前设备的VRRP协议版本号。 默认v2。

vrrp version-3 send-packet-mode { v2-noly | v3-only | v2v3-both }
//配置VRRPv3发送通告报文的模式。
//缺省情况下,VRRPv3版本备份组发送通告报文的模式为v3-only。

配置VRRP的时间参数:

功能 应用场景
配置VRRP通告报文的发送间隔 Master设备定时(Advertisement_Interval)向组内的Backup设备发送VRRP通告报文,通告自己工作正常。如果Backup设备在Master_Down_Interval定时器超时后仍未收到VRRP通告报文,则重新选举Master。网络流量过大或设备的定时器差异等因素会导致Backup设备无法及时接收到VRRP报文而发生状态转换,当原Master发送的报文到达新Master时,新Master将再次发生状态切换。通过延长Master设备发送VRRP报文的时间间隔可以解决此类问题。
配置路由器在VRRP备份组中的抢占延时 在不稳定的网络中,可能存在VRRP备份组监测的BFD等状态频繁振荡或Backup设备不能及时收到VRRP通告报文的情况,导致VRRP发生频繁切换而造成网络振荡。通过调整路由器在VRRP备份组中的抢占延时,使Backup设备在指定的时间后再进行抢占,有效避免了VRRP备份组状态的频繁切换。
配置Master设备发送免费ARP报文的超时时间 VRRP备份组中,为了确保下游交换机的MAC表项正确,Master设备会定时发送免费ARP报文,用来刷新下游交换机上的MAC地址表项。说明: 为避免VRRP协议震荡,请不要在VRRP备用设备上把系统MAC或VRRP虚MAC等一些特殊的MAC地址配置成黑洞MAC。
配置VRRP备份组的状态恢复延迟时间 在不稳定的网络中,VRRP备份组监测的BFD或接口等状态频繁振荡会导致VRRP备份组状态频繁切换。通过配置VRRP备份组的状态恢复延迟时间,VRRP备份组在接收到接口或BFD会话的Up事件时不会立刻响应,而是等待配置的状态恢复的延迟时间后,再进行相应的处理,防止因接口或BFD会话的频繁震荡而导致的VRRP状态的频繁切换。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[接口视图] vrrp vrid 1 timer advertise 1
//置发送VRRP通告报文的时间间隔。
//缺省情况下,发送VRRP通告报文的时间间隔是1秒。

[接口视图] vrrp vrid 1 preempt-mode timer delay 0
//配置备份组中路由器的抢占延迟时间。
//缺省情况下,抢占延迟时间为0,即立即抢占。
vrrp vrid 1 preempt-mode disable
//设置备份组中路由器采用非抢占方式。

vrrp gratuitous-arp timeout 120
//配置Master发送免费ARP报文的超时时间。
//缺省情况下,Master每隔120秒发送一次免费ARP报文。
vrrp gratutious-arp timeout disable
//禁止发送免费ARP

vrrp recover-deley 0
//配置VRRP备份组的状态恢复延迟时间。
//缺省情况下,VRRP备份组状态恢复延迟时间为0秒。
  • 在配置VRRP备份组内各路由器的延迟方式时,建议Backup设备配置为立即抢占,Master设备配置为延时抢占,指定一定的延迟时间。这样配置的目的是为了在网络环境不稳定时,为上下行链路的状态恢复一致性等待一定时间,以免出现双Master设备或由于主备双方频繁抢占导致用户设备学习到错误的Master设备地址。
  • 配置的Master设备发送免费ARP报文超时时间应小于用户侧设备的MAC地址表项老化时间。

配置VRRP报文在Sub-VLAN中的发送方式:

当VRRP备份组配置在VLAN聚合时,用户可以通过命令行配置,使VRRP报文在指定的Sub-VLAN中传输,避免VRRP通告报文在所有Sub-VLAN内广播,以节约网络带宽。

1
2
vrrp advertise send-mode { sub-vlan | all}
//配置VRRP通告报文在Super-VLAN中的发送方式。

缺省情况下,Master设备向Super-VLAN中状态为Up且VLAN ID最小的Sub-VLAN发送VRRP通告报文。

  • 如果指定参数sub-vlan-id,VRRP通告报文只发送给指定ID的Sub-VLAN。
  • 如果指定参数all,VRRP通告报文发送给本Super-VLAN的所有Sub-VLAN。

配置禁止检测VRRP报文跳数:

系统对收到的VRRP通告报文的TTL值进行检测,如果TTL值不等于255,则丢弃这个报文。在不同设备制造商的设备配合使用的组网环境中,检测VRRP报文的TTL值可能导致错误地丢弃合法报文,此时用户可以配置系统不检测VRRP报文的TTL值,以实现不同设备制造商设备之间的互通。

1
2
vrrp un-check ttl
//禁止检测VRRP报文的TTL值。

配置VRRP报文的认证方式:

VRRPv2支持在通告报文中设定不同的认证方式和认证字。

  • 无认证方式:设备对要发送的VRRP通告报文不进行任何认证处理,收到通告报文的设备也不进行任何认证,认为收到的都是真实的、合法的VRRP报文。
  • 简单字符(Simple)认证方式:发送VRRP通告报文的设备将认证方式和认证字填充到通告报文中,而收到通告报文的设备则会将报文中的认证方式和认证字与本端配置的认证方式和认证字进行匹配。如果相同,则认为接收到的报文是合法的VRRP通告报文;否则认为接收到的报文是一个非法报文,并丢弃这个报文。
  • MD5认证方式:发送VRRP通告报文的设备利用MD5算法对认证字进行加密,加密后保存在Authentication Data字段中。收到通告报文的设备会对报文中的认证方式和解密后的认证字进行匹配,检查该报文的合法性。

注:目前仅VRRPv2版本支持认证,VRRPv3版本不支持认证。VRRPv2版本保留报文的认证字段,是为了兼容早期版本(RFC2338),VRRP认证并不能提高安全性。

1
2
vrrp vrid 1 authentication-mode { simple {key | plain key | cipher cipher-key} | md5 md5-key}
//配置VRRP报文认证方式。

使能虚拟IP地址Ping功能:

路由器支持对虚拟IP地址的Ping功能,可用于:

  • 检测备份组中的Master设备是否起作用。
  • 检测是否能通过使用某虚拟IP地址作为默认网关与外部通信。
1
2
3
4
5
6
7
vrrp virtual-ip ping enable
//使能虚拟地址可达性功能。
//缺省情况下,该功能处于使能状态,Master设备响应对本备份组虚拟IP地址的Ping报文。

vrrp arp send-mode simple
//使能Master设备使用QinQ终结子接口下配置的外层Tag
//的VLAN和内层Tag段内的第一个VLAN发送免费ARP报文。

VRRP配置综合实验示例:

如下图拓扑,AR1,AR2为内网路由器,配置VRRP虚拟IP实现备份。同时在AR1与AR2之间配置了BFD,使它们之间可以快速检测链路故障。

AR3,4,5为外网路由器。在AR1与AR3上配置了上行接口检测,当上行接口GE1/0/0状态Down时,VRRP备份组能够及时感知并进行主备切换,由AR2接替作为网关继续承担业务转发,以减小接口状态Down对业务传输的影响。

在AR2和上还配置了IP检测,检测到4.4.4.4 的链路是否有故障。 配置VRRP与路由联动监视上行链路。当非直连上行链路Down时,VRRP优先级自动降低,实现主备快速切换。

在AR1和AR2上还配置了负载分担。现在内网流量通过不同网关走不同路由器。

在AR2上配置的检测到4.4.4.4网段的NQA,ICMP直连检测,当传输质量低于百分之八十时,VRRP vrid 2 优先级自动降低,实现主备快速切换。

VRRP综合实验拓扑

图:VRRP综合实验拓扑图

配置文件:

AR1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<AR1>dis current-configuration 
#
sysname AR1
#
vrrp gratuitous-arp timeout 100
//配置免费ARP发送时间间隔为100s
vrrp version v3
//VRRP选择版本v3
vrrp recover-delay 3
//VRRP 恢复延迟3s
#
bfd
#
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
rule 10 permit source 192.168.2.0 0.0.0.255
rule 15 deny
#
interface GigabitEthernet0/0/0
ip address 13.1.1.1 255.255.255.0
nat outbound 2000
//nat ,easy IP,实现内网到外网的地址转换
#
interface GigabitEthernet0/0/1
ip address 192.168.1.1 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 priority 110
vrrp vrid 1 timer advertise 2
vrrp vrid 1 track interface GigabitEthernet0/0/0 reduced 30
vrrp vrid 1 version-3 send-packet-mode v2v3-both
vrrp vrid 1 track ip route 4.4.4.4 255.255.255.0 reduced 30
vrrp vrid 1 authentication-mode md5 %$%$[U*W7Y)upJ3N*0#HA_x~~A=8%$%$
//VRRP vrid 1 认证密码 huawei
vrrp vrid 2 virtual-ip 192.168.1.253
vrrp vrid 2 version-3 send-packet-mode v2v3-both
#
bfd 1 bind peer-ip 192.168.1.2 source-ip 192.168.1.1 auto
commit
#
rip 1
version 2
network 13.0.0.0
#

AR2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<AR2>display current-configuration 
#
sysname AR2
#
bfd
#
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.255
rule 10 permit source 192.168.2.0 0.0.0.255
rule 15 deny
#
interface GigabitEthernet0/0/0
ip address 25.1.1.2 255.255.255.0
nat outbound 2000
#
interface GigabitEthernet0/0/1
ip address 192.168.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.1.254
vrrp vrid 1 preempt-mode timer delay 3
vrrp vrid 1 authentication-mode md5 %$%$)vYYTI4Nv=@M5_0,Yx^/~BLU%$%$
vrrp vrid 2 virtual-ip 192.168.1.253
vrrp vrid 2 track nqa vrrp test reduced 20
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
bfd 1 bind peer-ip 192.168.1.1 source-ip 192.168.1.2 auto
commit
#
rip 1
version 2
network 25.0.0.0
#
nqa test-instance vrrp test
test-type icmp
destination-address ipv4 4.4.4.4
fail-percent 80
frequency 20
probe-count 5
start now
#

AR3:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<AR3>dis current-configuration 
#
sysname AR3
#
interface GigabitEthernet0/0/0
ip address 13.1.1.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.1.1.3 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 34.1.1.3 255.255.255.0
#
rip 1
version 2
network 34.0.0.0
network 13.0.0.0
#

AR4:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<AR4>dis current-configuration 
#
sysname AR4
#
interface GigabitEthernet0/0/0
ip address 34.1.1.4 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 45.1.1.4 255.255.255.0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
rip 1
version 2
network 34.0.0.0
network 45.0.0.0
network 4.0.0.0
#

AR5:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[AR5]dis current-configuration 
#
sysname AR5
#
interface GigabitEthernet0/0/0
ip address 45.1.1.5 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 25.1.1.5 255.255.255.128
#
rip 1
version 2
network 25.0.0.0
network 45.0.0.0

在AR1上VRRP的信息状态:

VRRP信息

图:AR1上的VRRP的信息


参考资料:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!