Балансировка нагрузки

Балансировка нагрузки на WAN-интерфейсах

Подсистема балансировки нагрузки автоматически добавляет маршруты для каждого пути в таблицу маршрутизации и балансирует трафик между настроенными интерфейсами в зависимости от работоспособности и веса интерфейса.

Минимально необходимая конфигурация для балансировки WAN-интерфейса должна включать в себя следующие элементы:

  • требуется добавить как минимум один сетевой интерфейс маршрутизатора с заданным адресом и адресом следующего узла;

  • необходимо добавить хотя бы одно правило с балансируемыми интерфейсами.

Примечание

Балансировка нагрузки не используется совместно с динамической маршрутизацией. Сервис создаёт настраиваемые таблицы маршрутизации и правила брандмауэра, что делает его несовместимым с протоколами динамической маршрутизации.

Для настройки балансировочной нагрузки на WAN-интерфейс необходимо перейти в меню «Интерфейсы», а затем в раздел «Балансировка нагрузки на WAN-интерфейсах» (см. Рисунок – Балансировка нагрузки на WAN-интерфейсах).

../../../../_images/ngfw.rp.web.load-balancing_1.1.png

Рисунок – Балансировка нагрузки на WAN-интерфейсах

Проверка состояния интерфейсов

Работоспособность WAN-каналов, используемых сервисом балансировки, периодически проверяется несколькими способами:

  1. Отправка сообщения ICMP Echo Request на удалённые хосты.

  2. Мониторинг времени жизни сетевого пакета (TTL).

  3. Выполнение специального пользовательского скрипта.

Если канал не проходит проверку, он исключается из списка используемых сервисом балансировки.

Проверяемый интерфейс

Для добавления проверяемого интерфейса необходимо выполнить следующие действия:

  1. В таблице «Проверка состояния интерфейсов» раздела «Балансировка нагрузки на WAN-интерфейсах» нажать кнопку «+Добавить».

  2. В открывшейся боковой панели выбрать создаваемый объект «Проверяемый интерфейс» и ввести необходимые параметры (см. Рисунок – Добавление проверяемого интерфейса):

  • «Наименование» - выбирать сетевой интерфейс из предложенного списка для активации на нём проверки WAN-канала;

  • «Количество ошибок» - указать количество неудачных проверок, после которых WAN-канал будет считаться недоступным. Возможно указать значение в диапазоне от «1» до «10»;

  • «Количество успешных запросов» - указать количество успешных проверок, после которых WAN-канал будет отмечен как доступный. Возможно указать значение в диапазоне от «1» до «10»;

  • «Следующий узел» - адрес узла, через который будет осуществляться доступ к хосту-получателю. Возможно указать «IPv4-адрес» или «DHCP».

../../../../_images/ngfw.rp.web.load-balancing_1.1.1.1.png

Рисунок – Добавление проверяемого интерфейса

Для редактирования настроек проверяемого интерфейса необходимо нажать ЛКМ на строке с нужным интерфейсом и в открывшейся боковой панели внести корректировки. По завершению нажать кнопку «Сохранить».

Для удаления проверяемого интерфейса необходимо выбрать один или несколько интерфейсов, установив флажок в чек-боксе слева от наименования интерфейса, и нажать кнопку «Удалить». В открывшемся окне, подтвердить удаление нажатием кнопки «Удалить».

Примечание

В случае удаления последнего проверяемого интерфейса или всех проверяемых интерфейсов система предупредит о том, что все правила и основные параметры балансировки будут удалены. Для продолжения необходимо подтвердить удаление (см. Рисунок – Удаление проверяемого интерфейса):

../../../../_images/ngfw.rp.web.load-balancing_1.1.1.2.png

Рисунок – Удаление проверяемого интерфейса

Правила проверки

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

Для добавления правил проверки интерфейса необходимо выполнить следующие действия:

  1. В таблице «Проверка состояния интерфейсов» раздела «Балансировка нагрузки на WAN-интерфейсах» нажать кнопку «+Добавить».

  2. В открывшейся боковой панели выбрать создаваемый объект «Правила проверки» и ввести необходимые параметры (см. Рисунок – Добавление правил проверки):

  • «Интерфейс» - указать из списка проверяемый интерфейс;

  • «Приоритет» - указать номер правила в соответствии с его очерёдностью. Возможно указать значение в диапазоне от «0» до «4294967295»;

  • «Тип» - указать тип теста. Возможно указать следующие значения:

    • «ping»;

    • «TTL»;

    • «Пользовательский» - указать пользовательский скрипт, описывающий характер проверки.

      Для загрузки скрипта необходимо нажать кнопку «Загрузить скрипт» и в открывшемся окне проводника выбрать необходимый скрипт (см. Рисунок –Загрузка пользовательского скрипта):

      ../../../../_images/ngfw.rp.web.load-balancing_1.1.2.2.png

      Рисунок – Загрузка пользовательского скрипта

      Примечание

      Скрипт должен возвращать «0» для обозначения успешного результата и значение отличное от «0» - для неудачных результатов. Система перестанет отвечать на запросы, если выполнение скрипта не завершится!

      Примечание

      Скрипт сохраняется в каталоге /config/scripts.

  • «Время отклика» - указать значение максимального времени ожидания ответа на сообщение ICMP в секундах. Возможно указать значение в диапазоне от «1» до «30». По умолчанию используется значение «5».

  • «Предельное время жизни (число узлов)» - параметр, который определяет количество переходов между каждой парой шлюзов на пути к хосту-получателю. Он используется для тестирования с протоколом UDP, когда выбирается тип тестирования «TTL». Успешным результатом является получение в ответ сообщения ICMP Time Expired.

  • «Проверяемый адрес» - указать IPv4-адрес хоста-получателя, на который будут отправляться сообщения ICMP Echo Request.

