Документация: ПО Факел — разрабатываемая версия

VRRP

Обзор

Протокол VRRP позволяет организовать избыточность на уровне маршрутизаторов в формате активный-резервный. Протокол VRRP объединяет несколько маршрутизаторов в отказоустойчивый кластер. Все маршрутизаторы, которые являются участниками отказоустойчивого кластера имеют общий виртуальный адрес IP (VIP) адрес и общий номер группы или VRID (Virtual Router Identifier). Один маршрутизатор может состоять в нескольких группах, каждая из которых должна иметь свою уникальную пару VIP/VRID. Все маршрутизаторы делятся на два типа: VRRP Master и VRRP Backup.

  • VRRP Master — это маршрутизатор, который занимается пересылкой пакетов для данного виртуальной группы.

  • VRRP Backup — это маршрутизатор, который ожидает пакет от Master. Если пакеты от Master перестают приходить, Backup пытается перейти в состояние Master.

При запуске маршрутизаторы обмениваются сообщениями, выбирая таким образом между собой активного. Активным становится тот маршрутизатор который имеет наивысший приоритет. Виртуальный IP адрес назначается активному маршрутизатору. Все остальные маршрутизаторы с приоритетом ниже становятся резервными. В процессе работы активный маршрутизатор рассылает остальным маршрутизаторам keepalive пакеты на широковещательный адрес 224.0.0.18, чтобы сообщить Backup маршрутизаторам, что он работает. Master отправляет сообщения согласно таймеру advertise-interval, равный по умолчанию 1 секунде. В качестве MAC адреса отправителя используется адрес группы 00:00:5E:00:01:xx, где xx — VRID в шестнадцатеричном формате. Если Backup маршрутизаторы не получают сообщения в течение трех advertise-interval, то новым Master становится маршрутизатор с наибольшим приоритетом. Если в группе появится Backup маршрутизатор с более высоким приоритетом, то он перехватит роль Master у маршрутизатора с более низким приоритетом. Однако, когда у Backup маршрутизатора, который имеет более высокий приоритет активирован параметр no-preempt, такой Backup маршрутизатор не станет перехватывать роль у Master маршрутизатора. VRRP приоритет задается в значениях от 1 до 255. Значение 0 зарезервировано для случаев, когда Master необходимо снять с себя ответственность за маршрутизацию. Значение 255 устанавливается маршрутизатору владельцу VIP. Если VRRP-маршрутизатор является владельцем VIP адреса, то он всегда перехватывает роль Master. Приоритет по умолчанию равен 100, но может задаваться административно. VRRP маршрутизатор может иметь три состояния:

  • Initialize

  • Backup

  • Master

VRRP маршрутизатор изменяет свои состояния последовательное.

В состоянии Initialize маршрутизатор ожидает начала работы. Если этот маршрутизатор является владельцем VIP адреса (приоритет равен 255), то маршрутизатор отправляет сообщения о том что он становится Master. Он также отправляет gratuitous ARP-запрос, в котором MAC-адрес источника равен адресу виртуального маршрутизатора. Затем он переходит в состояние Master. Если маршрутизатор не является владельцем VIP, то он переходит в состояние Backup.

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

Если Backup не получает сообщения от Master в течение трех advertise-interval, то он отправляет VRRP сообщение о том, что собирается стать Master. Затем этот маршрутизатор отправляет широковещательное VRRP сообщение, в котором MAC-адрес источника равен адресу этого виртуального маршрутизатора. В данном сообщении маршрутизатор указывает свой приоритет.

В состоянии Master маршрутизатор обрабатывает пакеты, адресованные виртуальному маршрутизатору. Он так же отвечает на ARP-запросы к VIP. Master маршрутизатор рассылает VRRP сообщения каждые advertise-interval (по умолчанию значение равно 1 секунде), чтобы подтвердить что он работает.

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

Протокол VRRP выполняет свои функции в одном из двух режимов:

  • С наследованием роли Master — если маршрутизатор с наивысшим приоритетом выходит из строя, а затем восстанавливает свою работу, маршрутизатор с приоритетом ниже возвращает ему роль активного.

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

Алгоритм настройки VRRP группы

  1. Указать IP адреса и задать описание интерфейсов физических интерфейсов маршрутизатора

  2. Задать имя и описание для VRRP группы

  3. Указать физический интерфейс маршрутизатора, который будет являться участником VRRP группы

  4. Определить приоритет маршрутизатора для VRRP группы

  5. Задать виртуальный адрес VIP для VRRP группы

  6. Указать общий номер VRRP группы VRID

  7. Выполнить аналогичные настройки на втором маршрутизаторе

