VRRP

Это предварительное описание для версии 10.3 (предположительно). Его надо дополнить описанием конфигурации keepalived после тестов

Поддержка VRRP реализована в СКАТ при помощи Линукс-демона keepalived. Собственно VRRP-протокол реализует демон, в котором конфигурируются скрипты вызова CLI-команд для перевода СКАТ в режим master или backup.

В режиме master доступна вся функциональность СКАТ, в режиме backup СКАТ работает только как мост, никакие пакеты сам СКАТ не эмитирует. Предполагается, что в режиме backup на СКАТ не должно приходить вообще никакого трафика.

Поддержка VRRP включается в СКАТ конфигурационным параметром vrrp_enable в fastdpi.conf:

# [hot] Флаг включения поддержки VRRP
# 0 - выключено (default)
# 1 - включено
vrrp_enable=1

По умолчанию поддержка VRRP отключена.

Все СКАТы, входящие в одну VRRP-группу, должны иметь одинаковую конфигурацию. В частности, следующие параметры обязательно должны быть заданы и быть одинаковыми во всех СКАТах VRRP-группы, так как они задают виртуальные MAC и IP-адреса:

bras_arp_mac - виртуальный MAC-адрес СКАТа

bras_arp_ip - виртуальный IP-адрес СКАТа

Если включена поддержка IPv6, то также должны быть заданы и быть одинаковыми параметры bras_ipv6_link_local и bras_ipv6_address - виртуальные link-local и глобальный IPv6-адреса соответственно.

Перевод СКАТа в режим master/backup производится CLI-командами:

# перевести СКАТ в режим master
# эту команду должен вызывать keepalived-скрипт notify_master
fdpi_cli vrrp set master
# перевести СКАТ в режим backup
# эту команду должен вызывать keepalived-скрипт notify_backup
fdpi_cli vrrp set backup

СКАТ всегда стартует в режиме master. Предполагается, что сразу после старта демон keepalived увидит, что участник VRRP-группы ожил и вызовет соответствующий скрипт. То есть сразу после старта СКАТ должен быть явно переведен в режим master или backup.

Постоянная работа двух или более экземпляров СКАТ одновременно в режиме master является ошибкой. Master должен быть только один.

При переводе СКАТа в режим master CLI-командой fdpi_cli vrrp set master СКАТ посылает gARP (gratuitous ARP) на все свои in и out-интерфейсы, чтобы сообщить коммутаторам, что виртуальный MAC и IP адреса (bras_arp_mac и bras_arp_ip соответственно) теперь находятся на портах коммутаторов, к которым подключен данный экземпляр СКАТа. Получив такой gARP, коммутатор должен понять, что виртуальный MAC/IP-адрес СКАТа теперь находится на данном порту и переключить весь трафик на этот СКАТ. Число gARP-оповещений и интервал между ними регулируются следующими параметрами fastdpi.conf:

# Параметры отправки gratuitous ARP при переходе в master-режим
# gratuitous ARP отправляются на все интерфейсы СКАТа
# На каждый интерфейс отправляется vrrp_arp_count gratuitous ARP пакетов
# с интервалом между пакетами vrrp_arp_timeout секунд
#
# [hot] Тайм-аут между отправками, секунд (default=1)
#vrrp_arp_timeout=1
# [hot] Число повторных отправок, default=10
#vrrp_arp_count=10