Перейти к содержанию

Обзор VRRP#

Протокол VRRP#

Virtual Router Redundancy Protocol (VRRP) — сетевой протокол, позволяющий объединять группу маршрутизаторов в один виртуальный маршрутизатор. VRRP предназначен для обеспечения отказоустойчивости маршрутизатора, выполняющего роль шлюза по умолчанию.

В Numa Edge реализована поддержка VRRP по стандарту RFC 3768 для физических интерфейсов Ethernet, виртуальных интерфейсов на интерфейсах Ethernet, интерфейсов агрегированных каналов Ethernet и виртуальных интерфейсов на интерфейсах агрегированных каналов Ethernet.

Примечание

В силу ограничений текущей реализации протоколов DHCP и VRRP, их использование на одном и том же интерфейсе невозможно. При использовании протокола VRRP IP-адрес на интерфейсе может быть задан только статически.

Идентификатор виртуального маршрутизатора (VRID)#

При использовании VRRP, интерфейсы физических маршрутизаторов формируют «виртуальный маршрутизатор». Виртуальный маршрутизатор — это абстрактный объект, управляемый процессом VRRP и определяемый посредством его идентификатора и VIP-адреса. Узлы в сети настраиваются таким образом, чтобы направлять пакеты на VIP-адрес виртуального маршрутизатора, вместо IP-адресов физических интерфейсов.

Виртуальный маршрутизатор может состоять из кластера физических и/или виртуальных интерфейсов, обеспечивающих резервирование для первичного (primary) интерфейса (мастер-интерфейса). Как правило, интерфейсы, входящие в виртуальный маршрутизатор, находятся на разных маршрутизаторах.

Резервированием управляет процесс VRRP, выполняемый в системе каждого маршрутизатора, состоящего в виртуальном маршрутизаторе.

Каждый виртуальный маршрутизатор имеет уникальный цифровой идентификатор (Virtual router ID — VRID) и виртуальный IP-адрес (Virtual IP — VIP). Каждому виртуальному маршрутизатору может быть назначено до 20 VIP-адресов. Для обеспечения резервирования интерфейсам в составе виртуального маршрутизатора должен быть назначен одинаковый идентификатор и VIP-адрес. IP-адреса интерфейсов и VIP-адрес группы не обязательно должны находится в одной подсети. Допускается использование интерфейсов, не имеющих IP-адреса (unnumbered).

Один интерфейс может входить в состав нескольких виртуальных маршрутизаторов.

VIP-адрес#

Устройствам, состоящим в виртуальном маршрутизаторе, присваивается единый VIP-адрес. Таким образом обеспечиваются альтернативные пути маршрутизации для устройств, подключенных к сети, без необходимости изменения их настроек. Кроме того, таким образом обеспечивается резервирование существующих маршрутов, благодаря чему отдельный маршрутизатор не может стать компонентом, отказ которого приводит к отказу всей сети (Single Point of Failure — SPOF).

Виртуальный маршрутизатор использует свой идентификатор и MAC-префикс для создания виртуального MAC-адреса. ARP-запросы к VIP передаются на виртуальный MAC-адрес, который в свою очередь, присваивается физическому маршрутизатору, задействованному в этот момент в качестве главного маршрутизатора. При отказе главного маршрутизатора виртуальный MAC-адрес и VIP присваиваются одному из резервных устройств, после того, как резервный маршрутизатор становится главным. Таким образом обеспечивается непрерывный доступ узлов к шлюзу даже в случае отказа одного из устройств в рамках виртуального маршрутизатора.

Главный маршрутизатор перенаправляет пакеты, предназначенные локальным устройствам, отвечает на ARP-запросы, сообщения ping через протокол ICMP и IP-датаграммы, направляемые на VIP-адрес. При этом резервные маршрутизаторы бездействуют, даже в случае отсутствия сбоев. На ARP-запросы и сообщения ping, а также IP-датаграммы, посылаемые на реальные IP-адреса собственных интерфейсов, резервный маршрутизатор отвечает обычным образом.

Владелец VIP-адреса#

Маршрутизатор является владельцем VIP-адреса в том случае, если основным IP-адресом интерфейса с VRRP является VIP-адрес. При назначении VIP-адреса интерфейсу, данный интерфейс получает преимущественное право на его использование. Настройки интерфейса, являющегося владельцем VIP-адреса должны соответствовать следующим условиям:

  • Владелец VIP-адреса не должен иметь другого заданного IP-адреса.
  • Настройки VRRP должны быть определены для владельца VIP-адреса.
  • Вытеснение (preemption) должно быть включено (enable).
  • Источник получения «hello» пакетов должен соответствовать установленному по умолчанию.

