VRRP Synchronisation Groups HowTo
About
This document provides a VRRP Synchronisation groups use-case, and how it is configured using the CLI.
For an overview of all available configuration settings for VRRP refer to the configuration guide:
Introduction
A more complex use-case than a basic VRRP setup, involving synchronisation groups, can be constructed as show in Figure 1:
.---.
| H | route to N1 via 192.168.0.10
'-+-'
192.168.0.0/24 |
---------+---Network N2----+------+--
| |
VRRP Setup | | VRRP Setup
instance: i2 | | instance: i2
vrid: 1 | | vrid: 1
vaddr: 192.168.0.10 |.1 |.2 vaddr: 192.168.0.10
prio: 100 .---+---. .---+---. prio: 10
group: g1 | | vlan2 | | vlan2 group: g1
| R1 | | R2 |
VRRP Setup | | vlan1 | | vlan1 VRRP Setup
instance: i1 '---+---' '---+---' instance: i1
vrid: 1 |.1 |.2 vrid: 1
vaddr: 10.0.0.100 | | vaddr: 10.0.0.100
prio: 100 | | prio: 50
group: g1 | | group: g1
| |
--+------+---Network N1----+---------
| 10.0.0.0/24
.-+--.
| H1 | route to N2 via 10.0.0.100
'----'
Figure 1: A VRRP setup with two routers forming a virtual router setup with synchronisation groups.
From the perspective of host H1, this case is similar to the one presented here. Equivalently, the same applies to host H2, only that it has a redundant route to network N1 instead.
However, in this scenario, it is possible for router R1 to be the master router for traffic to N1, and for R2 to be the master router towards N2. Assuming there is a requirement to avoid this kind of asymmetrical routing, both VRRP instances on each router R1, R2 can be grouped together into synchronisation groups. This will ensure that one of R1 or R2 is always selected as the master router of both virtual routers. This example also illustrates that VRIDs can be reused across different interfaces on each router.
Configuration
Configure two VRRP instances per router and add those two instances to a synchronisation group.
It is assumed that both routers have two different VLANs configured for each of the networks described in Figure 1.
Router 1
Configure VRRP instance i1:
R1:/#> configure R1:/config/#> router R1:/config/router/#> vrrp i1 Creating new VRRP instance: i1 R1:/config/router/vrrp-i1/#> vrid 1 R1:/config/router/vrrp-i1/#> address 10.0.0.100 R1:/config/router/vrrp-i1/#> prio 100 R1:/config/router/vrrp-i1/#> iface vlan1 R1:/config/router/vrrp-i1/#> end R1:/config/router/#>
Configure VRRP instance i2:
R1:/config/router/#> vrrp i2 Creating new VRRP instance: i2 R1:/config/router/vrrp-i2/#> vrid 1 R1:/config/router/vrrp-i2/#> address 192.168.0.10 R1:/config/router/vrrp-i2/#> prio 100 R1:/config/router/vrrp-i2/#> iface vlan2 R1:/config/router/vrrp-i2/#> end R1:/config/router/#>
If we want to ensure that the router with highest priority is always selected when possible, we can enable preemption:
R2:/config/router/#> vrrp i1 R2:/config/router/vrrp-i1/#> preempt delay 0 R2:/config/router/vrrp-i1/#> end R2:/config/router/#> R2:/config/router/#> vrrp i2 R2:/config/router/vrrp-i2/#> preempt delay 0 R2:/config/router/vrrp-i2/#> end R2:/config/router/#>
Configure the synchronisation group g1:
R1:/config/router/#> group g1 Creating new VRRP group: g1 R1:/config/router/vrrp-grp-g1/#> member i1 Added instance 'i1' as group member 1. R1:/config/router/vrrp-grp-g1/#> member i2 Added instance 'i2' as group member 2. R1:/config/router/vrrp-grp-g1/#> leave R1:/#>
Router 2
Configure VRRP instance i1:
R2:/#> configure R2:/config/#> router R2:/config/router/#> vrrp i1 Creating new VRRP instance: i1 R2:/config/router/vrrp-i1/#> vrid 1 R2:/config/router/vrrp-i1/#> address 10.0.0.100 R2:/config/router/vrrp-i1/#> prio 50 R2:/config/router/vrrp-i1/#> iface vlan1 R2:/config/router/vrrp-i1/#> end R2:/config/router/#>
Configure VRRP instance i2:
R2:/config/router/#> vrrp i2 Creating new VRRP instance: i2 R2:/config/router/vrrp-i2/#> vrid 1 R2:/config/router/vrrp-i2/#> address 192.168.0.10 R2:/config/router/vrrp-i2/#> prio 10 R2:/config/router/vrrp-i2/#> iface vlan2 R2:/config/router/vrrp-i2/#> end R2:/config/router/#>
If we want to ensure that the router with highest priority is always selected when possible, we can enable preemption:
R2:/config/router/#> vrrp i1 R2:/config/router/vrrp-i1/#> preempt delay 0 R2:/config/router/vrrp-i1/#> end R2:/config/router/#> R2:/config/router/#> vrrp i2 R2:/config/router/vrrp-i2/#> preempt delay 0 R2:/config/router/vrrp-i2/#> end R2:/config/router/#>
Configure the synchronisation group g1:
R2:/config/router/#> group g1 Creating new VRRP group: g1 R2:/config/router/vrrp-grp-g1/#> member i1 Added instance 'i1' as group member 1. R2:/config/router/vrrp-grp-g1/#> member i2 Added instance 'i2' as group member 2. R2:/config/router/vrrp-grp-g1/#> leave R2:/#>
Status
The status of the VRRP can be observed on each individual VRRP router.
Router 1:
R1:/#> show vrrp VRRP Instances INSTANCE NAME BASE INTERFACE VRID ADDRESS PRIORITY STATE GROUP i1 vlan1 1 10.0.0.100 100(100) MASTER g1 i2 vlan2 1 192.168.0.10 100(100) MASTER g1
Router 2:
R2:/#> show vrrp VRRP Instances INSTANCE NAME BASE INTERFACE VRID ADDRESS PRIORITY STATE GROUP i1 vlan1 1 10.0.0.100 50(100) BACKUP g1 i2 vlan2 1 192.168.0.10 10(100) BACKUP g1
WeOS