.. _vrrpgl: Служба vrrp =========== Служба vrrp предназначена для применения протокола VRRP в ПАК “Фортикс”. VRRP (Virtual Router Redundancy Protocol) — сетевой протокол, предназначенный для обеспечения отказоустойчивости маршрутизаторов, которая обеспечивается путём объединения нескольких маршрутизаторов в одну группу, обслуживающую общие виртуальные IP-адреса. Объединение нескольких ПАК “Фортикс” называется кластером, внутри кластера каждый ПАК “Фортикс” называется нодой. На каждой ноде настраиваются экземпляры службы vrrp, позволяющие отнести ноду к некоторому кластеру. Базовая настройка ----------------- Настройка службы vrrp осуществляется на следующем уровне конфигурации: :: [edit service vrrp] Для заупска службы VRRP применяется команда: :: [edit service vrrp] # set enable Для функционирования службы vrrp необходимо создание хотя бы одного экземпляра (``instance``). Для создания экземпляра применяется команда: :: [edit service vrrp] # set instance |noindent| где ```` – слово. Настройка экземпляров осуществляется на следующем уровне конфигурации: :: [edit service vrrp instance ] |noindent| где ```` – слово. На данном уровне конфигурации доступны следующие обязательные настройки: - ``router-id `` – задать идентификатор экземпляра, где ```` – число от 1 до 255 (на каждой ноде одного кластера настраиваются экземпляры с одинаковыми идентификаторами); - ``state master|backup`` – задать первоначальную роль (состояние) ноды (одна нода кластера настраивается как ``master``, остальные – ``backup``); - ``interface `` – указать имя первичного интерфейса, используемого для VRRP-оповещений, где ```` – имя существующего интерфейса. На данном уровне конфигурации доступны следующие дополнительные настройки: - ``ipv4`` – перейти на уровень конфигурации IPv4 для настройки виртуальных IP-адресов; - ``ipv6`` – перейти на уровень конфигурации IPv6 для настройки виртуальных IP-адресов; - ``adv-interval `` – указать интервал времени, с которым осуществляются VRRP-оповещения, где ```` – число секунд от 0.00 до 3600.00; - ``auth `` – задать пароль для аутентификации, где ```` – строка; - ``garp`` – перейти на уровень конфигурации и настроить Gratuitous ARP-оповещений для перехода в состояние ``master``; - ``no-preempt`` – отключить перехват состояния у ноды с более низким приоритетом; - ``no-track-primary`` – отключить отслеживание состояния первичного интерфейса; - ``preempt-delay `` – задать задержку для перехвата состояния, где ```` – число секунд от 0 до 3600; - ``priority `` – задать приоритет ноды в кластере, где ```` – число от 0 до 255 (чем больше число, тем выше приоритет); - ``src-ip
`` – задать IP-адрес источника для мультикаст-пакетов, где ``
`` – IPv4-адрес в формате ``A.B.C.D`` или IPv6-адрес в формате ``A:B:..:H``; - ``track`` – перейти на уровень конфигурации параметров отслеживания состояния интерфейса; - ``unicast`` – перейти на уровень конфигурации параметров unicast-оповещений, используемых вместо multicast-оповещений; - ``vmac`` – включить режим подмены MAC-адреса. Пример обязательной настройки экземпляра для основной ноды: :: [edit service vrrp] # set instance main router-id 1 state master interface en0 Пример обязательной настройки экземпляра для резервной ноды: :: [edit service vrrp] # set instance main router-id 1 state backup interface en0 При наличии хотя бы двух нод с настроенными на них экземплярами, кластер может функционировать в режиме основной/резервный. Если нода кластера с ролью ``backup`` перестаёт получать сообщения от ноды с ролью ``master``, она принимает на себя роль ``master`` и начинает поддерживать настроенные виртуальные IP-адреса. Если первичный интерфейс или интерфейс, настроенный на уровне конфигурации ``track``, переходит в выключенное состояние, нода не может исполнять роль ``master``. Настройка виртуальных IP-адресов -------------------------------- У экземпляра может быть несколько виртуальных IPv4- или IPv6-адресов. Для настройки виртуальных IP-адресов применяется команда: :: [edit service vrrp instance ipv4|ipv6] # set address
interface |noindent| где - ```` – имя существующего экземпляра; - ``ipv4|ipv6`` – уровень конфигурации IPv4/IPv6; - ``
`` – IPv4-адрес в формате ``A.B.C.D/M`` или IPv6-адрес в формате ``A:B:..:H/M`` в зависимости от уровня конфигурации; - ```` – имя существующего интерфейса. Если в команде указан несуществующий интерфейс, виртуальный IP-адрес устанавливается на первичный интерфейс. Для включения режима подмены MAC-адреса применяется команда: :: [edit service vrrp instance ipv4|ipv6] # set address
vmac |noindent| где - ```` – имя существующего экземпляра; - ``ipv4|ipv6`` – уровень конфигурации IPv4/IPv6; - ``
`` – IPv4-адрес в формате ``A.B.C.D/M`` или IPv6-адрес в формате ``A:B:..:H/M`` в зависимости от уровня конфигурации. Для отключения смены роли экземпляра при отказе интерфейса с виртуальным IP-адресом применяется команда: :: [edit service vrrp instance ipv4|ipv6] # set address
no-track |noindent| где - ```` – имя существующего экземпляра; - ``ipv4|ipv6`` – уровень конфигурации IPv4/IPv6; - ``
`` – IPv4-адрес в формате ``A.B.C.D/M`` или IPv6-адрес в формате ``A:B:..:H/M`` в зависимости от уровня конфигурации. Для указания broadcast-адреса для виртуального IPv4-адреса применяется команда: :: [edit service vrrp instance ipv4] # set address
brd |noindent| где - ```` – имя существующего экземпляра; - ``
`` – IPv4-адрес в формате ``A.B.C.D/M``; - ```` – broadcast-адрес в формате ``A.B.C.D``. Для отключения режима обнаружения повторяющихся адресов для виртуального IPv6-адреса применяется команда: :: [edit service vrrp instance ipv6] # set address
no-dad |noindent| где - ```` – имя существующего экземпляра; - ``
`` – IPv6-адрес в формате ``A:B:..:H/M``. Группы синхронизации -------------------- Для объединения нескольких экземпляров в общую группу на одной ноде применяется команда: :: [edit service vrrp] # set group instance instance |noindent| где - ```` – имя слово; - ```` – имя существующего экземпляра; - ```` – имя существующего экземпляра. При изменении состояния любого экземпляра в группе, состояние остальных экземпляров в группе также изменяется. Настройка режима отслеживания ----------------------------- Служба VRRP может отслеживать состояния сетевых интерфейсов и, в зависимости от него, изменять приоритет экземпляра или группы на указанное значение. Настройка параметров отслеживания состояния интерфейсов для экземпляра осуществляется на следующем уровне конфигурации: :: [edit service vrrp instance track] |noindent| где ```` – имя существующего экземпляра. Для настройки отслеживания состояния интерфейса применяется команда: :: [edit service vrrp instance track] # set interface [weight ] [reverse] |noindent| где - ```` – имя существующего экземпляра; - ```` – имя существующего интерфейса; - ```` – значение приоритета от -253 до 253; - ``reverse`` – увеличение приоритета для неработающего интерфейса. Настройка параметров отслеживания состояния интерфейсов для группы осуществляется на следующем уровне конфигурации: :: [edit service vrrp group track] |noindent| где ```` – имя существующей группы. Настройки данного уровня конфигурации аналогичны настройкам уровня конфигурации отслеживания для экземпляра. Диагностика ----------- Для просмотра статистики службы vrrp применяется команда: :: > show service vrrp stat Для просмотра журнала службы vrrp применяется команда: :: > show journal service vrrp