../../../../_images/ngfw.rp.web.load-balancing_1.1.2.1.png

Рисунок – Добавление правил проверки

Для изменения настроек правил проверки интерфейса необходимо нажать ЛКМ на кнопку «ngfw.rp.web.bttn.str» в правом углу строки с нужным интерфейсом в таблице «Проверка состояния интерфейсов». В открывшемся списке правил необходимо выбрать нужное правило, также нажав на него ЛКМ. В боковой панели внести необходимые изменения. По завершению нажать кнопку «Сохранить».

Для удаления правил проверки интерфейса необходимо выбрать одно или несколько правил проверки интерфейсов, установив флажок в чек-боксе слева от наименования правила, и нажать кнопку «Удалить». В открывшемся окне подтвердить удаление нажатием кнопки «Удалить».

Поиск и фильтрация

Блок фильтрации предоставляет возможность сортировки и фильтрации данных из таблицы «Проверка состояния интерфейсов» по всем столбцам в списке (см. Рисунок – Панель поиск и фильтрации). Он включает в себя следующие поля:

  • «Поиск»;

  • «Наименование»;

  • «Тип правила»;

  • кнопка «Сбросить фильтры».

../../../../_images/ngfw.rp.web.load-balancing_1.1.3.1.png

Рисунок – Панель поиск и фильтрации

Сквозной поиск по полям таблицы «Проверка состояния интерфейсов» осуществляется с помощью ввода искомого значения в поле параметра «Поиск». Поиск производится по наименованию сетевого интерфейса и номеру правил.

Фильтрация по полю «Наименование» позволяет осуществлять отбор данных на основе названий сетевых интерфейсов. В данном поле представлен раскрывающийся список с именами интерфейсов, добавленных в таблицу «Проверка состояния интерфейсов».

Фильтрация по полю «Тип правила» позволяет отфильтровать правила по типу теста. Поле содержит выпадающий список и предоставляет выбор из следующих вариантов значений: «ping», «TTL», «Пользовательский».

Сброс всех установленных фильтров осуществляется нажатием кнопки «Сбросить фильтры».

Правила балансировки

Балансировка нагрузки представляет собой совокупность правил, определяющих тип трафика, подлежащего распределению, а также перечень таблиц маршрутизации и их значимости.

Каждое правило включает в себя критерии соответствия и таблицы маршрутизации с присвоенной значимостью. Правила пронумерованы и выполняются в установленном порядке, начиная с «1» и заканчивая «9999».

Важно отметить, что номер правила является уникальным идентификатором, который не может быть изменён. Для изменения номера правила необходимо удалить его и создать заново с новым номером. Рекомендуется назначать номера правил балансировки нагрузки, оставляя свободные интервалы. Например, возможно создать набор правил с номерами 10, 20, 30 и т. д. Это позволит в случае необходимости добавить новое правило в определённое место в текущей последовательности без удаления текущего набора правил.

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