Значением приоритета для владельца VIP-адреса всегда будет 255. Это значение зарезервировано и его нельзя настроить вручную. Доступный диапазон настройки приоритета 1-254. Таки образом, маршрутизатор владелец VIP не может быть резервным маршрутизатором.

Примечание

В случае использования нескольких VIP-адресов возможна ситуация, когда IP-адреса сразу нескольких устройств совпадут с VIP-адресами в рамках одного виртуального маршрутизатора и станут владельцами VIP-адресов — главными маршрутизаторами, такая ситуация может привести к проблемам функционирования сети. Данный случай настройки виртуального маршрутизатора не противоречит спецификации стандарта RFC 3768. Рекомендуется учитывать это при конфигурировании VIP-адресов в рамках одного виртуального маршрутизатора, чтобы исключить одновременное появление нескольких владельцев VIP-адресов.

Виртуальный MAC-адрес#

Согласно спецификации RFC 3768, каждому виртуальному маршрутизатору VRRP должен быть присвоен определённый 48-битный MAC-адрес. Виртуальный MAC-адрес создаётся на основе MAC-префиксов (описанных в спецификации протокола VRRP) и идентификатора виртуального маршрутизатора. Виртуальный MAC-адрес выглядит как 0000:5E00:01xx, где xx — идентификатор виртуального маршрутизатора.

Главный маршрутизатор использует MAC-адрес виртуального маршрутизатора в качестве источника для отправляемых VRPP-пакетов. При получении статуса главного маршрутизатора, резервное устройство также начинает использовать MAC-адрес виртуального маршрутизатора.

Использование предопределённого MAC-адреса виртуального маршрутизатора позволяет не менять настройки ARP при сбое главного маршрутизатора.

В системе Numa Edge присутствует поддержка альтернативного режима присвоения MAC-адреса. В данном режиме VIP-адрес будет присваиваться MAC-адресу главного маршрутизатора. В случае сбоя, VIP-адрес присваивается MAC-адресу резервного маршрутизатора, который в свою очередь извещает об изменении MAC-адреса посредством самообращённых запросов ARP.

По умолчанию, система Numa Edge использует альтернативный режим присвоения MAC-адреса. Настройка режима присвоения MAC-адреса осуществляется командой interfaces <интерфейс> vrrp <идентификатор> strict-mode

Примечание

Устройства, состоящие в одном виртуальном маршрутизаторе должны использовать одинаковые режимы присвоения MAC-адреса.

Интерфейс VRRP#

Интерфейс VRRP функционирует в режиме прохождения (pass-through). Данный режим позволяет получать пакеты, направляемые на виртуальный MAC-адрес виртуального маршрутизатора на интерфейс главного маршрутизатора. Интерфейс VRRP используется для передачи пакетов протокола VRRP. Пакеты протокола VRRP предназначены для передачи информации о состоянии и приоритете главного маршрутизатора остальным устройствам, состоящим в виртуальном маршрутизаторе.

Имя интерфейса VRRP назначается автоматически на основе идентификатора используемого интерфейса главного маршрутизатора и идентификатора виртуального маршрутизатора. Форматы имени интерфейса VRRP представлены в таблице ниже.

Формат Тип интерфейса Идентификатор интерфейса и идентификатор виртуального маршрутизатора (VRID) Имя интерфейса VRRP
ethnvV Физический интерфейс Ethernet eth1 и VRID 21 eth1v21
bondnvV Интерфейс агрегированных каналов Ethernet bond1 и VRID 12 bond1v12
ethn.DvV Виртуальный интерфейс на интерфейсе Ethernet eth1, VLAN ID 10, VRID 21 eth1.10v21
Bondn.DvV Виртуальный интерфейс на интерфейсе агрегированных каналов Ethernet bond1, VLAN ID 10, VRID 12 Bond1.10v12

Объявления VRRP#

Главный маршрутизатор использует объявления VRRP для передачи информации о своём текущем состоянии резервным маршрутизаторам. Объявления VRRP состоят из пакетов «heartbeat», которые содержат информацию о состоянии главного маршрутизатора и его приоритет. В каждом виртуальном маршрутизаторе только главный маршрутизатор отправляет периодические объявления VRRP на зарезервированный адрес 224.0.0.18. На канальном уровне в качестве MAC-адреса отправителя объявлений VRRP используется виртуальный MAC-адрес. Если резервные устройства не получают объявления VRRP в течении заданного периода (dead interval), то главный маршрутизатор считается неработоспособным, после чего статус главного маршрутизатора присваивается одному из резервных маршрутизаторов согласно выставленному значению приоритета.

Выбор главного маршрутизатора#