Контроль работы

Состояние групп VRRP отображают команды режима «Администрирование»: show vrrp выводит краткую сводку (имя группы, интерфейс, VRID, состояние, приоритет и время последнего перехода), show vrrp detail — подробное состояние каждой группы, show vrrp statistics — счетчики протокола VRRP (отправленные и полученные объявления, переходы между состояниями, ошибки). Если VRRP не настроен, команды выводят сообщение VRRP not configured!, если служба VRRP не запущена — VRRP is not running. Журнал службы выводит команда show log vrrp.

Команда restart vrrp перезапускает службу VRRP. Команда доступна только пользователю уровня «Администратор» (см. Уровни пользователей).

Пример настройки

В качестве примера рассмотрим ситуацию, когда есть два маршрутизатора (Router-A и Router-B) у которых внешние WAN интерфейсы объединены в одну VRRP группу, а внутренние LAN интерфейсы в другую VRRP группу. Маршрутизатор Router-A будет иметь наивысший приоритет и являть Master маршрутизатором. В случае выхода из строя маршрутизатора Router-A роль Master перейдет к маршрутизатору Router-B. Если маршрутизатор Router-A восстанавливает работоспособное состояние, роль Master снова переходит к нему, а маршрутизатору Router-B возвращается роль Backup.

Настройка маршрутизаторов будет выполнена в соответствии со схемой, представленной ниже:

Пример базовой конфигурации Пример базовой конфигурации

Настройка маршрутизатора Router-A:

Шаг

Команда

Описание

1

set interfaces ethernet eth1 address 192.168.100.1/29

Назначает адрес внутреннему LAN интерфейсу eth1

2

set interfaces ethernet eth1 description LAN

Задает описание интерфейса eth1

3

set interfaces ethernet eth2 address 10.250.44.1/29

Назначает адрес внешнему WAN интерфейсу eth2

4

set interfaces ethernet eth2 description WAN

Задает описание интерфейса eth2

5

set high-availability vrrp group LAN-HA description 'LAN Interface High Availability'

Создает VRRP группу LAN-HA и задает ее описание

6

set high-availability vrrp group LAN-HA interface eth1

Добавляет интерфейс eth1 в VRRP группу LAN-HA

7

set high-availability vrrp group LAN-HA priority 10

Задает приоритет маршрутизатора в VRRP группе LAN-HA

8

set high-availability vrrp group LAN-HA address 192.168.100.6/29

Задает виртуальный адрес (VIP) VRRP группы LAN-HA

9

set high-availability vrrp group LAN-HA vrid 210

Задает номер VRID VRRP группы LAN-HA

10

set high-availability vrrp group WAN-HA description 'WAN Interface High Availability'

Создает VRRP группу WAN-HA и задает ее описание

11

set high-availability vrrp group WAN-HA interface eth2

Добавляет интерфейс eth2 в VRRP группу WAN-HA

12

set high-availability vrrp group WAN-HA priority 10

Задает приоритет маршрутизатора в VRRP группе WAN-HA

13

set high-availability vrrp group WAN-HA address 10.250.44.6/29

Задает виртуальный адрес (VIP) VRRP группы WAN-HA

14

set high-availability vrrp group WAN-HA vrid 220

Задает номер VRID VRRP группы WAN-HA

Настройка маршрутизатора Router-B:

Шаг

Команда

Описание

1

set interfaces ethernet eth1 address 192.168.100.2/29

Назначает адрес внутреннему LAN интерфейсу eth1

2

set interfaces ethernet eth1 description LAN

Задает описание интерфейса eth1

3

set interfaces ethernet eth2 address 10.250.44.2/29

Назначает адрес внешнему WAN интерфейсу eth2

4

set interfaces ethernet eth2 description WAN

Задает описание интерфейса eth2

5

set high-availability vrrp group LAN-HA description 'LAN Interface High Availability'

Создает VRRP группу LAN-HA и задает ее описание

6

set high-availability vrrp group LAN-HA interface eth1

Добавляет интерфейс eth1 в VRRP группу LAN-HA

7

set high-availability vrrp group LAN-HA priority 5

Задает приоритет маршрутизатора в VRRP группе LAN-HA

8

set high-availability vrrp group LAN-HA address 192.168.100.6/29

Задает виртуальный адрес (VIP) VRRP группы LAN-HA

9

set high-availability vrrp group LAN-HA vrid 210

Задает номер VRID VRRP группы LAN-HA

10

set high-availability vrrp group WAN-HA description 'WAN Interface High Availability'