Для добавления правила балансировки необходимо выполнить следующие действия:

  1. В таблице «Правила балансировки» раздела «Балансировка нагрузки на WAN-интерфейсах» нажать кнопку «+Добавить».

  2. В открывшейся боковой панели ввести необходимые параметры правила (см. Рисунок – Добавление правила балансировки):

  • «Приоритет» - уникальный номер приоритета правила балансировки трафика. Возможно указать номер приоритета в диапазоне от «1» до «9999».

  • «Режим» - режим работы правила:

    • «Балансировка трафика» - выполняется распределение трафика пропорционально отношению значимости интерфейса.

    • «Резервирование канала» - весь трафик идёт через основной интерфейс, а в случае его отказа - через резервный. В этом случае вместо балансировки трафика между всеми работоспособными WAN каналами трафик передаётся только по активному. В случае отказа активного WAN канала на эту роль выбирается другой из списка резервных на основе состояния и значимости интерфейса. Оставшиеся WAN каналы становятся резервными по отношению к новому активному.

    Роли WAN-каналов и соответствующих им интерфейсов могут быть выбраны на основе порядка правил балансировки. В связи с тем, что автоматическое перераспределение установленных ранее сессий между активными и резервными каналами WAN не осуществляется, необходимо включить параметр «Очищать таблицы отслеживания подключений при изменении состояния соединения».

  • «Тип проверки трафика» - тип проверки трафика правилом:

    • «Потоковый» - для исходящего трафика по умолчанию применяется балансировка потоков в полном объёме. Для функционирования в данном режиме используется механизм отслеживания соединений на основе IP-адресов отправителя и получателя, а также номеров портов отправителя и получателя. Каждый поток связывается с определённым сетевым интерфейсом в соответствии с установленными правилами балансировки, в результате чего все сетевые пакеты, относящиеся к данному потоку, перенаправляются через этот интерфейс. Преимуществом данного режима работы является сохранение последовательности пакетов при использовании различных скоростей передачи данных для различных подключений.

    • «Пакетный» - балансировка пакетов для исходящего трафика позволяет достичь лучших показателей, но только при условии, что нарушение порядка пакетов не повлияет на функционирование сетевой инфраструктуры.

  • «Небалансируемый трафик» - трафик, который соответствует правилу, не балансируется, а маршрутизируется в соответствии с записями в системной таблице маршрутизации. Параметр доступен при выборе режима «Балансировка трафика».

  • «Балансируемые интерфейсы»:

    • «Интерфейс» - выбор из списка внешнего WAN-интерфейса для правила балансировки.

    • «Значимость» - отношение значимостей интерфейсов будет применяться с помощью алгоритма взвешенного случайного распределения в балансировке трафика. Пример, значимости 2 и 1 балансируемых интерфейсов означают, что через первый пойдёт 66% трафика, а через второй - 33%.

    Кнопки «+Добавить» и «Удалить» позволяют добавлять или удалять балансируемые интерфейсы.

  • «Входящий интерфейс» - выбор из списка внутреннего интерфейса для правила балансировки.

  • «Ограничение скорости» - для правила возможно установить ограничение скорости передачи пакетов, чтобы применять правило к трафику выше или ниже заданного порога. Если в поле «Небалансируемый трафик» установлен флажок, то блок компонентов не отображается. Блок содержит следующие параметры:

    • «Порог» - выбор варианта сравнения, «Выше» или «Ниже» заданного лимита скорости.

    • «Количество пакетов» - количество сетевых пакетов. Возможно указать значение в диапазоне от «0» до «4294967295».

    • «Период» - период времени, в течение которого производится расчёт скорости.

    • «Допустимое превышение лимита» - количество пакетов, допустимое для превышения лимита в течение указанного периода времени. Возможно указать значение в диапазоне от «0» до «4294967295».

  • «Транспортный протокол» - блок настройки протокола транспортного уровня инкапсулируемый в IP протокол. Возможно выбрать один из следующих вариантов:

    • «Номер» - ввести номер протокола в соответствии с документом IANA;

    Примечание

    В случае необходимости выбора протоколов TCP или UDP, следует выбирать их из списка, представленного в поле «Название», а не указывать их числовое обозначение (6 - TCP, 17 - UDP) в поле «Номер». Указание протоколов TCP или UDP через числовое обозначение приводит к некорректной работе правила.

    • «Название» - выбор протокола из выпадающего списка.

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

  • «Отправитель» - блок, в котором возможно настроить параметры правил в зависимости от источника трафика. Возможно выбрать один из следующих вариантов:

    • «IP-адрес» - ввести IPv4-адрес отправителя в поле «Адрес»;

    • «Диапазон адресов» - указать начальный и конечный IPv4-адрес отправителя в соответствующих полях;

    • «Сеть» - ввести IPv4-сеть отправителя в формате «x.x.x.x/x» в поле «Сеть».

      Если установить флажок в чек-боксе «Все, кроме указанного отправителя», то правило будет срабатывать для всех адресов, кроме заданных.

  • «Порт отправителя» - блок настроек доступен, если в блоке «Транспортный протокол» в поле «Название» указано одно из следующих значений: «tcp» или «udp». Указать порт возможно одним из следующих способов:

    • «Номер порта» - возможно указать значение в диапазоне от «1» до «65535»;

    • «Диапазон портов» - позволяет задать интервал портов в диапазоне от «1» до «65535»;

    • «Протокол» - выбор протокола из выпадающего списка.

    При установке флажка в чек-боксе «Все, кроме указанных портов» правило будет срабатывать на все порты, кроме указанных. Кнопки «+Добавить» и «Удалить» позволяют добавлять или удалять порты отправителя.

  • «Получатель» - блок, в котором настраиваются параметры правил в зависимости от адресата трафика. Возможно выбрать один из следующих вариантов:

    • «IP-адрес» - ввести IPv4-адрес получателя в поле «Адрес»;

    • «Диапазон адресов» - указать начальный и конечный IPv4-адрес получателя в соответствующих полях;

    • «Сеть» - ввести IPv4-сеть получателя в формате «x.x.x.x/x» в поле «Сеть».

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

  • «Порт получателя» - блок настроек доступен, если в блоке «Транспортный протокол» в поле «Название» указано одно из следующих значений: «tcp» или «udp». Указать порт возможно одним из следующих способов:

    • «Номер порта» - возможно указать значение в диапазоне от «1» до «65535»;

    • «Диапазон портов» - позволяет задать интервал портов в диапазоне от «1» до «65535»;

    • «Протокол» - выбор протокола из выпадающего списка.

    При установке флажка в чек-боксе «Все, кроме указанных портов» правило будет срабатывать на все порты, кроме указанных. Кнопки «+Добавить» и «Удалить» позволяют добавлять или удалять порты получателя.

