Серверы Балансировки
Общие сведения о Серверах Балансировки
Сервер Балансировки в Termidesk Connect – это объект (абстракция), с заданным алгоритмом балансировки и другими параметрами, реализующий перенаправление подключения пользователя на один из Реальных Серверов.
Взаимодействие с Сервером Балансировки представлен на рисунке (см. рисунок Взаимодействие с Сервером Балансировки).
Сервер Балансировки может работать в следующих режимах обработки клиентского IP-адреса:
-
сохранение клиентского IP-адреса (см. рисунок Режим сохранения клиентского IP-адреса). В этом случае Termidesk Connect выбирает Сервер Балансировки из списка и подменяет IP-адрес назначения, пришедший в пакете, на IP-адрес назначения Реального Сервера;
Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от default, то настройка Группы Реальных Серверов осуществляется через IP-Фонд.
|
-
подмена клиентского IP-адреса (см. рисунок Режим подмены клиентского IP-адреса). В этом случае Termidesk Connect меняет как IP-адрес назначения, так и IP-адрес источника (клиента). В данном случае в качестве IP-адреса источника на Реальном Сервере будет виден:
-
или IP-адрес из IP-Фонда (если он используется);
-
или IP-адрес Termidesk Connect, выбираемый согласно таблице маршрутизации.
-
Создание и настройка Сервера Балансировки выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect (см. подраздел Создание и настройка Сервера Балансировки из CLI);
-
из веб-интерфейса Termidesk Connect (см. подраздел Создание и настройка Сервера Балансировки из WUI).
Создание и настройка Сервера Балансировки осуществляется через объект lbs (см. подраздел Объект lbs).
Режим DSR
Общие сведения о режиме DSR
При создании и настройке Сервера Балансировки с типом RAPID-TCP и RAPID-UDP доступен режим работы DSR.
DSR (Direct Server Return) – это режим, при котором пакет от пользователя передается на Реальный Сервер без изменения IP-адресов (источника и назначения). Ответ от Реального Сервера отправляется пользователю напрямую, минуя Termidesk Connect.
Существуют разновидности DSR:
L2 DSR
L2 DSR – режим с подменой MAC-адресов (MAC). В этом режиме IP-адреса во входящем пакете остаются неизменными, Termidesk Connect подменяет в пакете только MAC-адреса (MAC-адрес источника – Termidesk Connect, MAC-адрес назначения – Реальный Сервер) и отправляет этот пакет по MAC-адресам на сервер.
Для работы L2 DSR должны быть выполнены условия:
-
на Реальном Сервере должен быть настроен loopback-интерфейс, чтобы он знал о виртуальном IP-адресе;
-
на loopback-интерфейсе должен быть отключен ARP-фильтр;
-
Termidesk Connect и Реальный Сервер должны находится в одной сети.
Схема работы L2 DSR представлена на рисунке (см. рисунок Схема работы L2 DSR).
Для работы с L2 DSR необходима предварительная настройка Реального Сервера. Пример:
| При настройке IP-адреса на loopback-интерфейсе учесть, что этот IP-адрес должен соответствовать IP-адресу Виртуального Сервера. |
sudo ip addr add 192.168.2.11/24 dev lo label lo
Если Реальный Сервер под управлением ОС Astra Linux Special Edition, необходимо выполнить дополнительную настройку для отключения ARP-фильтра. Пример:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 >/proc/sys/net/ipv4/conf/all/rp_filter
echo 2 >/proc/sys/net/ipv4/conf/lo/rp_filter
echo 2 >/proc/sys/net/ipv4/conf/ens192/rp_filter
sysctl -w net.ipv4.ip_forward=1
L3 DSR
L3 DSR – режим (IPIP), при котором входящий пакет инкапсулируется в IPIP-туннель и направляется на Реальный Сервер. Далее Реальный Сервер декапсулирует IP-пакет и видит IP-адрес пользователя и IP-адрес Виртуального Сервера.
Для работы L3 DSR должны быть выполнены условия:
-
на Реальном Сервере должен быть настроен loopback-интерфейс, чтобы он знал о виртуальном IP-адресе;
-
на loopback-интерфейсе должен быть отключен ARP-фильтр;
-
на Реальном Сервере должен быть настроен туннельный интерфейс для декапсуляции пакетов.
Схема работы L3 DSR представлена на рисунке (см. рисунок Схема работы L3 DSR).
Для работы с L3 DSR необходима предварительная настройка Реального Сервера:
-
настройка IP-адреса на loopback-интерфейсе. Пример:
| При настройке IP-адреса на loopback-интерфейсе учесть, что этот IP-адрес должен соответствовать IP-адресу Виртуального Сервера. |
sudo ip addr add 192.0.2.11/24 dev lo label lo
-
настройка туннельного интерфейса. Пример:
| Для ОС семейства Debian на туннеле необходимо настроить IP-адрес, который может быть любым. |
sudo ip link add name ipip0 type ipip external
sudo ip link set up ipip0
sudo ip addr add 127.0.0.99/24 dev ipip0
Если Реальный Сервер под управлением ОС Astra Linux Special Edition, необходимо выполнить дополнительную настройку для отключения ARP-фильтра. Пример:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 >/proc/sys/net/ipv4/conf/all/rp_filter
echo 2 >/proc/sys/net/ipv4/conf/lo/rp_filter
echo 2 >/proc/sys/net/ipv4/conf/ipip0/rp_filter
sysctl -w net.ipv4.ip_forward=1
Мультиплексирование HTTP-запросов
Для Сервера Балансировки с типом HTTP доступен механизм мультиплексирования, позволяющий существенно сократить задержки и снизить нагрузку на Реальные Серверы за счет повторного использования уже установленных TCP-соединений вместо создания новых для каждого HTTP-запроса.
Параметры жизненного цикла соединений (таймауты, максимальное количество запросов, и т.п) управляются настройками keep-alive в Клиентском HTTP-Профиле (см. подраздел HTTP-Профили).
| На Реальном Сервере должен быть настроен HTTP Keep-Alive. Настройки HTTP Keep-Alive на Реальном Сервере должны быть согласованы с настройками Клиентского HTTP-Профиля. |
Мультиплексирование HTTP-запросов включает в себя следующие типы:
-
использование пула постоянных соединений (
conn-pool); -
переиспользование соединения (
conn-reuse).
Использование пула постоянных соединений
Пул постоянных соединений поддерживает пул открытых TCP-соединений к Реальному Серверу, обеспечивая их переиспользование между разными клиентскими сессиями. Это минимизирует накладные расходы на установку TCP-соединений (TCP handshake) и согласование TLS-сессий.
Для пула постоянных соединений доступны следующие настройки:
-
использование общего пула для всех Виртуальных Серверов (параметр
share); -
создание временного подключения, если в пуле нет свободных соединений (параметр
no-wait); -
указание максимального количества соединений к одному Реальному Серверу для одного ядра центрального процессора (параметр
max-conn-count).
Общий лимит подключений к одному Реальному Серверу в рамках одного пула соединений рассчитывается по формуле:
max-conn-count * (N - 1)
где:
-
N— общее количество ядер центральных процессоров, доступных в рамках лицензии; -
(N - 1)— количество ядер, задействованных для обработки трафика (одно ядро резервируется для управления системой и планировщиком).
Если для Реального Сервера указан порт 0 (динамический порт), параметр max-conn-count применяется к уникальной паре «IP-адрес:порт» назначения.
|
Для просмотра статистики и управления пулом соединений доступны команды:
-
show conn-pool; -
conn-pool clear; -
conn-pool reset-stats.
Переиспользование соединения
Переиспользование соединений - оптимизация в рамках одной клиентской сессии, позволяющая переиспользовать уже открытое TCP-соединение к Реальному Серверу, минуя этап балансировки.
Механизм conn-reuse задействуется если Сценарий балансировки возвращает тот же самый Сервер Балансировки, что и для предыдущего запроса в рамках одной клиентской сессии. В этом случае новое соединение не открывается, а HTTP-запрос отправляется на Реальный Сервер через соединение, открытое раннее.
Взаимодействие при переиспользовании соединения представлено на рисунке (см. рисунок Переиспользование соединения) .
|
Настройки, определяющие постоянство подключения пользователя к Реальному Серверу (параметр Например, для алгоритма |
Создание и настройка Сервера Балансировки из CLI
Termidesk Connect позволяет создать и настроить Сервер Балансировки для следующих протоколов:
-
HTTP (см. подраздел Создание и настройка Сервера Балансировки для протокола HTTP);
-
TCP (см. подраздел Создание и настройка Сервера Балансировки для протокола TCP);
-
RAPID-TCP (см. подраздел Создание и настройка Сервера Балансировки для протокола RAPID-TCP);
-
RAPID-UDP (см. подраздел Создание и настройка Сервера Балансировки для протокола RAPID-UDP).
Создание и настройка Сервера Балансировки для протокола HTTP
Для создания и настройки Сервера Балансировки используются команды:
-
создание Сервера Балансировки:
set lbs HTTP <имя>
-
назначение Группы Реальных Серверов для Сервера Балансировки:
set lbs HTTP <имя> rs-pool-id <имя>
| В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов. |
-
указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию –
1):
set lbs HTTP <имя> min-rs <значение>
| Если Сервер Балансировки становится неактивным (переходит в статус «Отключен»), то в текущей версии Termidesk Connect подключение пользователя к Реальному Серверу будет сброшено. |
-
задание алгоритма балансировки (по умолчанию –
LEASTCONN):
set lbs HTTP <имя> algorithm <алгоритм>
|
Возможные значения:
|
-
при использовании алгоритмов
LEASTCONN,WEIGHTEDLEASTCONN,WEIGHTEDLEASTCONNECTTIME,WEIGHTEDLEASTRESPONSETIMEуказывается время (в секундах), на которое производится смена алгоритмов наROUNDROBINиWEIGHTEDROUNDROBINсоответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию –0):
set lbs HTTP <имя> leastconn-param starttime <значение>
|
Параметр Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер. |
-
(опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию –
NONE):
|
|
set lbs HTTP <имя> persistence algorithm <тип>
|
Возможные значения:
Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер. |
|
Пример: пользователь запросил доступ к приложению, а Termidesk Connect направил его на Реальный Сервер N. Пользователь получил приложение, поработал с ним и отключился, но позже запросил доступ снова. Если задано время ожидания, то:
|
-
(опционально, если задан алгоритм
IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs HTTP <имя> persistence ipsource-param timeout <значение>
-
(опционально, если задан алгоритм
COOKIEINSERT) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs HTTP <имя> persistence ci-param timeout <значение>
-
(опционально, если задан алгоритм
COOKIEINSERT) задание имени cookie (по умолчанию –TDCI):
set lbs HTTP <имя> persistence ci-param cookie-name <значение>
-
(опционально, если задан алгоритм
COOKIEINSERT) задание атрибутов cookie (по умолчанию –Path=/; HttpOnly):
set lbs HTTP <имя> persistence ci-param cookie-attr <значение>
-
(опционально, если задан алгоритм
HEADER) задание заголовка, по которому повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер:
set lbs HTTP <имя> persistence header-param header-name <значение>
-
(опционально, если задан алгоритм
HEADER) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs HTTP <имя> persistence header-param timeout <значение>
-
(опционально, если задан алгоритм
COOKIE) задание имени cookie, который ожидается в ответе Реального Сервера для повторного подключения пользователя на этот Реальный Сервер:
set lbs HTTP <имя> persistence cookie-param cookie-name <значение>
-
(опционально, если задан алгоритм
COOKIE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs HTTP <имя> persistence cookie-param timeout <значение>
-
(опционально, если задан алгоритм
SSLSESSION) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs HTTP <имя> persistence sslsession-param timeout <значение>
-
(опционально) привязка Профиля сохранения сессий к Серверу Балансировки (см. подраздел Профили):
set lbs HTTP <имя> persistence-profile <имя_Профиля>
| Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий. |
-
(опционально) привязка Клиентского SSL-Профиля к Серверу Балансировки (см. подраздел TLS):
set lbs HTTP <имя> ssl-profile-id <имя_Профиля>
-
привязка Клиентского HTTP-Профиля к Серверу Балансировки (см. подраздел Профили):
set lbs HTTP <имя> http-profile-id <имя_Профиля>
При добавлении Сервера Балансировки по умолчанию привязан Клиентский HTTP-Профиль httpp-client-default. Это преднастроенный Клиентский HTTP-Профиль, который не может быть изменен или удален.
|
-
привязка Клиентского TCP-Профиля к Серверу Балансировки (см. подраздел Профили):
set lbs HTTP <имя> tcp-profile-id <имя_Профиля>
При добавлении Сервера Балансировки по умолчанию привязан Клиентский TCP-Профиль tcpp-client-default. Это преднастроенный Клиентский TCP-Профиль, который не может быть изменен или удален.
|
-
(опционально) привязка Профиля ограничения скорости (см. подраздел Профили ограничения скорости):
set lbs HTTP <имя> rl-profile-id <имя_Профиля>
-
включение или отключение строгого режима обслуживания Реальных Серверов (по умолчанию –
false):
set lbs HTTP <имя> strict-mainten <true/false>
|
Данный параметр влияет на выбор Реального Сервера в состоянии обслуживания при балансировке. Возможные значения:
|
-
включение или отключение режима сохранения IP-адреса клиента (по умолчанию –
false):
set lbs HTTP <имя> use-cip <true/false>
|
Режим сохранения IP-адреса клиента работает следующим образом:
Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от |
-
(опционально) задание Сценария (исполняемого файла формата
LUA):
Файл должен быть расположен в каталоге /var/lib/tdc/lbscripts/response-modifying/.
|
set lbs HTTP <имя> luarules <приоритет> script <имя_файла>
Параметр <приоритет> задает приоритет применения Сценария: чем ниже число, тем выше приоритет, и тем раньше Сценарий будет обработан. Подробное описание работы со Сценариями приведено в подразделе Сценарии.
|
-
(опционально) настройка функции перебалансировки:
-
разрешение или запрет перебалансировки. Перебалансировка (попытка выбрать другой Реальный Сервер) осуществляется в случае ошибки подключения к Реальному Серверу (по умолчанию –
false):set lbs HTTP <имя> re-balancing enable <true/false>В случае выбора другого Реального Сервера в результате перебалансировки, если была запись в персистентной таблице, эта запись будет удалена (заменена) на другой Реальный Сервер. -
указание максимального количества попыток перебалансировки (значение от 1 до 10, по умолчанию –
1):set lbs HTTP <имя> re-balancing max-attempts <значение>
-
-
(опционально) поддержка мультиплексирования HTTP-запросов:
set lbs HTTP <имя> multiplexing <значение>
|
Возможные значения:
Параметры соединения для мультиплексирования HTTP-запросов определяются настройками |
-
(опционально, если задан тип
conn-pool) задание максимального количества соединений к одному Реальному Серверу для одного ядра центрального процессора (по умолчанию –50):
set lbs HTTP <имя> multiplexing conn-pool max-conn-count <значение>
|
Общее количество подключений к одному Реальному Серверу можно рассчитать по формуле: |
-
(опционально, если задан тип
conn-pool) включение или отключение отсутствия ожидания свободного соединения (по умолчанию –true):
set lbs HTTP <имя> multiplexing conn-pool no-wait <true/false>
|
Параметр определяет стратегию поведения пула соединений в момент, когда все доступные соединения исчерпаны - заняты обработкой других запросов. Возможные значения:
|
-
(опционально, если задан тип
conn-pool) включение или отключение использования одного пула соединений для всех Виртуальных Серверов (по умолчанию –true):
set lbs HTTP <имя> multiplexing conn-pool share <true/false>
|
Возможные значения:
|
-
(опционально) включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в состояние
ACTIVE(по умолчанию –false):
set lbs HTTP <имя> ha-monitor <true/false>
| Подробное описание условий переключения узлов отказоустойчивой конфигурации приведено в подразделе Отказоустойчивость. |
-
(опционально) задание комментария, который будет привязан к Серверу Балансировки:
set lbs HTTP <имя> description <комментарий>
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml lbs HTTP <имя>
-
просмотр выполненных команд:
show configuration cli lbs HTTP <имя>
Создание и настройка Сервера Балансировки для протокола TCP
Для создания и настройки Сервера Балансировки используются команды:
-
создание Сервера Балансировки:
set lbs TCP <имя>
-
назначение Группы Реальных Серверов для Сервера Балансировки:
set lbs TCP <имя> rs-pool-id <имя>
| В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов. |
-
указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию –
1):
set lbs TCP <имя> min-rs <значение>
| Если Сервер Балансировки становится неактивным (переходит в статус «Отключен»), то в текущей версии Termidesk Connect подключение пользователя к Реальному Серверу будет сброшено. |
-
задание алгоритма балансировки (по умолчанию –
LEASTCONN):
set lbs TCP <имя> algorithm <алгоритм>
|
Возможные значения:
|
-
при использовании алгоритмов
LEASTCONN,WEIGHTEDLEASTCONN,WEIGHTEDLEASTCONNECTTIMEуказывается время (в секундах), на которое производится смена алгоритмов наROUNDROBINиWEIGHTEDROUNDROBINсоответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию –0):
set lbs TCP <имя> leastconn-param starttime <значение>
|
Параметр Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер. |
-
(опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию –
NONE):
set lbs TCP <имя> persistence algorithm <тип>
|
Возможные значения:
Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер. |
-
(опционально, если задан алгоритм
IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs TCP <имя> persistence ipsource-param timeout <значение>
-
(опционально, если задан алгоритм
SSLSESSION) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs TCP <имя> persistence sslsession-param timeout <значение>
|
Пример: пользователь запросил доступ к приложению, а Termidesk Connect направил его на Реальный Сервер N. Пользователь получил приложение, поработал с ним и отключился, но позже запросил доступ снова. Если задано время ожидания, то:
|
-
(опционально) привязка Профиля сохранения сессий к Серверу Балансировки (см. подраздел Профили):
set lbs TCP <имя> persistence-profile <имя_Профиля>
| Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий. |
-
(опционально) привязка Клиентского SSL-Профиля к Серверу Балансировки (см. подраздел TLS):
set lbs TCP <имя> ssl-profile-id <имя_Профиля>
-
привязка Клиентского TCP-Профиля к Серверу Балансировки (см. подраздел Профили):
set lbs TCP <имя> tcp-profile-id <имя_Профиля>
При добавлении Сервера Балансировки по умолчанию привязан Клиентский TCP-Профиль tcpp-client-default. Это Клиентский TCP-Профиль по умолчанию, который не может быть изменен или удален.
|
-
(опционально) привязка Профиля ограничения скорости (см. подраздел Профили ограничения скорости):
set lbs TCP <имя> rl-profile-id <имя_Профиля>
-
включение или отключение строгого режима обслуживания Реальных Серверов (по умолчанию –
false):
set lbs TCP <имя> strict-mainten <true/false>
|
Данный параметр влияет на выбор Реального Сервера в состоянии обслуживания при балансировке. Возможные значения:
|
-
включение или отключение режима сохранения IP-адреса клиента (по умолчанию –
false):
set lbs TCP <имя> use-cip <true/false>
|
Режим сохранения IP-адреса клиента работает следующим образом:
Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от |
-
(опционально) настройка функции перебалансировки:
-
разрешение или запрет перебалансировки. Перебалансировка (попытка выбрать другой Реальный Сервер) осуществляется в случае ошибки подключения к Реальному Серверу (по умолчанию –
false):set lbs TCP <имя> re-balancing enable <true/false>В случае выбора другого Реального Сервера в результате перебалансировки, если была запись в персистентной таблице, она будет удалена (заменена) на другой Реальный Сервер. -
указание максимального количества попыток перебалансировки (значение от 1 до 10, по умолчанию –
1):set lbs TCP <имя> re-balancing max-attempts <значение>
-
-
(опционально) включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в состояние
ACTIVE(по умолчанию –false):
set lbs TCP <имя> ha-monitor <true/false>
| Подробное описание условий переключения узлов отказоустойчивой конфигурации приведено в подразделе Отказоустойчивость. |
-
(опционально) задание комментария, который будет привязан к Серверу Балансировки:
set lbs TCP <имя> description <комментарий>
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml lbs TCP <имя>
-
просмотр выполненных команд:
show configuration cli lbs TCP <имя>
Создание и настройка Сервера Балансировки для протокола RAPID-TCP
Для создания и настройки Сервера Балансировки используются команды:
|
Часть настроек выполняется аналогично Серверу Балансировки для протокола TCP. |
-
создание Сервера Балансировки:
set lbs RAPID-TCP <имя>
-
назначение Группы Реальных Серверов для Сервера Балансировки:
set lbs RAPID-TCP <имя> rs-pool-id <имя>
| В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов. |
-
указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию –
1):
set lbs RAPID-TCP <имя> min-rs <значение>
-
задание алгоритма балансировки (по умолчанию –
LEASTCONN):
set lbs RAPID-TCP <имя> algorithm <тип>
|
Возможные значения:
|
-
при использовании алгоритмов
LEASTCONN,WEIGHTEDLEASTCONN,WEIGHTEDLEASTCONNECTTIME, указывается время (в секундах), на которое производится смена алгоритмов наROUNDROBINиWEIGHTEDROUNDROBINсоответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию –0):
set lbs RAPID-TCP <имя> leastconn-param starttime <значение>
|
Параметр Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер. |
-
(опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию –
NONE):
set lbs RAPID-TCP <имя> persistence algorithm <тип>
|
Возможные значения:
Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер. |
-
(опционально, если задан алгоритм
IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs RAPID-TCP <имя> persistence ipsource-param timeout <значение>
-
включение или отключение режима сохранения IP-адреса из IP-Фонда для взаимодействия с Реальным Сервером (по умолчанию –
false):
set lbs RAPID-TCP <имя> persistence ipsource-param ipset-src-persist <true/false>
|
Режим сохранения IP-адреса из IP-Фонда работает следующим образом:
|
-
задание времени жизни сессии (в секундах) после получения управляющего флага FIN в заголовке пакета (по умолчанию –
2):
set lbs RAPID-TCP <имя> fin-timeout <значение>
-
задание времени жизни сессии (в секундах) при бездействии, т.е. отсутствии пакетов (по умолчанию –
60):
set lbs RAPID-TCP <имя> connection-idle <значение>
-
включение или отключение режима сохранения IP-адреса клиента (по умолчанию –
false):
set lbs RAPID-TCP <имя> use-cip <true/false>
|
Режим сохранения IP-адреса клиента работает следующим образом:
Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от |
-
(опционально) задание режима работы Сервера Балансировки (по умолчанию –
OFF):
set lbs RAPID-TCP <имя> dsr-mode <режим_работы>
|
Возможные значения:
Описание режимов DSR представлено в подразделе Режим DSR. |
-
задание параметров TTL IP-пакета в заголовке:
TTL – поле в заголовке IP-пакета, указывающее максимальное число переходов, через которое можем пройти пакет перед тем, как будет отброшен.
По умолчанию Termidesk Connect не меняет TTL, но опционально можно изменить его для пакетов, передаваемых в сторону Реального Сервера или в сторону источника запроса (клиента).
-
TTL пакета к Реальному Серверу (по умолчанию –
0):set lbs RAPID-TCP <имя> ttl to-rs <значение> -
TTL пакета к источнику запроса (по умолчанию –
0):set lbs RAPID-TCP <имя> ttl to-client <значение>
-
-
(опционально) включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в состояние
ACTIVE(по умолчанию –false):
set lbs RAPID-TCP <имя> ha-monitor <true/false>
| Подробное описание условий переключения узлов отказоустойчивой конфигурации приведено в подразделе Отказоустойчивость. |
-
(опционально) задание комментария, который будет привязан к Серверу Балансировки:
set lbs RAPID-TCP <имя> description <комментарий>
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml lbs RAPID-TCP <имя>
-
просмотр выполненных команд:
show configuration cli lbs RAPID-TCP <имя>
Создание и настройка Сервера Балансировки для протокола RAPID-UDP
Для создания и настройки Сервера Балансировки используются команды:
|
Часть настроек выполняется аналогично Серверу Балансировки для протокола TCP. |
-
создание Сервера Балансировки:
set lbs RAPID-UDP <имя>
-
назначение Группы Реальных Серверов для Сервера Балансировки:
set lbs RAPID-UDP <имя> rs-pool-id <имя>
| В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов. |
-
указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию –
1):
set lbs RAPID-UDP <имя> min-rs <значение>
-
задание алгоритма балансировки (по умолчанию –
LEASTCONN):
set lbs RAPID-UDP <имя> algorithm <тип>
|
Возможные значения:
|
-
при использовании алгоритмов
LEASTCONN,WEIGHTEDLEASTCONNуказывается время (в секундах), на которое производится смена алгоритмов наROUNDROBINиWEIGHTEDROUNDROBINсоответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию –0):
set lbs RAPID-UDP <имя> leastconn-param starttime <значение>
|
Параметр Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер. |
-
(опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию –
NONE):
set lbs RAPID-UDP <имя> persistence algorithm <тип>
|
Возможные значения:
Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер. |
-
(опционально, если задан алгоритм
IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set lbs RAPID-UDP <имя> persistence ipsource-param timeout <значение>
-
включение или отключение режима сохранения IP-адреса из IP-Фонда для взаимодействия с Реальным Сервером (по умолчанию –
false):
set lbs RAPID-UDP <имя> persistence ipsource-param ipset-src-persist <true/false>
|
Режим сохранения IP-адреса из IP-Фонда работает следующим образом:
|
-
задание времени жизни сессии (в секундах) при бездействии, т.е. отсутствии пакетов (по умолчанию –
60):
set lbs RAPID-UDP <имя> connection-idle <значение>
-
включение или отключение режима сохранения IP-адреса клиента (по умолчанию –
false):
set lbs RAPID-UDP <имя> use-cip <true/false>
|
Режим сохранения IP-адреса клиента работает следующим образом:
Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от |
-
(опционально) задание режима работы Сервера Балансировки (по умолчанию –
OFF):
set lbs RAPID-UDP <имя> dsr-mode <режим_работы>
|
Возможные значения:
Описание режимов DSR представлено в подразделе Режим DSR. |
-
задание параметров TTL IP-пакета в заголовке:
TTL – поле в заголовке IP-пакета, указывающее максимальное число переходов, через которое можем пройти пакет перед тем, как будет отброшен.
По умолчанию Termidesk Connect не меняет TTL, но опционально можно изменить его для пакетов, передаваемых в сторону Реального Сервера или в сторону источника запроса (клиента).
-
TTL пакета к Реальному Серверу (по умолчанию –
0):set lbs RAPID-UDP <имя> ttl to-rs <значение> -
TTL пакета к источнику запроса (по умолчанию –
0):set lbs RAPID-UDP <имя> ttl to-client <значение>
-
-
(опционально) включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в состояние
ACTIVE(по умолчанию –false):
set lbs RAPID-UDP <имя> ha-monitor <true/false>
| Подробное описание условий переключения узлов отказоустойчивой конфигурации приведено в подразделе Отказоустойчивость. |
-
(опционально) задание комментария, который будет привязан к Серверу Балансировки:
set lbs RAPID-UDP <имя> description <комментарий>
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml lbs RAPID-UDP <имя>
-
просмотр выполненных команд:
show configuration cli lbs RAPID-UDP <имя>
Создание и настройка Сервера Балансировки из WUI
Для отображения списка Серверов Балансировки следует перейти «Настройки – Управление трафиком – Серверы Балансировки».
По умолчанию записи представлены в табличном виде и упорядочены согласно столбцу «Имя».
Основные параметры списка приведены в таблице (см. таблицу Основные параметры списка Серверов Балансировки).
| Параметр | Описание |
|---|---|
«Имя» |
Наименование Сервера Балансировки |
«Тип» |
Используемый протокол для балансировки входящих подключений |
«Состояние» |
Статус Сервера Балансировки |
«Алгоритм» |
Используемый алгоритм балансировки |
«TLS Профиль» |
Используемый Клиентский SSL-Профиль для аутентификации на Реальном Сервере |
Для добавления Сервера Балансировки следует перейти «Настройки – Управление трафиком – Серверы Балансировки» и нажать экранную кнопку [Добавить].
Затем заполнить данные, перечисленные в столбце «Параметр» следующей таблицы (см. таблицу Данные для добавления Сервера Балансировки).
| Параметр | Описание | ||
|---|---|---|---|
«Имя» |
Наименование Сервера Балансировки |
||
«Тип» |
Выбор протокола, который будет использован для балансировки подключений. Возможные значения:
|
||
«Группа РС» |
Выбор Группы Реальных Серверов |
||
«Минимальное количество РС, шт» |
Минимально необходимое количество доступных Реальных Серверов в группе для перевода Сервера Балансировки в статус «В работе». Значение по умолчанию: «1» |
||
«Отслеживание в HA» |
Включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в статус «ACTIVE» |
||
«Алгоритм» |
Выбор алгоритма, который будет использован для балансировки подключений. Возможные значения:
Значение по умолчанию: «LEASTCONN» |
||
«Время старта, с» |
Период (в секундах), в течение которого будет запущено выполнение алгоритма «ROUNDROBIN», «WEIGHTEDROUNDROBIN». Параметр позволяет выполнить равномерное распределение запросов между Реальными Серверами с момента, когда один или несколько серверов станут доступны. Значение по умолчанию: «0». Параметр доступен при выборе алгоритмов «LEASTCONN» (будет запущено выполнение алгоритма «ROUNDROBIN»), «WEIGHTEDLEASTCONN», «WEIGHTEDLEASTCONNECTTIME» или «WEIGHTEDLEASTRESPONSETIME» (будет запущено выполнение алгоритма «WEIGHTEDROUNDROBIN») |
||
«Профиль» |
Включение параметра позволяет выбрать Профиль сохранения сессий. Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий. Параметр доступен при выборе протокола типа «TCP» или «HTTP» |
||
«Постоянство выбора РС (persistence)» |
Выбор типа привязки пользователя к одному Реальному Серверу на время активной сессии или выбор Профиля сохранения сессий (при активированном параметре «Профиль»). Возможные значения (при отключенном параметре «Профиль»):
Значение по умолчанию (при отключенном параметре «Профиль»): «NONE» |
||
«Время жизни, с» |
Период (в секундах), в течение которого сохраняется привязка пользователя к Реальному Серверу при значении параметра «Постоянство выбора РС (persistence)», отличного от «NONE». Таймер параметра сбрасывается к заданному значению при каждом новом действии пользователя. Значение по умолчанию: «60» |
||
«Название HTTP заголовка» |
Заголовок, по которому повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер. Параметр доступен при выборе «Постоянство выбора РС (persistence)» со значением «HEADER» |
||
«Название cookie» |
Указание имени cookie. Значение по умолчанию при выборе параметра «Постоянство выбора РС (persistence)» со значением «COOKIEINSERT»: «TDCI». Параметр доступен при выборе «Постоянство выбора РС (persistence)» со значением «COOKIEINSERT» или «COOKIE» |
||
«Атрибуты cookie» |
Указание атрибутов cookie. Значение по умолчанию: «Path=/; HttpOnly». Параметр доступен при выборе «Постоянство выбора РС (persistence)» со значением «COOKIEINSERT» |
||
«Сохранять SRC IP» |
Параметр позволяет управлять режимом сохранения IP-адреса источника запроса при активированном параметре «Постоянство выбора РС (persistence)». Включение параметра сохраняет исходный IP-адрес источника запроса при подключении к Реальному Серверу. Отключение параметра подменяет IP-адрес источника запроса при подключении к Реальному Серверу. Параметр доступен при выборе протокола типа «RAPID-TCP» или «RAPID-UDP» |
||
«Таймаут закрытия по FIN, с» |
Период (в секундах) времени хранения записи о сессии после получения Значение по умолчанию: «2». Параметр доступен при выборе протокола типа «RAPID-TCP» |
||
«Сохранять клиентский IP» |
Параметр позволяет управлять режимом сохранения IP-адреса клиента. Включение параметра сохраняет IP-адрес клиента при взаимодействии с Реальным Сервером. Отключение параметра подменяет IP-адрес клиента при взаимодействии с Реальным Сервером |
||
«Продолжительность неактивной сессии, с» |
Период (в секундах), в течение которого соединение остается открытым при отсутствии активной сессии. Значение по умолчанию: «60». Параметр доступен при выборе протокола типа «RAPID-TCP» или «RAPID-UDP» |
||
«Режим DSR» |
Выбор режима работы Сервера Балансировки. Возможные значения:
Значение по умолчанию: «OFF». Параметр доступен при выборе протокола типа «RAPID-TCP» или «RAPID-UDP» |
||
«IP TTL к РС» |
TTL IP-пакета к Реальному Серверу. Значение по умолчанию: «0». Параметр доступен при выборе протокола типа «RAPID-TCP» или «RAPID-UDP» |
||
«IP TTL к источнику запроса» |
TTL IP-пакета к источнику запроса. Значение по умолчанию: «0». Параметр доступен при выборе протокола типа «RAPID-TCP» или «RAPID-UDP» |
||
«Клиентский TLS Профиль» |
Выбор Клиентского SSL-Профиля для аутентификации на Реальном Сервере. Параметр доступен при выборе протокола типа «TCP» или «HTTP» |
||
«Клиентский TCP Профиль» |
Выбор Клиентского TCP-Профиля. Значение по умолчанию: «tcpp-client-default». Параметр доступен при выборе протокола типа «TCP» или «HTTP» |
||
«Клиентский HTTP Профиль» |
Выбор Клиентского HTTP-Профиля. Значение по умолчанию: «httpp-client-default». Параметр доступен при выборе протокола типа «HTTP» |
||
«Профиль ограничения потока данных» |
Выбор Профиля ограничения скорости. Параметр доступен при выборе протокола типа «TCP» или «HTTP» |
||
«Строгий режим обслуживания» |
Включение или отключение строгого режима обслуживания Реальных Серверов. Данный параметр влияет на выбор Реального Сервера в состоянии обслуживания при балансировке. Включение параметра позволяет при переходе Реального Сервера в режим обслуживания привязка пользователя к Реальному Серверу удаляется. Новые соединения с Реальным Сервером в состоянии обслуживания не устанавливаются, а ранее установленные соединения продолжают работу. Отключение параметра позволяет при переходе Реального Сервера в режим обслуживания привязка пользователя к Реальному Серверу сохраняется. Параметр доступен при выборе протокола типа «TCP» или «HTTP» |
||
«Сценарии модификации ответов» |
Список правил для балансировки подключений. Над списком правил можно выполнять следующие действия:
Параметр доступен при выборе протокола типа «HTTP» |
||
«Перебалансировка» |
Включение или отключение функции перебалансировки. Перебалансировка (попытка выбрать другой Реальный Сервер) осуществляется в случае ошибки подключения к Реальному Серверу.
Включение параметра разрешает перебалансировку, отключение параметра запрещает перебалансировку. Параметр доступен при выборе протокола типа «TCP» или «HTTP» |
||
«Максимальное количество попыток» |
Максимальное количество попыток перебалансировки. Возможные значения: от 1 до 10. Значение по умолчанию: «1». Параметр доступен при активации параметра «Перебалансировка» для протокола типа «TCP» или «HTTP» |
||
«Мультиплексирование» |
Включение или отключение поддержки мультиплексирования HTTP-запросов. Параметры соединения для мультиплексирования HTTP-запросов определяются настройками Keep-Alive в Клиентском HTTP-Профиле (см. подраздел HTTP-Профили). Параметр доступен при выборе протокола типа «HTTP» |
||
«Тип» |
Выбор типа поддержки мультиплексирования HTTP-запросов. Возможные значения:
Значение по умолчанию: «CONN-POOL». Параметр доступен при активации параметра «Мультиплексирование» для протокола типа «HTTP» |
||
«Максимальное количество соединений» |
Максимальное количество соединений к одному Реальному Серверу для одного ядра центрального процессора. Общее количество подключений к одному Реальному Серверу можно рассчитать по формуле: «Максимальное количество соединений»*( Значение по умолчанию: «50». Параметр доступен при активации параметра «Мультиплексирование» со значением «CONN-POOL» для протокола типа «HTTP» |
||
«Не ожидать свободного соединения» |
Включение или отключение отсутствия ожидания свободного соединения. Параметр определяет стратегию поведения пула соединений в момент, когда все доступные соединения исчерпаны - заняты обработкой других запросов. При включении параметра для обслуживания текущего HTTP-запроса создается временное соединение, если в пуле нет свободных соединений. Данное соединение существует исключительно в рамках одной транзакции. После завершения передачи данных и получения ответа оно закрывается. При отключении параметра HTTP-запрос переходит в состояние ожидания, если в пуле нет свободных соединений, пока одно из занятых соединений не завершит текущую операцию и не будет возвращено обратно в пул соединений. Параметр доступен при активации параметра «Мультиплексирование» со значением «CONN-POOL» для протокола типа «HTTP» |
||
«Использовать один пул соединений для всех ВС» |
Включение или отключение использования одного пула соединений для всех Виртуальных Серверов. Включение параметра позволяет для всех Виртуальных Серверов, которые задействуют Сервер Балансировки, использовать один общий пул соединений. Отключение параметра позволяет для каждой пары «Виртуальный Сервер – Сервер Балансировки» создавать отдельный пул соединений. Параметр доступен при активации параметра «Мультиплексирование» со значением «CONN-POOL» для протокола типа «HTTP» |
||
«Комментарий» |
Комментарий, который будет привязан к Серверу Балансировки |
Доступные параметры для добавления Сценария перечислены в столбце «Параметр» следующей таблицы (см. таблицу Данные для добавления Сценария балансировки подключений по протоколу HTTP).
| Параметр | Описание |
|---|---|
«Приоритет» |
Приоритет обработки Сценария |
«Сценарий» |
Выбор исполняемого файла в раскрывающемся списке. Файл должен располагаться в каталоге Для загрузки файла Сценария нажать экранную кнопку [⤒] и указать путь к файлу в формате |
Для копирования Сервера Балансировки нужно:
| Копируются все исходные параметры, кроме имени. |
-
отметить его в списке и нажать экранную кнопку [Копировать];
-
в открывшейся форме заполнить имя создаваемого Сервера Балансировки. Если имя уже существует, конфигурация будет перезаписана.
Для изменения Сервера Балансировки нужно:
-
либо отметить его в списке и нажать экранную кнопку [Изменить];
-
либо нажать левой кнопкой мыши на его имя.
Для удаления Сервера Балансировки нужно:
| Для удаления нескольких Серверов Балансировки отметить их в списке. |
-
отметить его в списке и нажать экранную кнопку [Удалить];
-
подтвердить удаление, нажав экранную кнопку [Удалить] на запрос об удалении.
Объект lbs
Доступные команды объекта lbs приведены в таблице (см. таблицу Доступные команды объекта lbs).
| Команда | Описание |
|---|---|
Создание Сервера Балансировки для протокола TCP |
|
|
Имя Сервера Балансировки для протокола TCP |
Настройка Сервера Балансировки для протокола TCP |
|
|
Задание алгоритма балансировки (по умолчанию –
|
|
Включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в состояние |
|
Задание времени (в секундах) смены алгоритма с |
|
Задание минимального количества действующих Реальных Серверов, необходимых для обработки запросов (по умолчанию – |
|
Задание параметра, определяющего постоянство подключения пользователя к Реальному Серверу. Для параметра
|
|
Задание Профиля сохранения сессий |
|
Настройка функции перебалансировки. Для параметра
|
|
Задание Профиля ограничения скорости для привязки к Серверу Балансировки |
|
Задание Группы Реальных Серверов, к которой будет привязан Сервер Балансировки |
|
Задание Клиентского SSL-Профиля, который будет использоваться для функционала SSL Offload |
|
Включение или отключение строгого режима обслуживания Реальных Серверов (по умолчанию – Возможные значения:
|
|
Задание Клиентского TCP-Профиля (по умолчанию – |
|
Управление режимом сохранения IP-адреса клиента (по умолчанию – Возможные значения:
|
|
Задание комментария, который будет привязан к Серверу Балансировки. Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки |
Создание Сервера Балансировки для протокола HTTP |
|
|
Имя Сервера Балансировки для протокола HTTP. Параметры идентичны протоколу TCP, включая дополнительные |
Настройка Сервера Балансировки для протокола HTTP |
|
|
Задание алгоритма балансировки (по умолчанию –
|
|
Задание Клиентского HTTP-Профиля (по умолчанию – |
|
Настройка приоритета Сценария и файла Сценария |
|
Поддержка мультиплексирования HTTP-запросов. Параметры соединения для мультиплексирования HTTP-запросов определяются настройками Возможные значения:
При выборе
|
|
Задание параметра, определяющего постоянство подключения пользователя к Реальному Серверу. Для параметра
|
Создание Сервера Балансировки для протокола RAPID-TCP |
|
|
Имя Сервера Балансировки для протокола RAPID-TCP. Параметры идентичны протоколу TCP за исключением |
Настройка Сервера Балансировки для протокола RAPID-TCP |
|
|
Задание времени жизни сессии (в секундах) при бездействии, т.е. отсутствии пакетов (по умолчанию – |
|
Режим работы Сервера Балансировки (по умолчанию –
|
|
Задание времени жизни сессии (в секундах) после получения управляющего флага FIN в заголовке пакета (по умолчанию – |
|
Задание параметра, определяющего постоянство подключения пользователя к Реальному Серверу. Для параметра
|
|
Задание параметров TTL IP-пакета в заголовке. Для параметра
|
Создание Сервера Балансировки для протокола RAPID-UDP |
|
|
Имя Сервера Балансировки для протокола RAPID-UDP. Параметры идентичны протоколу RAPID-TCP, за исключением |