Документация: ПО Факел — разрабатываемая версия
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 группы¶
Указать IP адреса и задать описание интерфейсов физических интерфейсов маршрутизатора
Задать имя и описание для VRRP группы
Указать физический интерфейс маршрутизатора, который будет являться участником VRRP группы
Определить приоритет маршрутизатора для VRRP группы
Задать виртуальный адрес VIP для VRRP группы
Указать общий номер VRRP группы VRID
Выполнить аналогичные настройки на втором маршрутизаторе
Контроль работы¶
Состояние групп 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 |
Назначает адрес внутреннему LAN интерфейсу |
2 |
set interfaces ethernet |
Задает описание интерфейса |
3 |
set interfaces ethernet |
Назначает адрес внешнему WAN интерфейсу |
4 |
set interfaces ethernet |
Задает описание интерфейса |
5 |
set high-availability vrrp group |
Создает VRRP группу |
6 |
set high-availability vrrp group |
Добавляет интерфейс |
7 |
set high-availability vrrp group |
Задает приоритет маршрутизатора в VRRP группе |
8 |
set high-availability vrrp group |
Задает виртуальный адрес (VIP) VRRP группы |
9 |
set high-availability vrrp group |
Задает номер VRID VRRP группы |
10 |
set high-availability vrrp group |
Создает VRRP группу |
11 |
set high-availability vrrp group |
Добавляет интерфейс |
12 |
set high-availability vrrp group |
Задает приоритет маршрутизатора в VRRP группе |
13 |
set high-availability vrrp group |
Задает виртуальный адрес (VIP) VRRP группы |
14 |
set high-availability vrrp group |
Задает номер VRID VRRP группы |
Настройка маршрутизатора Router-B:
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set interfaces ethernet |
Назначает адрес внутреннему LAN интерфейсу |
2 |
set interfaces ethernet |
Задает описание интерфейса |
3 |
set interfaces ethernet |
Назначает адрес внешнему WAN интерфейсу |
4 |
set interfaces ethernet |
Задает описание интерфейса |
5 |
set high-availability vrrp group |
Создает VRRP группу |
6 |
set high-availability vrrp group |
Добавляет интерфейс |
7 |
set high-availability vrrp group |
Задает приоритет маршрутизатора в VRRP группе |
8 |
set high-availability vrrp group |
Задает виртуальный адрес (VIP) VRRP группы |
9 |
set high-availability vrrp group |
Задает номер VRID VRRP группы |
10 |
set high-availability vrrp group |
Создает VRRP группу |
11 |
set high-availability vrrp group |
Добавляет интерфейс |
12 |
set high-availability vrrp group |
Задает приоритет маршрутизатора в VRRP группе |
13 |
set high-availability vrrp group |
Задает виртуальный адрес (VIP) VRRP группы |
14 |
set high-availability vrrp group |
Задает номер VRID VRRP группы |
Исходные данные для настройки VRRP группы:
192.168.100.1/29— адрес внутреннего LAN интерфейсаeth1на первом маршрутизаторе Router-A10.250.44.1/29— адрес внешнего WAN интерфейсаeth2на первом маршрутизаторе Router-A192.168.100.2/29— адрес внутреннего LAN интерфейсаeth1на втором маршрутизаторе Router-B10.250.44.2/29— адрес внешнего WAN интерфейсаeth2на втором маршрутизаторе Router-BLAN-HA— имя VRRP группы, которая объединяет внутренние интерфейсы маршрутизаторов Router-A и Router-BWAN-HA— имя VRRP группы, которая объединяет внешние интерфейсы маршрутизаторов Router-A и Router-B192.168.100.6/29— виртуальный адрес (VIP) для внутреннего LAN интерфейса VRRP группы LAN-HA10.250.44.6/29— виртуальный адрес (VIP) для внешнего WAN интерфейса VRRP группы WAN-HA210— номер VRID для VRRP группы LAN-HA220— номер VRID для VRRP группы WAN-HA10— приоритет для VRRP групп на маршрутизаторе Router-A5— приоритет для 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¶
<name>.Примечание
Дезактивированная группа VRRP будет полностью исключена из процесса VRRP, равно как и маршрутизатор, входящий в группу с данным VRID. В выводе команды show vrrp такая группа отображается в состоянии DISABLED, а сама группа больше не будет выполнять роль резервной.
Синтаксис:
set high-availability vrrp group
<name>disabledelete high-availability vrrp group
<name>disableshow 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¶
Синтаксис:
set high-availability vrrp group
<name>no-preemptdelete high-availability vrrp group
<name>no-preemptshow 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¶
Примечание
RFC 3768 определяет порядок задания и использования виртуальных MAC адресов для каждого маршрутизатора в процессе VRRP. Виртуальный MAC адрес используется в качестве адреса отправителя для всех периодических сообщений, источником которых является активный маршрутизатор.
Синтаксис:
set high-availability vrrp group
<name>rfc3768-compatibilitydelete high-availability vrrp group
<name>rfc3768-compatibilityshow high-availability vrrp group
<name>rfc3768-compatibility
Аргументы:
<name>— имя 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¶
Синтаксис:
show vrrp detail
Режим: «Администрирование».
vrrp statistics¶
Синтаксис:
show vrrp statistics
Режим: «Администрирование».
restart vrrp¶
Синтаксис:
restart vrrp
Режим: «Администрирование».
Уровень привилегий: «Администратор».