../../../../_images/ngfw.rp.web.load-balancing_1.2.1.png

Рисунок – Добавление правила балансировки

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

Для редактирования правила балансировки необходимо нажать ЛКМ на строке с нужным правилом и в открывшейся боковой панели внести корректировки в атрибуты правила. По завершению нажать кнопку «Сохранить».

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

Для копирования правила балансировки необходимо выполнить следующие действия:

  1. Выбрать правило, установив флажок в чек-боксе слева от приоритета правила, и нажать кнопку «Копировать».

  2. В открывшейся боковой панели «Копирование правила» установить приоритет и при необходимости внести изменения в параметры правила.

  3. Нажать кнопку «Сохранить», чтобы сохранить копию правила (см. Рисунок – Копирование правила балансировки).

../../../../_images/ngfw.rp.web.load-balancing_1.2.3.1.png

Рисунок – Копирование правила балансировки

Удаление правил балансировки

Для удаления правила балансировки необходимо выбрать одно или несколько правил, установив флажок в чек-боксе слева от приоритета правила, и нажать кнопку «Удалить». В открывшемся окне, подтвердить удаление нажатием кнопки «Удалить».

Примечание

В случае удаления последнего правила балансировки система выдаст предупреждение о том, что служба балансировки перестанет функционировать. Будет предложено подтвердить удаление правила (см. Рисунок – Подтверждения удаления последнего правила балансировки):

../../../../_images/ngfw.rp.web.load-balancing_1.2.4.1.png

Рисунок – Подтверждения удаления последнего правила балансировки

Общие настройки балансировочной нагрузки

Примечание

Общие параметры балансировки нагрузки недоступны для редактирования, если в таблице «Проверка состояний интерфейсов» не указан хотя бы один интерфейс.

  1. «Отключить правила NAT для источника» - отключение механизма автоматической генерации правил SNAT.

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

  2. «Включить балансировку локального трафика» - включение балансировки нагрузки WAN для локального трафика.

  3. «Очищать таблицы отслеживания подключений при изменении состояния соединения» - очистка таблицы соединений при изменении состояния активного WAN-канала.

Примечание

Очистка таблицы соединений приведёт к тому, что будет выполняться балансировка пакетов вместо балансировки потоков до момента повторного установления соединений.

  1. «Липкие сессии» - включение возможности отправки ответных пакетов с сетевого интерфейса, откуда поступил запрос.

  2. «Скрипт, выполняемый по изменению статуса интерфейса» - выбор пользовательского скрипта, который будет запускаться при изменении состояния балансируемого интерфейса.

    Для загрузки пользовательского скрипта в систему ARMA Стена необходимо нажать кнопку «Загрузить скрипт» (см. Рисунок – Загрузка пользовательского скрипта). В появившемся диалоговом окне следует выбрать файл скрипта, располагающийся на локальном устройстве пользователя. Скрипты загружаются в директорию /config/scripts.

../../../../_images/ngfw.rp.web.load-balancing_1.3.1.png

Рисунок – Загрузка пользовательского скрипта

Примечание

В названии файла скрипта недопустимо использовать символы: пробел, «“», «\». Максимальный размер файла не более 1 мегабайта.

Примечание

Скрипт должен возвращать «0» для обозначения успешного результата и значение отличное от «0» - для неудачных результатов. Система перестанет отвечать на запросы, если выполнение скрипта не завершится!

Для сохранения изменений в общих настройках балансировочной нагрузки необходимо нажать кнопку «Сохранить (см. Рисунок – Сохранение настроек).

../../../../_images/ngfw.rp.web.load-balancing_1.3.2.png

Рисунок – Сохранение настроек

Примечание

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