Создает VRRP группу WAN-HA и задает ее описание

11

set high-availability vrrp group WAN-HA interface eth2

Добавляет интерфейс eth2 в VRRP группу WAN-HA

12

set high-availability vrrp group WAN-HA priority 5

Задает приоритет маршрутизатора в VRRP группе WAN-HA

13

set high-availability vrrp group WAN-HA address 10.250.44.6/29

Задает виртуальный адрес (VIP) VRRP группы WAN-HA

14

set high-availability vrrp group WAN-HA vrid 220

Задает номер VRID VRRP группы WAN-HA

Исходные данные для настройки VRRP группы:

  • 192.168.100.1/29 — адрес внутреннего LAN интерфейса eth1 на первом маршрутизаторе Router-A

  • 10.250.44.1/29 — адрес внешнего WAN интерфейса eth2 на первом маршрутизаторе Router-A

  • 192.168.100.2/29 — адрес внутреннего LAN интерфейса eth1 на втором маршрутизаторе Router-B

  • 10.250.44.2/29 — адрес внешнего WAN интерфейса eth2 на втором маршрутизаторе Router-B

  • LAN-HA — имя VRRP группы, которая объединяет внутренние интерфейсы маршрутизаторов Router-A и Router-B

  • WAN-HA — имя VRRP группы, которая объединяет внешние интерфейсы маршрутизаторов Router-A и Router-B

  • 192.168.100.6/29 — виртуальный адрес (VIP) для внутреннего LAN интерфейса VRRP группы LAN-HA

  • 10.250.44.6/29 — виртуальный адрес (VIP) для внешнего WAN интерфейса VRRP группы WAN-HA

  • 210 — номер VRID для VRRP группы LAN-HA

  • 220 — номер VRID для VRRP группы WAN-HA

  • 10 — приоритет для VRRP групп на маршрутизаторе Router-A

  • 5 — приоритет для VRRP групп на маршрутизаторе Router-B

Список команд


Режим «Конфигурирование»


high-availability vrrp group <name> vrid <vrid>

Описание:
Задает имя <name> и идентификатор <vrid> для VRRP группы.

Синтаксис:

  • set high-availability vrrp group <name> vrid <vrid>

  • delete high-availability vrrp group <name> vrid <vrid>

  • show high-availability vrrp group <name> vrid

Аргументы:

  • <name> — имя VRRP группы.

  • <vrid> — идентификатор VRRP группы (VRID). Формат: целое число. Диапазон значений: от 1 до 255.

Режим: «Конфигурирование».


high-availability vrrp group <name> interface <interface>

Описание:
Добавляет сетевой интерфейс <interface> для VRRP группы <name>.

Синтаксис:

  • set high-availability vrrp group <name> interface <interface>

  • delete high-availability vrrp group <name> interface <interface>

  • show high-availability vrrp group <name> interface

Аргументы:

  • <name> — имя VRRP группы.

  • <interface> — имя сетевого интерфейса. Формат: строка.

Режим: «Конфигурирование».


high-availability vrrp group <name> address <address>

Описание:
Добавляет виртуальный адрес <address> для VRRP группы <name>.

Примечание

Значение параметра address может быть представлено как IPv4, так и IPv6 адресом, однако вы не можете использовать их комбинацию в рамках отдельной группы VRRP. Для этого необходимо создать разные группы VRRP с разными VRID, одна из которых будет использовать IPv4 адрес в качестве виртуального, а другая - IPv6 адрес.

Синтаксис:

  • set high-availability vrrp group <name> address <address>

  • delete high-availability vrrp group <name> address <address>

  • show high-availability vrrp group <name> address

Аргументы:

  • <name> — имя VRRP группы.

  • <address> — виртуальный IP-адрес (VIP) VRRP группы. Формат: IPv4-адрес (x.x.x.x), IPv6-адрес (h:h:h:h:h:h:h:h), IPv4-префикс (x.x.x.x/x) или IPv6-префикс (h:h:h:h:h:h:h:h/x).

Режим: «Конфигурирование».


high-availability vrrp group <name> disable

Описание:
Отключает определенную группу VRRP <name>.

Примечание

Дезактивированная группа VRRP будет полностью исключена из процесса VRRP, равно как и маршрутизатор, входящий в группу с данным VRID. В выводе команды show vrrp такая группа отображается в состоянии DISABLED, а сама группа больше не будет выполнять роль резервной.

Синтаксис:

  • set high-availability vrrp group <name> disable

  • delete high-availability vrrp group <name> disable

  • show high-availability vrrp group <name> disable

Аргументы:

  • <name> — имя VRRP группы.

