当前位置: 首页 > article >正文

VRRP协议个人理解+报文示例+典型配置-RFC2338/RFC3768/RFC5798/RFC9568

个人认为,理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息,更加便于理解协议。

因此本文将在VRRP协议报文的基础上进行介绍。

在这里插入图片描述VRRP协议发展

  • 关于VRRPv2基本原理,可重点参考2004年发布的RFC3768-Virtual Router Redundancy Protocol
  • 关于VRRPv3基本原理,可重点参考2024年发布的RFC9568-VRRP Version 3 for IPv4 and IPv6

历史RFC

  • 关于VRRPv2的历史版本RFC,可查看1998年发布的RFC2338
  • 关于VRRPv3的历史版本RFC,可查看2010年发布的RFC5798
  • 关于VRRP所使用的协议号,可查看IANA发布的Assigned Internet Protocol Numbers
  • 关于VRRPv2的RFC2338版本资料,可查看博客VRRP协议RFC2338文档翻译
  • 关于VRRPv3的RFC5798版本资料,可查看博客VRRP协议RFC5798文档翻译
  • 关于VRRPv3所涉及的ICMPv6协议,可查看博客IPv6/ICMPv6-原理介绍+报文分析+配置示例
  • 关于单播VRRP的相关内容,可参考Keepalived Configuration Manual Page


相比于VRRPv2支持IPv4网络,VRRPv3主要用于支持IPv6网络。同时允许VRRPv3兼容VRRPv2标准。不同版本之间除部分字段有所不同外,相关内容无较大差别。

Note:不同版本RFC之间略有差异,这里以其中一版VRRP协议进行说明。个人能力有限,敬请各位指导。

目录

Virtual Router Redundancy Protocol

  • 目录

  • 1.VRRP原理
    • 1.1.VRRP相关概念
    • 1.2.VRRP报文格式
      • 1.2.1.VRRP的包格式
      • 1.2.2.VRRP的帧格式
    • 1.3.VRRP状态机切换
  • 2.VRRP的实际应用
    • 2.1.VRRP的典型配置
    • 2.2.VRRP的其他应用
      • 2.2.1.VRRP与路由协议
      • 2.2.2.单播VRRP
  • 更新