Выбор главного устройства в рамках виртуального маршрутизатора происходит автоматически на основании выставленного значения приоритета. Если у двух устройств в составе виртуального маршрутизатора значение приоритета будет равным, то главным маршрутизатором назначается маршрутизатор с большим IP-адресом.

При отказе мастер-интерфейса, дублирующий интерфейс с наибольшим значением приоритета назначается мастер-интерфейсом и ему присваивается VIP-адрес виртуального маршрутизатора. Рекомендуется устанавливать значение приоритета мастер-интерфейса равным наибольшему значению приоритета дублирующего интерфейса плюс 50. Значение приоритета дублирующего интерфейса можно оставить равным значению по умолчанию, однако при наличии двух и более дублирующих интерфейсов, следует задать им разные значения приоритета.

Возможные состояния виртуального маршрутизатора на устройствах#

Формат имени интерфейса VRRP:

Состояние Описание
MASTER Главный маршрутизатор – это устройство, имеющее наибольший приоритет в рамках одного виртуального маршрутизатора. Отправляет на резервные маршрутизаторы объявления, содержащие в том числе, значение приоритета.
BACKUP Резервный маршрутизатор – это устройство, которое имеет меньший приоритет чем главный маршрутизатор. При получении объявлений сравнивает приоритет в полученном обявлении со своим значением. Если было получено объявление с меньшим приоритетом или объявления не были получены в течении установленного интервала – резервный маршрутизатор становится главным маршрутизатором.
FAUIL Состояние ошибки – в большинстве случаев, связано с выходом из строя/отключением интерфейса, связанного с виртуальным маршрутизатором.

Вытеснение#

При включенном параметре вытеснения (preempt) резервный маршрутизатор с большим приоритетом чем у текущего главного маршрутизатора будет замещать главный маршрутизатор, посылая свои собственные объявления VRRP. После того, как главный маршрутизатор обнаружит, что у дублирующего устройства задано более высокое значение приоритета, он прекращает посылать объявления VRRP. Таким образом дублирующий маршрутизатор с более высоким значением приоритета назначается главным маршрутизатором.

Вытеснение полезно в случае нахождения в одном виртуальном маршрутизаторе высокопроизводительного главного маршрутизатора и низкопроизводительного резервного маршрутизатора. Например, при сбое главного маршрутизатора, малопроизводительный резервный маршрутизатор назначается главным маршрутизатором до момента устранения сбоя. После устранения сбоя высокопроизводительный маршрутизатор с большим приоритетом будет автоматически назначен главным маршрутизатором.

В системе Numa Edge вытеснение включено по умолчанию.

Аутентификация VRRP#

При настройке аутентификации VRRP помимо пароля необходимо указать тип аутентификации. Если пароль установлен, а тип аутентификации не определён, то система генерирует ошибку при фиксации изменений конфигурации (commit). По той же причине нельзя удалить пароль без удаления типа аутентификации.

При удалении типа аутентификации VRRP и пароля, аутентификация VRRP автоматически отключается.

Синхронные группы VRRP#

При конфигурации на одном устройстве нескольких виртуальных маршрутизаторов, для каждого из них состояние отслеживается отдельно. Синхронные группы VRRP позволяют объединить несколько таких виртуальных маршрутизаторов в общую группу. В этом случае, при изменении состояния одного из виртуальных маршрутизаторов – данное состояние принимают все остальные маршрутизаторы, объединенные в синхронную группу.

Примечание

Рекомендуется на всех интерфейсах, объединенных в синхронную группу для каждого устройства, задавать одинаковые значения приоритета.

Фильтрация по состоянию#

Согласно спецификации VRRP, если процесс VRRP находится в состоянии BACKUP, то все пакеты, направленные на виртуальный MAC-адрес виртуального маршрутизатора должны игнорироваться (drop).

Поддержка SNMP для VRRP#

Numa Edge поддерживает удаленный мониторинг VRRP через протокол SNMP. Система Numa Edge поддерживает объекты стандартов RFC 2787, RFC 6527, а также базу управляющей информации KEEPALIVED-MIB.

Клиент SNMP делает запрос через системную службу snmpd. Запрос перенаправляется системной службе keepalived, которая в свою очередь возвращает ответ на запрос согласно описанию KEEPALIVED-MIB. Таким образом, клиенту SNMP становится доступна специфическая дополнительная информация о состоянии VRRP, например, информация о состоянии главного маршрутизатора, синхронной группы и так далее.

OIDs:

  • KEEPALIVED-MIB: iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) debian(9586) project(100) keepalived(5);
  • RFC 2787: iso(1) identified-organization(3) dod(6) internet(1) mgmt(2) mib-2(1) vrrpMIB(68);
  • RFC 6527: iso(1) identified-organization(3) dod(6) internet(1) mgmt(2) mib-2(1) vrrpv3MIB(207).