Кластер active-passive¶
Кластер высокой доступности¶
Traffic Inspector Next Generation поддерживает работу в режиме отказоустойчивого кластера / кластера высокой доступности (Failover Cluster / High Availability Cluster). В данном режиме несколько хостов объединяются в кластер. В каждый момент времени, только одно устройство в кластере (мастер-устройство) обрабатывает весь трафик пользователей. Подчиненные (резервные) устройства постоянно синхронизируют свое состояние с мастер-устройством. Если мастер-устройство выходит из строя, его подменяет одно из резервных устройств, которое само становится мастером. Новый мастер способен прозрачно подхватить и продолжить обработку сетевых потоков от клиентов. В случае, если старый мастер вновь переходит в рабочее состояние, то текущий мастер возвращается в статус подчиненного резервного устройства.
Режим отказоустойчивого кластера / кластера высокой доступности обеспечивает непрерывность доступа пользователей к сети Интернет.
Функционал кластеризации реализован на базе нескольких технологий: СARP, PFSYNC, XMLRPC Sync.
CARP (Common Address Redundancy Protocol)
CARP (Common Address Redundancy Protocol) - технология и сетевой протокол, обеспечивающий возможность нескольким хостам, подключенным в один и тот же LAN-сегмент, использовать один и тот же общий виртуальный IP-адрес. CARP определяет, какое из устройств группы должно обрабатывать трафик для виртуального IP-адреса в данный момент. Если мастер-устройство не может выполнять свои функции, то ответственным за виртуальный IP-адрес становится другое устройство группы.
CARP - свободная реализацией протокола VRRP (Virtual Router Redundancy Protocol).
В процессе настройки CARP, на каждом хосте добавляется общий совместно используемый виртуальный IP-адрес. Для виртуального IP-адреса указываются специфичные для CARP-технологии параметры - VHID, advbase, advskew, пароль.
Параметр VHID (Virtual Host ID) уникально идентифицирует несколько хостов, подключенных в один и тот же LAN-сегмент. На данных машинах настраивается один и тот же VHID. Допускается значение от 1 до 255.
Параметр advbase задает как часто, в секундах, хост рассылает CARP-сообщения. По умолчанию, используется значение 1 секунда. Допускается значение от 1 до 255.
Для определения, какой из резервных хостов подменит мастер-устройство в случае его выхода из строя, хосты имеют настроенный параметр advskew. Меньшее значение advskew означает больший приоритет - мастер-устройство в группе имеет advskew равный 0. Параметр advskew измеряется в 1/256 секунды. Допускается значение от 0 до 254.
Пароль используется для аутентификации CARP-сообщений между членами группы.
CARP может обеспечивать общий разделяемый виртуальный IP-адрес для группы обычных серверов. Серверы, как правило, подключены к одному LAN-сегменту. В таком случае, создается одна CARP-группа, обеспечивающая один виртуальный IP-адрес.
CARP особенно актуален в контексте межсетевых экранов / маршрутизаторов. Межсетевой экран / маршрутизатор имеет подключение как минимум к двум разным LAN-сегментам. Для таких межсетевых экранов / маршрутизаторов, как правило, создают две CARP-группы - одну с LAN-стороны и вторую с WAN-стороны. Каждая группа обеспечивает виртуальный IP-адрес, а в общей сложности, обеспечиваются два виртуальных IP-адреса.
CARP-пакеты инкапсулируются в IP-пакеты и имеют идентификатор ID 112 в заголовке IP-пакета. CARP-трафик передается в открытом нешифрованном виде.
При том, что CARP обеспечивает совместно используемый виртуальный IP-адрес, он также требует, чтобы каждый хост в CARP-группе подключался к LAN-сегменту посредством физического адаптера, которому присвоен обычный, уникальный IP-адрес.
Хост в CARP-группе отсылает Ethernet-кадры с MAC-адресом источника 00:00:5E:00:XX, где XX равен идентификатору VHID CARP-группы, на мультивещательный MAC-адрес 01:00:5e:00:00:12. На уровне IP, пакеты отсылаются с IP-адреса, присвоенного физическому адаптеру, на мультивещательный IP-адрес 224.0.0.18.
CARP может использоваться самостоятельно (в случае с обычными серверами), но если стоит задача обеспечить виртуальные IP-адреса для межсетевых экранов, то дополнительно к CARP используется протокол PFSYNC.
PFSYNC
При переключении на резервный межсетевой экран нужно обеспечить, чтобы он «знал» о всех соединениях, которые обрабатывал межсетевой экран, до этого являвшийся мастер-устройством. Данные функции берет на себя протокол PFSYNC. PFSYNC - сетевой протокол для синхронизации состояния между несколькими экземплярами межсетевого экрана Packet Filter, выполняющимися на разных хостах.
PFSYNC-пакеты инкапсулируются в IP-пакеты и имеют идентификатор ID 240 в заголовке IP-пакета. PFSYNC-трафик передается в открытом нешифрованном виде.
PFSYNC включается на определенном физическом сетевом адаптере межсетевого экрана. На канальном уровне, PFSYNC-пакеты отсылаются с MAC-адреса физического адаптера, на мультивещательный MAC-адрес 01:00:5e:00:00:f0. На уровне IP, PFSYNC-пакеты отсылаются с IP-адреса, присвоенного физическому адаптеру, на мультивещательный IP-адрес 224.0.0.240.
Протокол PFSYNC редко используется самостоятельно, чаще всего он используется в связке с протоколом CARP.
XMLRPC SYNC
XMLRPC SYNC - сетевой протокол для синхронизации настроек между несколькими экземплярами шлюза Traffic Inspector Next Generation.
В рамках работы XMLRPC, мастер-устройство связывается с резервным устройством по защищенному SSL/TLS-соединению и передает выбранные настройки.
Протокол XMLRPC SYNC редко используется самостоятельно, чаще всего он используется в связке с протоколом CARP, и возможно, PFSYNC.
Схема кластера в примере
В данной инструкции описывается настройка отказоустойчивого кластера из двух устройств TING. Каждое устройство TING представляет собой межсетевой экран / маршрутизатор. Для обеспечения функционала кластера, задействуются все три технологии CARP + PFSYNC + XMLRPC SYNC.
Схема кластера приведена ниже:

В нашем примере, LAN-интерфейсы устройств TING подключены к сети 192.168.1.0/24 (это внутренняя сеть организации). WAN-интерфейсы устройств TING подключены сети 10.1.1.0/24 (это сеть, подключенная к Интернет).
На первом устройстве кластера, физическим сетевым картам назначены следующие адреса: 192.168.1.1 (LAN-интерфейс) и 10.1.1.115 (WAN-интерфейс).
На втором устройстве кластера, физическим сетевым адаптерам назначены следующие адреса: 192.168.1.2 (LAN-интерфейс) и 10.1.1.150 (WAN-интерфейс).
В процессе настройки, устройства кластера получат возможность использовать общий виртуальный IP-адрес 192.168.1.222 на LAN-стороне и общий виртуальный IP-адрес 10.1.1.222 на WAN-стороне. Для этого будут созданы две CARP-группы с VHID 1 и 3.
Обмен PFSYNC-трафиком ведется через отдельный Ethernet-кабель, который соединяет сетевой адаптер с IP-адресом 172.16.0.1 на одном устройстве с сетевым адаптером с IP-адресом 172.16.0.2 на другом устройстве.
Примечание
PFSYNC передается в открытом виде. Настоятельно рекомендуем использовать отдельный Ethernet-кабель для обмена PFSYNC-трафиком между устройствами по причинам безопасности и производительности.
Настройки физических интерфейсов и их IP-адресов
У каждого хоста в кластере должны быть собственные обычные IP-адреса.
На мастер-устройстве, в разделе Интерфейсы, настройте следующие интерфейсы / IP-адреса / маски:
LAN |
192.168.1.1/24 |
WAN |
10.1.1.115/24 |
PFSYNC |
172.16.0.1/30 |
На резервном устройстве, в разделе Интерфейсы, настройте следующие интерфейсы / IP-адреса / маски:
LAN |
192.168.1.2/24 |
WAN |
10.1.1.150/24 |
PFSYNC |
172.16.0.2/30 |
Примечание
В данном случае, PFSYNC - это название, присвоенное обычному физическому сетевому адаптеру. Данный физический адаптер не стоит путать со специальным виртуальным сетевым адаптером pfsync0, который необходим для работы протокола PFSYNC и который можно увидеть в выводе команды ifconfig.
Примечание
Задание длины префикса отличного от 32 для сети 172.16.0.0, избавляет от необходимости прописывать маршрут к сети 172.16.0.0 в таблице маршрутизации вручную. При задании длины префикса отличной от 32, такой маршрут создается автоматически.
Настройка CARP и виртуальных IP-адресов
На мастер-устройстве, пройдите в раздел Сетевой экран -> Виртуальные IP-адреса и добавьте два виртуальных IP-адреса как показано ниже:
Виртуальный IP-адрес 192.168.1.222 на LAN-стороне
Тип |
Carp |
Интерфейс |
LAN |
IP-адрес |
192.168.1.222/24 |
Пароль |
ting |
VHID группа |
3 |
Частота публикации |
Base 1 / Skew 0 |
Описание |
Виртуальный IP-адрес CARP-группы на LAN-стороне |
Виртуальный IP-адрес 10.1.1.222 на на WAN-стороне
Тип |
Carp |
Интерфейс |
WAN |
IP-адрес |
10.1.1.222/24 |
Пароль |
ting |
VHID группа |
1 |
Частота публикации |
Base 1 / Skew 0 |
Описание |
Виртуальный IP-адрес CARP-группы на WAN-стороне |
Примечание
Настройка виртуальных адресов выполняется вручную только на мастер-устройстве. Мастер-устройство передаст настройки на резервное устройство по протоколу XMLRPC SYNC, после того, как он будет настроен.
Настройки межсетевого экрана
На мастер-устройстве, в разделе Межсетевой экран -> Правила, создайте правила со следующими параметрами:
Правило для разрешения CARP-трафика на LAN-интерфейсе
Действие |
Разрешение |
---|---|
Интерфейс |
LAN |
Версия TCP/IP |
IPv4 |
Протокол |
CARP |
Описание |
Правило для разрешения CARP-трафика на LAN-интерфейсе |
Правило для разрешения CARP-трафика на WAN-интерфейсе
Действие |
Разрешение |
---|---|
Интерфейс |
WAN |
Версия TCP/IP |
IPv4 |
Протокол |
CARP |
Описание |
Правило для разрешения CARP-трафика на WAN-интерфейсе |
Правило для разрешения любого трафика (в том числе PFSYNC и XMLRPC Sync) на PFSYNC-интерфейсе
Действие |
Разрешение |
---|---|
Интерфейс |
PFSYNC |
Версия TCP/IP |
IPv4 |
Протокол |
Любой |
Описание |
Правило для разрешения любого трафика на PFSYNC-интерфейсе |
На резервном устройстве, в разделе Межсетевой экран -> Правила, создайте правило со следующими параметрами:
Правило для разрешения любого трафика (в том числе PFSYNC и XMLRPC Sync) на PFSYNC-интерфейсе
Действие |
Разрешение |
---|---|
Интерфейс |
PFSYNC |
Версия TCP/IP |
IPv4 |
Протокол |
Любой |
Описание |
Правило для разрешения любого трафика на PFSYNC-интерфейсе |
Примечание
Правила для пропуска CARP-трафика достаточно создать только на мастер-устройстве. Эти правила будут переданы на резервное устройство после того, как будет настроен механизм XMLRPC SYNC. Правила для пропуска PFSYNC-трафика нужно создать на мастер-устройстве и на резервном устройстве.
Настройка NAT
Настройка CARP-кластера требует перенастройки NAT, так как теперь именно виртуальный IP-адрес, используемый с WAN-стороны, должен прописываться в пакетах при их преобразовании механизмом NAT.
На мастер-устройстве, в разделе Сетевой экран -> NAT, выберите раздел Исходящий. Далее, выберите Ручное создание правил исходящего NAT (правила не будут созданы автоматически).
Найдите два правила, которые обеспечивают NAT для внутренней сети. Внутренняя сеть в нашем примере использует адресный блок 192.168.1.0/24, поэтому мы ищем правила, которые в качестве источника имеют сеть 192.168.1.0/24.
Модифицируйте данные правила так, чтобы в поле Транслируемый IP-адрес / целевой IP-адрес был указан виртуальный IP-адрес, используемый на WAN-стороне. В нашем примере, это IP-адрес 10.1.1.222.