1.VRRP原理

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)主要用于消除静态路由下固有的单点故障导致的业务转发异常故障。VRRP 通过定义选举机制,将虚拟路由器的责任分配给 LAN 上的 VRRP 路由器之一。控制与虚拟路由器关联的 IP 地址的 VRRP 路由器称为 Master 路由器,它会响应并转发发送到这些虚拟 IP 地址的数据包。如果 Master 路由器故障,选举过程会在转发责任中提供动态故障转移。然后,终端主机可以使用 LAN 上的任何虚拟路由器 IP 地址作为默认的第一跳路由器。使用 VRRP 的优势在于,默认路径可用性更高,无需在每个终端主机上配置动态路由或路由器发现协议。VRRP 提供的功能类似于专有协议“热备用路由器协议 (HSRP)”[HSRP] (《RFC2281-Cisco Hot Standby Router Protocol》) 和“IP 备用协议”[IPSTB] (《Development of router clusters to provide fast failover in IP networks》

其基本原理在于:通过一次竞争选举出承担虚拟 IP 及其虚拟 MAC 功能的路由器角色。

1.1.VRRP相关概念

基本概念
VRRP Router:VRRP 路由器,也即参与 VRRP 选举的路由器。
Virtual Router:一个由 VRRP 管理的虚拟对象。对外以 IP/MAC 的形式存在,用于作为主机的虚拟网关。

虚拟路由器的 Virtual IP 由管理员定义,同时其 MAC 为单播 MAC 由 IANA 所分配。
IPv4 网络下取 00-00-5E-00-01-{VRID}IPv6 网络下取 00-00-5E-00-02-{VRID}
该 00-00-5E 及其组播 01-00-5E 形式的 OUI,由 IANA 向 IEEE 所注册使用。相关地址分配可查看IANA发布的IANA OUI Ethernet Numbers

IP Address Owner:真实IP地址与 VRRP 虚拟路由器 IP相同的路由器。
Primary IP Address:真实路由器上被选出用于发送 VRRP advertisements 报文源地址的接口地址。

在 IPv4 网络中通常选择为接口主地址,在 IPv6 网络中通常选择为接口 link-local 地址。

Virtual Router Master:VRRP 路由器中被选举出来用于承载虚拟路由器角色的路由器。Master 路由器应当转发数据包 DMAC 为虚拟路由器的数据包,并响应虚拟路由器相关的 ARP/ND 报文。
Virtual Router Backup:VRRP 路由器中 Master 路由器的备选路由器。并且可以有多个。

在 RFC9568 中舍弃了 Master 路由器的概念,用以 ACTIVE 路由器替代。但保留了 Backup 路由器的相关概念。并且通常 Backup 路由器不转发数据包 DMAC 为虚拟路由器的数据包。
在这里插入图片描述vrrp vrid backup-forward 用于设置 Backup 路由器转发数据包 DMAC 为虚拟路由器的数据包。该功能主要用于防止 VRRP 状态切换过程中的流量中断问题,但同时有可能引入多包问题。

Drop Route:RFC9568 中新提出的概念。该路由用于防止 VRRP 状态切换中的流量微环。

状态机相关参数

virtual router IPv4_Addresses:虚拟路由器的 IPv4 地址。虚拟路由器可能有多个 IPv4 地址,参与选举的路由器应当相同。
virtual router IPv6_Addresses:虚拟路由器的 IPv6 地址。虚拟路由器可能有多个 IPv4 地址,参与选举的路由器应当相同。
Virtual_Router_MAC_Address:虚拟路由器的 MAC。在 RFC5798/RFC9568 中明确定义 VRRP advertisements 和 ARP/ND messages 的 SMAC 应当选择该 MAC。

IPv4 网络下取 00-00-5E-00-01-{VRID}IPv6 网络下取 00-00-5E-00-02-{VRID}
该 00-00-5E 及其组播 01-00-5E 形式的 OUI,由 IANA 向 IEEE 所注册使用。相关地址分配可查看IANA发布的IANA OUI Ethernet Numbers

Advertisement_Interval:VRRP advertisements 报文的发送间隔。VRRPv2 和 VRRPv3 都默认 1s。
Master_Adver_Interval:RFC5798/RFC9568 中明确定义由 Backup 路由器记录用于计算 Skew_Time 和 Master_Down_Interval。

在这里插入图片描述vrrp vrid timer advertise用于设置 VRRPv2 虚拟路由器的通告间隔。
在这里插入图片描述vrrp vrid timer advertise用于设置 VRRPv3 虚拟路由器的通告间隔。
在这里插入图片描述vrrp6 vrid timer advertise用于设置 VRRPv3 虚拟路由器的通告间隔。

Skew_Time:Master_Down 后的额外等待时间。

在 RFC2338/RFC3768 中该时间定义为:
( 256 − P r i o r i t y ) / 256 (256 - Priority) / 256 (256Priority)/256
在 RFC5798/RFC9568 中该时间定义为:
( ( 256 − p r i o r i t y ) ∗ M a s t e r _ A d v e r _ I n t e r v a l ) / 256 ((256 - priority) * Master\_Adver\_Interval) / 256 ((256priority)Master_Adver_Interval)/256

Master_Down_Interval:从 Backup 过渡到 Master/Active 状态的时间。

( 3 ∗ M a s t e r _ A d v e r _ I n t e r v a l ) + S k e w t i m e (3 * Master\_Adver\_Interval) + Skew_time (3Master_Adver_Interval)+Skewtime

Preempt_Mode/Accept_Mode:用于控制优先级较高的 Backup 路由器是否抢占优先级较低的 Master。默认抢占。RFC5798/RFC9568 中明确定义 Accept_Mode 用于控制是否响应发往虚拟路由器所在真实路由器的接口地址的报文。

在这里插入图片描述vrrp vrid preempt-mode 用于设置 vrrp 的抢占模式。

Master_Down_Timer:该定时器用于监听没有收到 VRRP ADVERTISEMENT 报文的时间。
Adver_Timer:该定时器用于触发 VRRP ADVERTISEMENT 报文的发送。

点击此处回到目录

1.2.VRRP报文格式

1.2.1.VRRP的包格式

VRRPv2 for IPv4:RFC2338/RFC3768
在这里插入图片描述在 RFC2338/RFC3768 中定义了相同格式的 VRRPv2 报文。

在这里插入图片描述VRRPv2 报文示例。

VRRPv3 for IPv4/IPv6:RFC5798/RFC9568
在这里插入图片描述在 RFC5798/RFC9568 中定义了相同格式的 VRRPv3 报文。其内容与 VRRPv2 格式基本相同,因此 VRRPv3 可以兼容 VRRPv2。

在这里插入图片描述VRRPv3 报文示例。

由于 VRRPv2 和 VRRPv3 格式基本相同,在此统一介绍各个字段含义
Version:4-bits,用于表示 VRRP 协议版本。取 2 时表示 VRRPv2,取 3 时表示 VRRPv3。

在这里插入图片描述vrrp version 用于设置 VRRP 的版本。

Type:4-bits,用于表示 VRRP 协议报文类型。目前 VRRPv2 和 VRRPv3 都只定义了一种 ADVERTISEMENT 报文,取值 1。
Virtual Rtr ID:8-bits,虚拟路由器 ID,用于区分所报告的虚拟路由器。取值 1-255。

在这里插入图片描述vrrp vrid 用于配置 VRID,该参数是 VRRP 选举相关参数之一

Priority:8-bits,用于表示发送 VRRP 虚拟路由器的优先级。Priority 越大,越优先。取值 1-255。

在这里插入图片描述vrrp vrid priority 用于配置特定虚拟路由器的优先级。VRID 取 0 时表示 VRRP Master/ACTIVE 主动退出 VRRP 选举,以便快速完成 VRRP 状态切换。VRID 取 255 时表示 IP 拥有者,IP 拥有者不参与 VRRP 选举直接过渡到 Master/ACTIVE 状态。该参数是 VRRP 选举相关参数之一

Count IPvX Addr:8-bits,用于表示后文携带 IP address 的个数。RFC5798/RFC9568 明确规定其值最小为 1,并忽略取值为 0 的 VRRP 通告报文。
Auth Type仅在 RFC2338/RFC3768 所定义的 VRRPv2 版本中存在。8-bits,用于表示 VRRP 所使用的认证类型。

RFC2338 仅提供了 VRRP 认证的三种模式:取 0 的不认证;取 1 的简单文本认证;取 2 的 IP 认证头。RFC3768 则只定义取 0 的不认证,实际上已取消了 VRRPv2 的认证。这是因为 VRRP 的认证并不能带来所预想的安全保护,并往往导致网络的多 Master 状态。
因此从 RFC3768 后不在定义 VRRP 的认证。在这里插入图片描述vrrp vrid authentication-mode 用于定义 VRRPv2 的认证模式。

rsvd仅在 RFC5798/RFC9568 所定义的 VRRPv3 版本中存在。4-bits,保留字段,要求置 0 并在接收时忽略该字段以便兼容之前版本。
Adver Int仅在 RFC2338/RFC3768 所定义的 VRRPv2 版本中存在。8-bits,VRRP ADVERTISEMENTS 通告间隔。取值 1-255,默认 1s。

在这里插入图片描述vrrp vrid timer advertise用于设置 VRRPv2 虚拟路由器的通告间隔。

Max Adver Int仅在 RFC5798/RFC9568 所定义的 VRRPv3 版本中存在。12-bits,VRRP ADVERTISEMENTS 通告间隔。取值 1-40,默认 1s。在 VRRPv3 中该字段单位为 100 centiseconds厘秒(1s)。

在这里插入图片描述vrrp vrid timer advertise用于设置 VRRPv3 虚拟路由器的通告间隔。由于仅占据 12-bits,也即 0-4095 因此取值 40s。
在这里插入图片描述vrrp6 vrid timer advertise用于设置 VRRPv3 虚拟路由器的通告间隔。由于仅占据 12-bits,也即 0-4095 因此取值 100-4095 centisecond。
自动换行
在最新的《RFC9568-1.1.Differences from RFC 5798 》中对该字段说明:
在这里插入图片描述应当检查该字段是否匹配。并在《RFC9568-7.1.Receiving VRRP Packets》中详细说明。
在这里插入图片描述当收到的 VRRP Advertisement 中该字段与本地不匹配时将有可能造成网络的不稳定。

Checksum:16-bits,用于校验整个 VRRP message 消息。
IPvX Address:不定长,用于携带一个或多个与虚拟路由器相关的 IP address 信息。

该字段为 VRRP 虚拟路由器的 IP address,并且参与路由器所填充的该字段应当在IP 数量和 IP address 上都保持一致。该参数是 VRRP 选举相关参数之一
在这里插入图片描述vrrp vrid virtual-ip 用于设置虚拟路由器的 ipv4 addres。
在这里插入图片描述vrrp vrid virtual-ip 用于设置虚拟路由器的 ipv6 addres。

Authentication Data仅在 RFC2338/RFC3768 所定义的 VRRPv2 版本中存在。认证数据信息。

1.2.2.VRRP的帧格式

除上述所介绍的 VRRP 包格式外,还应注意的是 VRRP 的 Ethernet Header 和 IP Header
SMAC:VRRP 通告报文的 SMAC 应使用协议规定 MAC。

IPv4 网络下取 00-00-5E-00-01-{VRID}IPv6 网络下取 00-00-5E-00-02-{VRID}。该 00-00-5E 及其组播 01-00-5E 形式的 OUI,由 IANA 向 IEEE 所注册使用。相关地址分配可查看IANA发布的IANA OUI Ethernet Numbers

DMAC:VRRP 通告报文为组播报文,因此其 DMAC 应由 DIP 映射而来。

IPv4 网络下固定取 01-00-5E-00-00-12IPv6 网络下固定取 33-33-00-00-00-12

SIP:协议规定 SIP 使用 primary IP Address 也即接口地址作为 VRRP 通告报文的源地址。

IPv4 网络下往往取接口主地址IPv6 网络下固定link-local地址

DIP:协议规定 VRRP 通告报文为组播报文。

IPv4 网络下固定取 224.0.0.18IPv6 网络下固定取 FF02:0:0:0:0:0:0:12

DSCP:协议未对 VRRP 报文做 QOS 规定,一般取 CS6。
TTL/Hop Limit:协议规定 VRRP 的 TTL/Hop Limit 必须取 255 以便将其控制在局域网范围。

在这里插入图片描述vrrp un-check ttl 用于取消 IPv4 网络下的 TTL 检查。
在这里插入图片描述vrrp6 un-check hop-limit 用于取消 IPv6 网络下的 hop-limit 检查。

Protocol Number:协议规定取 112。

点击此处回到目录

1.3.VRRP状态机切换

VRRP 主要定义了三种状态:Initialize、Backup 和 Master。在 RFC9568 中将之前三个版本中的 Master 状态重新定义为 Active,但基本内容相同。接下来进行详细介绍。

Initialize
在这里插入图片描述该图中需要解释的是:

  1. 优先级 255 不可设置。VRRP 路由器接口 IP 与 虚拟路由器 IP 相同者自动具有 255 优先级。
  2. Master/Active 路由器将周期性发送免费 ARP 以刷新表象。

在这里插入图片描述vrrp gratuitous-arp timeout 用于修改免费 arp 发送间隔。
Cisco 友商对应命令为:

vrrp
 interface vlan10
   vrrp 1 periodic-arp-na interval 30
 $
$
  1. IPv6 网络下发送的 unsolicited ND Neighbor Advertisement 报文,应当将 R-bit 和 O-bit 置位,S-bit 清空。

在这里插入图片描述unsolicited ND Neighbor Advertisement 报文示例,应以虚拟 MAC 填充 Target Link-layer address Option。
并且由于 IPv6 虚拟路由器有全球单播地址和链路本地地址,因此会有两个 unsolicited ND Neighbor Advertisement 报文示例。

  1. Master_Adver_Interval 为 RFC5798/RFC9568 新定义,主要用于 Backup 路由器计算 Skew_Time 和 Master_Down_Interval。

自动换行
Backup和Master之间的切换
在这里插入图片描述该图中需要解释的是:

  1. Master_Down_Timer 触发其实意味者在一定时间内未收到来自 Master/Active 路由器的 ADVERTISEMENT 通告报文。
  2. 优先级为 0 的 ADVERTISEMENT 通告报文通常意味着 Master/Active 路由器用于主动退出 VRRP 选举。此时可缩短 Backup 路由器向 Master/Active 状态转变的时间。
  3. Master 路由器收到优先级等于自己且 primary IP Address 大于自己接口地址的ADVERTISEMENT 将向 Backup 状态转变。但实际上这一行为很难发生,因为 Backup 路由器会一直保持 Backup 状态不会发送 ADVERTISEMENT 报文。
  4. 图中未提及 VRRP 的抢占模式。实际在抢占模式下只要收到 ADVERTISEMENT 报文,就重置 Master_Down_Timer 定时器。因此不会触发 Backup 向 Master 的状态转变。
  5. 对于 IPv6 网络下,接口启动时涉及 IPv6 地址的 DAD 等过程。因此还将叠加其他过程。

点击此处回到目录

2.VRRP的实际应用

2.1.VRRP的典型配置

在这里插入图片描述此处以上图为例简单介绍下 IPv6 网络下 VRRPv3 的使用。

AR:
#
 sysname AR1
#
ipv6
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2001:DB8::1:1/64 
 ipv6 address FE80::1 link-local
 vrrp6 vrid 1 virtual-ip FE80::1:1 link-local
 vrrp6 vrid 1 virtual-ip 2001:DB8::1:FFFF
 vrrp6 vrid 1 priority 120
 vrrp6 vrid 1 preempt-mode timer delay 5
 vrrp6 vrid 1 timer advertise 200
 vrrp6 vrid 1 track interface GigabitEthernet0/0/1 reduced 50
#

此处需要说明的是:

  1. 由于 IPv6 网络下有 link-local 地址的要求。因此 VRRP 路由器都必须指定相同的全球单播地址和 link-local 地址。并且应当全球单播地址被包含于本地接口地址中。
  2. VRRP 可设置 track 联动端口。在上行链路中断后可及时改变优先级过渡到 Backup 状态来使得向外的路径及时收敛。除 track 联动端口外,还可 track bfd/nqa 甚至静态路由等方式来实现。
  3. VRRP 的抢占延时应当仅在 Master/Active 路由器上设置,以便防止回切影响网络收敛。
  4. 通常 VRRP Backup 路由器不响应发往虚拟路由器的数据包。但在某种情况下也可通过命令方式 (vrrp6 vrid backup-forward) 来使得 Backup 路由器转发数据流。
  5. 由于 VRRP 虚拟 IP 实际上为非真实 IP,因此 VRRPv3 在启动时不进行 DAD 的 IP 地址冲突检测。对于 IPv6 网络下直接发送针对全球单播地址和 link-local 地址的未经请求 ND 协议的 NA 报文 (R-bit 和 O-bit 置位,S-bit 不置位)。

VRRP相关查询命令在这里插入图片描述display vrrp6 interface 用于查看 VRRP 接口状态及其相关配置信息。
在这里插入图片描述display vrrp6 brief 用于查看 VRRPv3 相关状态。

点击此处回到目录

2.2.VRRP的其他应用

2.2.1.VRRP与路由协议

VRRP场景下的路由协议
直连路由:成为 Master/Active 路由器的 VRRP 路由器角色将生成一条虚地址对应的主机路由。

IGP路由:当 Master/Active 路由器虚地址所在的接口宣告进 OSPF/ISIS 进程时,会将虚地址对应的主机路由作为叶子路由引入 IGP 协议中。

在这里插入图片描述OSPF 的 datebase。
在这里插入图片描述ISIS 的 datebase。

BGP路由:BGP 仅在 network 或 重分布情况下才会引入该主机路由。

VRRP的admin-group管理组
VRRP 的 admin-group 管理组主要在设备上需要配置多个 VRRP 虚拟 IP 的场景下,用于减少网络中 VRRP 报文的发送且提高设备性能。

其基本原理在于,指定设备接口上的一个 VRRP 虚拟路由成为管理组通过 VRRP Advertisement 报文完成 VRRP 选举。其他 VRRP 虚拟路由通过 track VRRP admin-group,成为 VRRP 成员备份组。而 VRRP 成员备份组不发送 VRRP Advertisement 报文进行 VRRP 竞争选举而是直接继承 VRRP admin-group 的选举状态。

在此种状态下,所有 VRRP 路由器都必须在其 VRRP 虚拟路由上 track admin-group,以防止 VRRP 状态的不同步。

在这里插入图片描述vrrp vrid admin 用于指定某一 VRRP 虚拟路由成为 admin-group 管理组。
在这里插入图片描述vrrp vrid track admin-vrrp interface GE 1/0/0 vrid 用于 track 成为 VRRP 成员备份组。

2.2.2.单播VRRP

单播下的VRRP
对于某些在服务器上的运行 VRRP 协议会使用一种单播形式通告的 VRRP advertisements 报文。目前暂未发现有标准文档描述这种单播 VRRP,这里仅做相关说明。感兴趣者可查阅相关资料。

此处以keepalived 网站的 Keepalived Configuration Manual Page所提供资料进行介绍。

单播 VRRP 协议主要由 Keepalived 程序软件驱动。这是一款用 C 语言编写用于为 Linux 系统和基于 Linux 的基础设施提供简单的负载均衡和高可用性工具。负载均衡框架依赖于知名且广泛使用的 Linux Virtual Server (IPVS,Linux 虚拟服务器) 内核模块,提供第 4 层负载均衡。

服务器管理员通过 root 或其他用户 C 语言编写创建 /etc/keepalived/conf.d 文件。

服务器管理员通过 root 或其他用户在 /etc/keepalived/keepalived.conf 文件中创建基本的配置文件,并在 /run/keepalived 路径下创建命名空间。如果有多个 keepalived 进程使用相同的 namespace,则在 /run/keepalived 以 pid 文件进行区分。

keepalived.conf文件结构
keepalived.conf 文件主要有 4 种顶级结构:GLOBAL CONFIGURATION,BFD CONFIGURATION,VRRPD CONFIGURATION 和 LVS CONFIGURATION。每种顶级结构又包含了多种子模块。

在这里插入图片描述keepalived.conf 文件主要包含上图所示的结构。

1@GLOBAL CONFIGURATION
1@Global definitions:主要包含一些全局条件下定义的内容。例如 net_namespace全局守护程序,instance实例名(多实例间的区分),linkbeat_use_polling轮询故障检测接口,global_defs全局配置模块等。

global_defs全局配置模块包含协议运行的一些必要参数信息。这里仅介绍部分内容。

global_defs{
   #一些必要的程序名字。
   process_name NAME
   vrrp_process_name NAME
   checker_process_name NAME
   bfd_process_name NAME
   #字符串格式的文本以标识设备。
   router_id <STRING>
   #遵循 RFC5798 IANA 取 224.0.0.18。
   vrrp_mcast_group4 224.0.0.18。
   #遵循 RFC5798 IANA 取 ff02::12。
   vrrp_mcast_group6 ff02::12
   #静态地址的默认接口。
   default_interface p33p1.3
   
   #过渡到MASTER后发送第二组免费ARP的延迟时间,默认5秒。
   vrrp_garp_master_delay 10
   #VRRP版本,默认取2。
   vrrp_version 3
   
   #严格遵循协议规定的VRRP要求。
   vrrp_strict
   
   #指定上报的SNMP服务器信息。
   snmp_socket udp:1.2.3.4:705
   #使能SNMP处理KEEPALIVED MIB
   enable_snmp_vrrp
   #使能SNMP trap
   enable_traps
   }

1@Linkbeat interfaces:指定允许哪些接口应该通过 MII、Ethtool 或 ioctl status 使用轮询,而不是依赖 netlink 状态更新。

1@Static track groups:允许 VRRP 实例 track 包括静态地址、静态路由和规则的方式来过渡到错误状态。

2@BFD CONFIGURATION:基于 RFC5880 (双向转发检测) 原理实现的快速检测。当配置为在 2 个 keepalived 实例之间工作,但在 VRRP 实例的主/备份对之间使用未加权 track_bfds 意味着 VRRP 实例只有在两个 VRRP 实例都运行时才能启动,这在某种程度上违背了 VRRP 的目的。

3@VRRPD CONFIGURATION
3@VRRP script(s):定期执行的监控代码。
3@VRRP synchronization group(s):VRRP 同步组是 VRRP 协议的扩展。主要目标是定义一组 VRRP 实例以一起同步,以便一个实例的转换将反映给其他组成员。
3@VRRP instance(s):VRRP 实例是 VRRP 协议的关键功能。每个 VRRP 实例都与一个唯一的接口相关。

VRRP instance <STRING>{
   #初始VRRP状态。
   state MASTER
   #与VRRP实例绑定的接口。
   interface eth0
   #VRRP的虚拟MAC。
   use_vmac [<VMAC_INTERFACE_NAME>] [MAC_ADDRESS]。
   #遵循 RFC5798 IANA 取 ff02::12。
   use_vmac_addr
   #从基本接口而不是 VMAC 接口发送/接收 VRRP 消息。单播peer该值必须设置。
   vmac_xmit_base
   
   #多播或单播 vrrp 数据包的src_addr。默认 IP 是接口上的主 IP。
   mcast_src_ip
   unicast_src_ip <IPADDR>
   #VRRP版本,默认取2。
   vrrp_version 3
   
   #在单播模式下,检查VRRP 数据包的源地址是否为本地对等体之一。
   check_unicast_src
   #使用单播方式通告VRRP报文。
   unicast_peer {
       <IPADDR> [min_ttl {0..255}] [max_ttl {0..255}]
       ...
   }
   
   #Bacup向Master转变的监听间隔次数。默认3次。
   down_timer_adverts [1-100]
   #VRRP优先级。
   priority 100
   #VRRP通告间隔。
   advert_int 1
   #VRRP的虚拟IP。
   virtual_ipaddress{
       192.168.200.17/24 dev eth1
       192.168.200.18/24 dev eth2 label eth2:1
   }
   
   #过渡到Master时添加的路由。过渡到Backup时删除
   virtual_routes {
       src 192.168.100.1 to 192.168.109.0/24 via 192.168.200.254 dev eth1
       192.168.110.0/24 via 192.168.200.254 dev eth1
       192.168.111.0/24 dev eth2 no_track
   }
   #使能VRRPv3的Accept Mode
   accept
   #使能抢占模式
   preempt
   #是否开启全局下的VRRP严格检查。单播模式不应检查。
   strict_mode [on|off|true|false|yes|no]
   }

4@VRRPD CONFIGURATION:主要包含Virtual server group(s) 和Virtual server(s)子模块

点击此处回到目录

更新


http://www.kler.cn/news/335584.html

相关文章:

  • 速盾:如何判断高防服务器的防御是否真实?
  • 计算机网络思维导图
  • 人工智能专业就业方向与前景
  • 怎么查看网站是否被谷歌收录,查看网站是否被搜索引擎收录5个方法与步骤
  • stm32四足机器人(标准库)
  • 「轻盈」之旅:OOM故障重现与解决
  • Kafak入门技术详解
  • Django对接支付宝沙箱环境(2024年9月新测有效)
  • expressjs,MySQL,实现分页查询接口
  • 中间件介绍
  • 在Ubuntu 16.04上使用Logrotate管理日志文件
  • 【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
  • ChatGPT进行翻译
  • 目录工具类 - C#小函数类推荐
  • 大数据新视界 --大数据大厂之 Ibis:独特架构赋能大数据分析高级抽象层
  • Ubuntu 通过 Docker 搭建 GitLab
  • 数据结构与算法篇((原/反/补)码 进制)
  • 使用axios封装AJAX
  • 计算机毕业设计 基于Python的社交音乐分享平台的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
  • DOS 命令学习笔记