Кластер высокой доступности

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.

Схема кластера приведена ниже:

_images/cluster.png

В нашем примере, 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.

_images/nat_rules.png

Примечание

Настройка NAT выполняется вручную только на мастер-устройстве. Мастер-устройство передаст настройки на резервное устройство по протоколу XMLRPC SYNC, после того, как он будет настроен.

Настройка PFSYNC

Для включения PFSYNC проделайте следующие действия.

Пройдите в раздел Система -> Высокий уровень доступности и установите флажок Синхронизировать состояния.

Выберите интерфейс, через который будет осуществляться передача PFSYNC-трафика - в нашем случае, это адаптер PFSYNC.

_images/pfsync_settings.png

Примечание

Данные настройки выполняются на вручную на мастер-устройстве и резервном устройстве.

Настройка XMLRPC SYNC

Примечание

Настройка XMLRPC SYNC выполняется только на мастер-устройстве.

Для включения XMLRPC SYNC проделайте следующие действия.

На мастер-устройстве, пройдите в раздел Система -> Высокий уровень доступности.

В блоке настроек Настройки синхронизации конфигурации (XMLRPC Sync), в поле Синхронизировать конфигурацию с IP-адресом укажите адрес резервного устройства, т.е. 172.16.0.2 в нашем примере.

В поле Имя пользователя удаленной системы укажите имя пользователя, под которым мастер-устройство будет получать доступ к веб-конфигуратору на резервном устройстве, по умолчанию, root.

В поле Пароль удаленной системы укажите имя пароль, с которым мастер-устройство будет получать доступ к веб-конфигуратору на резервном устройстве, по умолчанию, ting.

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

_images/xmlrpcsync_settings.png

Настройка DHCP

Если на мастер-устройстве используется DHCP-сервер, то он потребует перенастройки.

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

Если используется функционал форвардинга DNS-запросов, то IP-адрес 192.168.1.222 нужно будет также прописать в поле DNS-серверы в настройках DHCP-сервера.

Все пользователи должны использовать в качестве адреса шлюза по умолчанию именно виртуальный IP-адрес, а не реальный IP-адрес шлюза на LAN-интерфейсе.

_images/dhcp_settings.png

Проверка работоспособности кластера

Для того, чтобы все настройки были применены, перезагрузите оба сетевых экрана.

Статус работы CARP можно посмотреть в разделе Межсетевой экран\Виртуальные IP-адреса\Статус.

На мастер-устройстве, должен отображаться статус ВЕДУЩЕЕ УСТРОЙСТВО:

_images/status_master.png

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

_images/status_slave.png

Статус работы XMLRPC SYNC проверяется только на мастер-устройстве в разделе Система\Высокий уровень доступности\Статус.

_images/status_pfsync_xmlrpcsync.png

Таблицу состояний для соединений, обрабатываемых межсетевым экраном, можно увидеть в разделе Межсетевой экран\Диагностика\Снимок состояний. При настроенном и рабочем PFSYNC, состояния будут одинаковыми на обоих устройствах TING.

_images/state_table.png

Проверьте работу кластера. Выключите питания у мастер-устройства. Резервное устройство должно перейти в статус мастер-устройства.

Отключите сетевой кабель Ethernet из LAN-адаптера мастер-устройства. Резервное устройство должно перейти в статус мастер-устройства.

Установите SSH-подключение с клиентского компьютера во внутренней сети к некоторому хосту в Интернете. Выключите сетевой кабель Ethernet из LAN-адаптера мастер-устройства. Обработка соединения должна быть перехвачена резервным устройством.