Примечание
Настройка NAT выполняется вручную только на мастер-устройстве. Мастер-устройство передаст настройки на резервное устройство по протоколу XMLRPC SYNC, после того, как он будет настроен.
Настройка PFSYNC
Для включения PFSYNC проделайте следующие действия.
Пройдите в раздел Система -> Высокий уровень доступности и установите флажок Синхронизировать состояния.
Выберите интерфейс, через который будет осуществляться передача PFSYNC-трафика - в нашем случае, это адаптер PFSYNC.

Примечание
Данные настройки выполняются на вручную на мастер-устройстве и резервном устройстве.
Настройка XMLRPC SYNC
Примечание
Настройка XMLRPC SYNC выполняется только на мастер-устройстве.
Для включения XMLRPC SYNC проделайте следующие действия.
На мастер-устройстве, пройдите в раздел Система -> Высокий уровень доступности.
В блоке настроек Настройки синхронизации конфигурации (XMLRPC Sync), в поле Синхронизировать конфигурацию с IP-адресом укажите адрес резервного устройства, т.е. 172.16.0.2 в нашем примере.
В поле Имя пользователя удаленной системы укажите имя пользователя, под которым мастер-устройство будет получать доступ к веб-конфигуратору на резервном устройстве, по умолчанию, root.
В поле Пароль удаленной системы укажите имя пароль, с которым мастер-устройство будет получать доступ к веб-конфигуратору на резервном устройстве, по умолчанию, ting.
Укажите типы настроек, которые будут переданы на резервное устройство в соответствии со скриншотом:

