VRRP (Virtual
Router Redundancy Protocol) — сетевой протокол, предназначенный для увеличения
доступности маршрутизаторов выполняющих роль шлюза по умолчанию (Рисунок 1). Это достигается путём объединения группы маршрутизаторов
в один виртуальный маршрутизатор и
назначения им общего IP-адреса, который и
будет использоваться как шлюз по умолчанию для компьютеров в сети. В любой момент времени только один из физических
маршрутизаторов выполняет маршрутизацию трафика, то есть, становится VRRP
Master, остальные маршрутизаторы в группе становятся VRRP Backup.
Если текущий VRRP Master становится недоступным, то его роль берет на себя один
из VRRP Backup маршрутизаторов — тот, у которого наивысший приоритет.
Задание приоритета позволяет определить более приоритетные пути административно.
Рисунок 1. VRRP топология
Настройки устройств выглядят следующим образом:
AR1
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 192.168.2.1 255.255.255.252
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 192.168.1.0 0.0.0.3
network 192.168.2.0 0.0.0.3
AR2
vlan batch 10
#
interface GigabitEthernet0/0/0
ip address 192.168.1.2 255.255.255.252
#
interface GigabitEthernet0/0/1
portswitch
port link-type trunk
port trunk allow-pass vlan 10
#
ospf 1
area 0.0.0.0
network 192.168.3.0 0.0.0.255
network 192.168.1.0 0.0.0.3
AR3
vlan batch 10
#
interface GigabitEthernet0/0/1
ip address 192.168.2.2 255.255.255.252
#
interface GigabitEthernet0/0/2
portswitch
port link-type trunk
port trunk allow-pass vlan 10
#
ospf 1
area 0.0.0.0
network 192.168.3.0 0.0.0.255
network 192.168.2.0 0.0.0.3
SW1
vlan batch 10
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
Настроим VRRP на маршрутизаторах AR2 и AR3. На AR2 установим VRRPприоритет 120, чтобы он стал мастером в vrrp группе:
AR2
interface Vlanif10
ip address 192.168.3.1 255.255.255.0
vrrp vrid 10 virtual-ip 192.168.3.111
vrrp vrid 10 priority 120
AR3
interface Vlanif10
ip address 192.168.3.2 255.255.255.0
vrrp vrid 10 virtual-ip 192.168.3.111
[AR2] display vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Master Vlanif10 Normal 192.168.3.111
----------------------------------------------------------------
Total:1 Master:1 Backup:0 Non-active:0
[AR3] display vrrp brief
VRID State Interface Type Virtual IP
----------------------------------------------------------------
10 Backup Vlanif10 Normal 192.168.3.111
----------------------------------------------------------------
Total:1 Master:0 Backup:1 Non-active:0
Теперь проверим, как идет трафик в нашей сети:
PC> tracert 1.1.1.1
traceroute to 1.1.1.1, 8 hops max
(ICMP), press Ctrl+C to stop
1 192.168.3.1 63 ms 31 ms 31 ms
2 1.1.1.1 110 ms 93 ms 63 ms
Как видим, трафик до маршрутизатора AR1 идет через AR2, что подтверждает корректную работу VRRP.
Взглянем на вывод команды display vrrp на обоих маршрутизаторах:
[AR2] display vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.3.111
Master IP : 192.168.3.1
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Create time : 2019-04-15 06:04 UTC-08:00
Last change time : 2019-04-15 06:04 UTC-08:00
[AR3] display vrrp
Vlanif10 | Virtual Router 10
State : Backup
Virtual IP : 192.168.3.111
Master IP : 192.168.3.1
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Create time : 2019-04-15 06:04 UTC-08:00
Last change time : 2019-04-15 06:04 UTC-08:00
Маршрутизатор AR2 выступает в роли мастера в vrrp группе и через него идет трафик. Его приоритет равен 120. AR3 выступает в роли бэкап маршрутизатора, его приоритет равен 100, что является значением по умолчанию.
Если произойдет обрыв линка, подключенного к интерфейсу GE 0/0/1 AR2, или поломка самого маршрутизатора, то AR3 возьмет на себя роль мастера и трафик пойдет через него.
Давайте рассмотрим другой случай.
Что произойдет, если оборвется линк, подключенный к интерфейсу GE 0/0/0 AR2?
Дадим команду shutdown на интерфейсе GE 0/0/0 и посмотрим как пойдет трафик с PC до AR1:
PC> tracert 1.1.1.1
traceroute to 1.1.1.1, 8 hops max
(ICMP), press Ctrl+C to stop
1 192.168.3.1 16 ms 31 ms 31 ms
2 192.168.3.2 47 ms 31 ms 32 ms
3 1.1.1.1 62 ms 78 ms 63 ms
Трафик сначала идет на AR1, так как он является мастером в vrrp группе.
Мы можем избежать подобной ситуации, если включим функцию трекинга интерфейса GE 0/0/0 на маршрутизаторе AR2. Если произойдет обрыв GE0/0/0, то произойдет переключение между AR2 и AR3, и AR3 станет мастером в vrrp группе.
Перейдем к настройке трекинга интерфейса:
[AR2] interface Vlanif 10
[AR2-Vlanif10] vrrp vrid 100 track interface GigabitEthernet 0/0/0 reduced 40
[AR2] display vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.3.111
Master IP : 192.168.3.1
PriorityRun : 120
PriorityConfig : 120
MasterPriority : 120
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Track IF : GigabitEthernet0/0/0 Priority reduced : 40
IF state : UP
Create time : 2019-04-15 06:04 UTC-08:00
Last change time : 2019-04-15 06:04 UTC-08:00
Теперь снова выключим интерфейс GE 0/0/0 и посмотрим, что произойдет:
[AR2-GigabitEthernet0/0/0] shutdown
[AR2] display vrrp
Vlanif10 | Virtual Router 10
State : Backup
Virtual IP : 192.168.3.111
Master IP : 192.168.3.2
PriorityRun : 80
PriorityConfig : 120
MasterPriority : 100
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Track IF : GigabitEthernet0/0/0 Priority reduced : 40
IF state : DOWN
Create time : 2019-04-15 06:04 UTC-08:00
Last change time : 2019-04-15 06:04 UTC-08:00
[AR3] display vrrp
Vlanif10 | Virtual Router 10
State : Master
Virtual IP : 192.168.3.111
Master IP : 192.168.3.2
PriorityRun : 100
PriorityConfig : 100
MasterPriority : 100
Preempt : YES Delay Time : 0 s
TimerRun : 1 s
TimerConfig : 1 s
Auth type : NONE
Virtual MAC : 0000-5e00-010a
Check TTL : YES
Config type : normal-vrrp
Create time : 2019-04-15 06:04 UTC-08:00
Last change time : 2019-04-15 06:04 UTC-08:00
Маршрутизатор AR3 становится мастером в группе и трафик начинает идти через него. Но на это уходит несколько секунд. Как можно ускорить процесс переключения?
Мы можем поднять BFD сессию между нашими vrrp маршрутизаторами и настроить отслеживание этой сессии на маршрутизаторе AR3. Благодаря bfd, vrrp переключение будет происходить за миллисекунды.
[AR2] bfd VRRP bind peer-ip 192.168.3.2 interface Vlanif10
[AR2-bfd-session-VRRP] discriminator local 1
[AR2-bfd-session-VRRP] discriminator remote 2
[AR2-bfd-session-VRRP] commit
[AR3] bfd VRRP bind peer-ip 192.168.3.1 interface Vlanif10
[AR3-bfd-session-VRRP] discriminator local 2
[AR3-bfd-session-VRRP] discriminator remote 1
[AR3-bfd-session-VRRP] commit
[AR3] display bfd session all
--------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
--------------------------------------------------------------------------------
2 1 192.168.3.1 Up S_IP_IF Vlanif10
--------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
[AR3-Vlanif10] vrrp vrid 10 track bfd-session 2 increased 40
Если между машрутизаторами прервется bfd сессия, то vrrp приоритет на AR3 будет увеличен до 140 и он займет роль мастера в vrrp группе.