VRRP
Техподдержка Фактор-ТСVRRP (Virtual Router Redundancy Protocol) — сетевой протокол, предназначенный для увеличения доступности маршрутизаторов, выполняющих роль шлюза по умолчанию. Это достигается путём объединения группы маршрутизаторов в один виртуальный маршрутизатор и назначения им общего IP-адреса, который и будет использоваться как шлюз по умолчанию для компьютеров в сети.
В приведенном примере применена типовая схема коммутации № 11
Для настройки VRRP в режиме configure для всех участников кластера необходимо перейти в режим конфигурации VRRP:
NX-1(config)# service vrrp
В этом режиме можно активировать и деактивировать службу VRRP с помощью команд enable/disable, а также создавать и удалять участников (экземпляры) кластера и группы.
Для функционирования кластера необходимо создать хотя бы одного участника кластера.
Для этого необходимо создать instance (экземпляр) кластера:
NX-1(service-vrrp)# instance outside
NX-1(service-vrrp-outside)#
outside здесь любое удобное администратору имя. При этом осуществляется переход в режим настройки данного экземпляра участника кластера.
В этом режиме осуществляется связь виртуального IP-адреса с участником кластера и задаются другие параметры:
NX-1(service-vrrp-outside)# state master – Роль NX-1 в данном кластере
NX-1(service-vrrp-outside)# iface ethernet 3 – Привязка к интерфейсу ethernet 3
NX-1(service-vrrp-outside)# id 1 – Задание номера группы для кластера
NX-1(service-vrrp-outside)# priority 100 – Приоритет данного устройства в кластере
NX-1(service-vrrp-outside)# adv-interval 3 – Интервал advertisement-оповещений
NX-1(service-vrrp-outside)# ip address 192.168.1.10/24 – Задание виртуального IP-адреса
NX-1(service-vrrp)# enable
Аналогичным образом необходимо настроить NX-2, который будет выполнять роль backup-маршрутизатора:
NX-2(service-vrrp)# instance outside
NX-2(service-vrrp-outside)# state backup
NX-2(service-vrrp-outside)# iface ethernet 3
NX-2(service-vrrp-outside)# id 1
NX-2(service-vrrp-outside)# priority 75
NX-2(service-vrrp-outside)# adv-interval 3
NX-2(service-vrrp-outside)# preempt-delay 10 – Задержка для перехвата роли
NX-2(service-vrrp-outside)# ip address 192.168.1.10/24
NX-2(service-vrrp)# enable
В каком состоянии находится то или иное устройство относительного каждого instance можно уточнить командой «show service vrrp state»:
NX-1# show service vrrp state
INSTANCE STATE
outside MASTER
NX-2# show service vrrp state
INSTANCE STATE
outside BACKUP
Положение NX-1 и NX-2 указано в соответствии с настройками.
NX-2 не станет в положение Master пока будет получать advertisement сообщения от NX-1.
Когда все работает исправно, NX-2 получает сообщения от NX-1:
NX-2# tcpdump ethernet 3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ethernet3, link-type EN10MB (Ethernet), capture size 262144 bytes
13:28:50.634827 IP 192.168.1.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 3s, length 20
13:28:53.635235 IP 192.168.1.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 3s, length 20
13:28:56.635263 IP 192.168.1.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 3s, length 20
13:28:59.635677 IP 192.168.1.1 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 3s, length 20
Если с ПК-1 запустить ping на виртуальный адрес VRRP, пакеты должны прийти на Master маршрутизатор, которым является NX-1:
NX-1# tcpdump ethernet 3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ethernet3, link-type EN10MB (Ethernet), capture size 262144 bytes
13:39:16.741405 IP 192.168.1.5 > 192.168.1.10: ICMP echo request, id 1, seq 3560, length 40
13:39:16.741429 IP 192.168.1.10 > 192.168.1.5: ICMP echo reply, id 1, seq 3560, length 40
13:39:17.744864 IP 192.168.1.5 > 192.168.1.10: ICMP echo request, id 1, seq 3561, length 40
13:39:17.744885 IP 192.168.1.10 > 192.168.1.5: ICMP echo reply, id 1, seq 3561, length 40
Соответственно, если во время процедуры ping на виртуальный адрес отключить ethernet у NX-1 пакеты должны пойти на NX-2 и NX-2 должен перейти в состояние Master:
NX-2# tcpdump ethernet 3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ethernet3, link-type EN10MB (Ethernet), capture size 262144 bytes
13:43:16.470582 IP 192.168.1.5 > 192.168.1.10: ICMP echo request, id 1, seq 3811, length 40
13:43:16.470624 IP 192.168.1.10 > 192.168.1.5: ICMP echo reply, id 1, seq 3811, length 40
13:43:17.474694 IP 192.168.1.5 > 192.168.1.10: ICMP echo request, id 1, seq 3812, length 40
13:43:17.474721 IP 192.168.1.10 > 192.168.1.5: ICMP echo reply, id 1, seq 3812, length 40
NX-2# show service vrrp state
INSTANCE STATE
outside MASTER
NX-1# show service vrrp state
INSTANCE STATE
outside FAULT
NX-2 Забрал на себя роль Master, а NX-1 показывает ошибку, т.к. у него отключен интерфейс.
Также можно заметить небольшую потерю пакетов при выполнении команды ping с ПК-1, т.к. понадобилось какое-то время чтобы NX-2 перешел в состояние Master:
ping 192.168.1.10 -t
Обмен пакетами с 192.168.1.10 по с 32 байтами данных:
Ответ от 192.168.1.10: число байт=32 время<1мс TTL=64
Ответ от 192.168.1.10: число байт=32 время<1мс TTL=64
Ответ от 192.168.1.10: число байт=32 время<1мс TTL=64
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.1.10: число байт=32 время<1мс TTL=64
Статистика Ping для 192.168.1.10:
Пакетов: отправлено = 7, получено = 4, потеряно = 3