Траблшутинг отказоустойчивости шлюза по умолчанию: VRRP, HSRP, GLBP
- Состояние Split-brain: два или более маршрутизатора одновременно переходят в статус
Active(HSRP) илиMaster(VRRP), вызывая конфликт виртуального IP и MAC-адреса. - Периодическая потеря 50% пакетов у хостов в локальной сети из-за флаппинга записей в CAM-таблицах коммутаторов (MAC flap).
- Некорректная работа механизма вытеснения (Preempt), приводящая к постоянному переключению шлюза при нестабильном аплинке.
- Асимметричная маршрутизация и сброс сессий межсетевыми экранами (Stateful Firewalls) из-за балансировки трафика через GLBP.
1. Диагностика состояния протокола на маршрутизаторах
# Проверка статуса HSRP (Cisco IOS-XE)
show standby brief
show standby detail
# Проверка статуса VRRP (Cisco / Arista / Huawei)
show vrrp brief
show vrrp detail
# Проверка балансировки GLBP
show glbp brief2. Анализ причин состояния Split-Brain
Основная причина одновременного перехода обоих узлов в Active/Master — блокировка Hello-пакетов между пирами (мультикаст 224.0.0.2 / 224.0.0.102 для HSRP, 224.0.0.18 для VRRP).
- Проверьте наличие ACL на интерфейсах: разрешите прохождение мультикаст-трафика FHRP.
- Проверьте работу IGMP Snooping на коммутаторах L2: если querier отсутствует, мультикаст может сбрасываться.
- Убедитесь в совпадении идентификаторов групп (Group ID) и паролей аутентификации (Authentication string/MD5).
3. Настройка защитных интервалов Preempt Delay
Для предотвращения преждевременного перехвата роли шлюза до поднятия протоколов динамической маршрутизации (BGP/OSPF) настройте задержку вытеснения:
interface GigabitEthernet0/0/1
description LAN_GATEWAY
ip address 192.168.10.2 255.255.255.0
standby 10 ip 192.168.10.1
standby 10 priority 110
standby 10 preempt delay minimum 60 reload 180
standby 10 authentication md5 key-string SecureAuthKey!2024
standby 10 track GigabitEthernet0/0/0 204. Настройка отслеживания аплинка (Object Tracking)
При падении внешнего интерфейса маршрутизатор должен автоматически снижать свой приоритет:
track 1 interface GigabitEthernet0/0/0 line-protocol
!
interface GigabitEthernet0/0/1
standby 10 track 1 decrement 20
vrrp 10 track 1 decrement 205. Захват пакетов для верификации Hello-сообщений
# Захват пакетов VRRP в tcpdump на Linux-маршрутизаторе (Keepalived)
tcpdump -nnvv -i eth1 proto 112 or host 224.0.0.18 Частые вопросы (FAQ)
Почему при использовании GLBP рвутся TCP-сессии через межсетевой экран?
GLBP выполняет балансировку за счет отдачи разных виртуальных MAC-адресов (AVG/AVF) на ARP-запросы клиентов. В результате входящий и исходящий трафик сессии может проходить через разные физические фаерволы. Если между ними нет кластерной синхронизации состояний (Stateful Sync), трафик сбрасывается как нелегитимный (Out of state).
Чем отличается таймер Preempt Delay reload от minimum?
Параметр 'minimum' задает паузу перед перехватом роли после падения/поднятия интерфейса в процессе работы, а 'reload' задает увеличенную задержку только при первичной загрузке самого маршрутизатора после ребута, давая время на установление BGP/OSPF сессий.
Какой MAC-адрес использует протокол HSRP версии 1 и версии 2?
HSRPv1 использует диапазон 0000.0c07.acXX (где XX — номер группы в HEX от 00 до FF). HSRPv2 использует диапазон 0000.0c9f.fXXX (где XXX — номер группы от 000 до FFF) и мультикаст-адрес 224.0.0.102.
Что делать, если в логах коммутатора появляется ошибка '%SW_MATM-4-MACFLAP_NOTIF' для виртуального MAC-адреса?
Это прямой признак Split-Brain. Проверьте L2-связность транка между коммутаторами, настройки Native VLAN, spanning-tree блокировки портов и списки доступа ACL, фильтрующие протокол 112 (VRRP) или UDP 1985 (HSRP).