Обзор 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).