Настройка DHCP
Если на мастер-устройстве используется DHCP-сервер, то он потребует перенастройки.
В разделе Службы\DHCP\Сервер, в полях Шлюз пропишите виртуальный IP-адрес, используемый на LAN-стороне. В нашем примере, это IP-адрес 192.168.1.222.
Если используется функционал форвардинга DNS-запросов, то IP-адрес 192.168.1.222 нужно будет также прописать в поле DNS-серверы в настройках DHCP-сервера.
Все пользователи должны использовать в качестве адреса шлюза по умолчанию именно виртуальный IP-адрес, а не реальный IP-адрес шлюза на LAN-интерфейсе.

Проверка работоспособности кластера
Для того, чтобы все настройки были применены, перезагрузите оба сетевых экрана.
Статус работы CARP можно посмотреть в разделе Межсетевой экран\Виртуальные IP-адреса\Статус.
На мастер-устройстве, должен отображаться статус ВЕДУЩЕЕ УСТРОЙСТВО:

На резервном устройстве, должен отображаться статус РЕЗЕРВНЫЙ:

Статус работы XMLRPC SYNC проверяется только на мастер-устройстве в разделе Система\Высокий уровень доступности\Статус.
Таблицу состояний для соединений, обрабатываемых межсетевым экраном, можно увидеть в разделе Межсетевой экран\Диагностика\Снимок состояний. При настроенном и рабочем PFSYNC, состояния будут одинаковыми на обоих устройствах TING.
Проверьте работу кластера. Выключите питания у мастер-устройства. Резервное устройство должно перейти в статус мастер-устройства.
Отключите сетевой кабель Ethernet из LAN-адаптера мастер-устройства. Резервное устройство должно перейти в статус мастер-устройства.
Установите SSH-подключение с клиентского компьютера во внутренней сети к некоторому хосту в Интернете. Выключите сетевой кабель Ethernet из LAN-адаптера мастер-устройства. Обработка соединения должна быть перехвачена резервным устройством.