Режим: «Конфигурирование».


high-availability vrrp group <name> priority <priority>

Описание:
Задает приоритет <priority> для VRRP группы <name>. Наивысшее значение приоритета определяет, какой из маршрутизаторов будет определен как активный при очередной процедуре выбора.

Синтаксис:

  • set high-availability vrrp group <name> priority <priority>

  • delete high-availability vrrp group <name> priority <priority>

  • show high-availability vrrp group <name> priority

Аргументы:

  • <name> — имя VRRP группы.

  • <priority> — приоритет маршрутизатора в VRRP группе. Формат: целое число. Диапазон значений: от 1 до 255. Значение по умолчанию: 100.

Режим: «Конфигурирование».


high-availability vrrp group <name> no-preempt

Описание:
Переводит протокол VRRP в режим без наследования роли. По умолчанию протокол VRRP выполняет свои функции в режиме с наследованием роли.

Синтаксис:

  • set high-availability vrrp group <name> no-preempt

  • delete high-availability vrrp group <name> no-preempt

  • show high-availability vrrp group <name> no-preempt

Аргументы:

  • <name> — имя VRRP группы.

Режим: «Конфигурирование».


high-availability vrrp group <name> preempt-delay <delay>

Описание:
Задает временной интервал для задержки перед изменением роли наследования маршрутизатора с наивысшим приоритетом.

Синтаксис:

  • set high-availability vrrp group <name> preempt-delay <delay>

  • delete high-availability vrrp group <name> preempt-delay <delay>

  • show high-availability vrrp group <name> preempt-delay

Аргументы:

  • <name> — имя VRRP группы.

  • <delay> — временной интервал задержки в секундах. Формат: целое число. Диапазон значений: от 0 до 1000. Значение по умолчанию: 0.

Режим: «Конфигурирование».


high-availability vrrp group <name> peer-address <address>

Описание:
Задает адрес <address> для одноадресной (unicast) рассылки в VRRP группе <name>.

Синтаксис:

  • set high-availability vrrp group <name> peer-address <address>

  • delete high-availability vrrp group <name> peer-address <address>

  • show high-availability vrrp group <name> peer-address

Аргументы:

  • <name> — имя VRRP группы.

  • <address> — адрес получателя одноадресной рассылки. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h). Можно задать несколько значений.

Режим: «Конфигурирование».


high-availability vrrp group <name> hello-source-address <address>

Описание:
Задает адрес источника <address> для рассылки hello пакетов в VRRP группе <name>.

Синтаксис:

  • set high-availability vrrp group <name> hello-source-address <address>

  • delete high-availability vrrp group <name> hello-source-address <address>

  • show high-availability vrrp group <name> hello-source-address

Аргументы:

  • <name> — имя VRRP группы.

  • <address> — адрес источника. Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).

Режим: «Конфигурирование».


high-availability vrrp group <name> rfc3768-compatibility

Описание:
Создает новый VRRP интерфейс, которому автоматически назначаются виртуальный IP адрес и виртуальный MAC адрес.

Примечание

RFC 3768 определяет порядок задания и использования виртуальных MAC адресов для каждого маршрутизатора в процессе VRRP. Виртуальный MAC адрес используется в качестве адреса отправителя для всех периодических сообщений, источником которых является активный маршрутизатор.

Синтаксис:

  • set high-availability vrrp group <name> rfc3768-compatibility

  • delete high-availability vrrp group <name> rfc3768-compatibility

  • show high-availability vrrp group <name> rfc3768-compatibility

Аргументы:

  • <name> — имя VRRP группы.

Режим: «Конфигурирование».


Режим «Администрирование»


vrrp

Описание:
Выводит на экран информацию о созданной группе VRRP.

Синтаксис:

  • show vrrp

Пример работы команды:

fakel@fakel:~$ show vrrp
Name    Interface      VRID  State      Priority  Last Transition
------  -----------  ------  -------  ----------  -----------------
LAN-HA  eth1            210  MASTER           10  2s
WAN-HA  eth2            220  MASTER           10  2s

Режим: «Администрирование».


vrrp detail

Описание:
Выводит на экран подробную информацию о состоянии групп VRRP.

Синтаксис:

  • show vrrp detail

Режим: «Администрирование».


vrrp statistics

Описание:
Выводит на экран статистику протокола VRRP по группам.

Синтаксис:

  • show vrrp statistics

Режим: «Администрирование».


restart vrrp

Описание:
Перезапускает службу VRRP.

Синтаксис:

  • restart vrrp

Режим: «Администрирование».

Уровень привилегий: «Администратор».