Серверы Балансировки

Общие сведения о Серверах Балансировки

Сервер Балансировки в Termidesk Connect – это объект (абстракция), с заданным алгоритмом балансировки и другими параметрами, реализующий перенаправление подключения пользователя на один из Реальных Серверов.

Взаимодействие с Сервером Балансировки представлен на рисунке (см. рисунок Взаимодействие с Сервером Балансировки).

image
Рисунок 1. Взаимодействие с Сервером Балансировки

Сервер Балансировки может работать в следующих режимах обработки клиентского IP-адреса:

  • сохранение клиентского IP-адреса (см. рисунок Режим сохранения клиентского IP-адреса). В этом случае Termidesk Connect выбирает Сервер Балансировки из списка и подменяет IP-адрес назначения, пришедший в пакете, на IP-адрес назначения Реального Сервера;

image
Рисунок 2. Режим сохранения клиентского IP-адреса
  • подмена клиентского IP-адреса (см. рисунок Режим подмены клиентского IP-адреса). В этом случае Termidesk Connect меняет как IP-адрес назначения, так и IP-адрес источника (клиента). В данном случае в качестве IP-адреса источника на Реальном Сервере будет виден:

    • или IP-адрес из IP-Фонда (если он используется);

    • или IP-адрес Termidesk Connect, выбираемый согласно таблице маршрутизации.

image
Рисунок 3. Режим подмены клиентского IP-адреса
Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от default, то настройка Группы Реальных Серверов осуществляется через IP-Фонд.

Режим 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).

image
Рисунок 4. Схема работы 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).

image
Рисунок 5. Схема работы 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

Создание и настройка Сервера Балансировки для протокола TCP

Создание и настройка Сервера Балансировки выполняется выполняется одним из способов:

Для создания и настройки Сервера Балансировки используются команды:

Описание параметров также приведено в подразделе Объект lbs.

  • создание Сервера Балансировки:

set lbs TCP <имя>
  • назначение Группы Реальных Серверов для Сервера Балансировки:

В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов.
set lbs TCP <имя> rs-pool-id <имя>
  • указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию – 1):

Если Сервер Балансировки становится неактивным (переходит в статус «Отключен»), то в текущей версии Termidesk Connect подключение пользователя к Реальному Серверу будет сброшено.
set lbs TCP <имя> min-rs <значение>
  • задание алгоритма балансировки (по умолчанию – LEASTCONN):

Алгоритм балансировки может быть:

  • ROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами, что обеспечивает их равномерное распределение;

  • LEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом количества текущих активных соединений на каждом Реальном Сервере. Для подключения пользователя выбирается Реальный Сервер с наименьшим количеством текущих активных соединений, что обеспечивает более равномерное распределение нагрузки и помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами пропорционально их Весу, что обеспечивает их равномерное распределение;

  • WEIGHTEDLEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения количества текущих активных соединений к Весу для каждого Реального Сервера, что помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDLEASTCONNECTTIME – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения наименьшего среднего времени соединения и количества текущих сессий к Весу для каждого Реального Сервера;

  • RANDOM – для подключения пользователей в этом случае выбирается случайный Реальный Сервер;

  • POWEROFTWORANDOM – для подключения пользователей в этом случае выбирается Реальный Сервер с наименьшим числом соединений из двух Реальных Серверов, выбранных случайным образом.

set lbs TCP <имя> algorithm <алгоритм>
  • при использовании алгоритмов LEASTCONN, WEIGHTEDLEASTCONN, WEIGHTEDLEASTCONNECTTIME указывается время (в секундах), на которое производится смена алгоритмов на ROUNDROBIN и WEIGHTEDROUNDROBIN соответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию – 0):

Параметр starttime указывает, на какое время после изменения Группы Реальных Серверов Сервер Балансировки перейдет на работу по алгоритму ROUNDROBIN или WEIGHTEDROUNDROBIN для выравнивания количества подключений между Реальными Серверами.

Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер.

set lbs TCP <имя> leastconn-param starttime <значение>
  • (опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию – NONE):

Алгоритм привязки пользователя может быть:

  • NONE – привязка не используется;

  • IPSOURCE – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя;

  • SSLSESSION – привязка пользователя к Реальному Серверу по идентификатору SSL-сессии, являющегося частью процесса установления соединения с выбранным сервером. Последующие запросы пользователя с данным идентификатором отправляются на ранее выбранный Реальный Сервер.

Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер.

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. Пользователь получил приложение, поработал с ним и отключился, но позже запросил доступ снова.

Если задано время ожидания, то:

  • в течение этого времени Termidesk Connect будет «помнить» о том, что пользователь ранее подключался к Реальному Серверу N;

  • если время ожидания не истекло и пользователь повторно запросил доступ, то Termidesk Connect перенаправит подключение пользователя на Реальный Сервер N.

  • (опционально) привязка Профиля сохранения сессий к Серверу Балансировки (см. подраздел Профили):

Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий.
set lbs TCP <имя> persistence-profile <имя_Профиля>
  • (опционально) привязка Клиентского SSL-Профиля к Серверу Балансировки (см. подраздел TLS):

set lbs TCP <имя> ssl-profile-id <имя_Профиля>
  • привязка Клиентского TCP-Профиля к Серверу Балансировки (см. подраздел Профили):

При добавлении Сервера Балансировки по умолчанию привязан Клиентский TCP-Профиль tcpp-client-default. Это Клиентский TCP-Профиль по умолчанию, который не может быть изменен или удален.
set lbs TCP <имя> tcp-profile-id <имя_Профиля>
  • активация или отключение режима подмены IP-адреса клиента (по умолчанию – false):

Режим подмены IP-адреса клиента работает следующим образом:

  • если режим активирован (true), то Termidesk Connect не будет подменять IP-адрес клиента. Следовательно, при взаимодействии с Реальным Серверов в источник запроса будет помещен IP-адрес клиента. При этом сетевой инфраструктурой должна обеспечиваться правильная обработка такого запроса: Реальный Сервер должен иметь возможность ответить на него;

  • если режим отключен (false), то Termidesk Connect подменяет IP-адрес источника (клиента) и взаимодействует с Реальным сервером со своего IP-адреса. При этом в Группе Реальных Серверов обязательно должен быть задан IP-Фонд (см. подраздел Группы Реальных Серверов).

Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от default, то настройка Группы Реальных Серверов осуществляется через IP-Фонд.

set lbs TCP <имя> use-cip <true/false>
  • (опционально) настройка функции перебалансировки:

    • разрешение или запрет перебалансировки. Перебалансировка (попытка выбрать другой Реальный Сервер) осуществляется в случае ошибки подключения к Реальному Серверу (по умолчанию – 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 <имя> rl-profile-id <имя_Профиля>
  • (опционально) задание комментария, который будет привязан к Серверу Балансировки:

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
set lbs TCP <имя> description <комментарий>
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml lbs TCP <имя>
  • просмотр выполненных команд:

show configuration cli lbs TCP <имя>

Создание и настройка Сервера Балансировки для протокола HTTP

Создание и настройка Сервера Балансировки выполняется выполняется одним из способов:

Для создания и настройки Сервера Балансировки используются команды:

Описание параметров также приведено в подразделе Объект lbs.

  • создание Сервера Балансировки:

set lbs HTTP <имя>
  • назначение Группы Реальных Серверов для Сервера Балансировки:

В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов.
set lbs HTTP <имя> rs-pool-id <имя>
  • указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию – 1):

Если Сервер Балансировки становится неактивным (переходит в статус «Отключен»), то в текущей версии Termidesk Connect подключение пользователя к Реальному Серверу будет сброшено.
set lbs HTTP <имя> min-rs <значение>
  • задание алгоритма балансировки (по умолчанию – LEASTCONN):

Алгоритм балансировки может быть:

  • ROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами, что обеспечивает их равномерное распределение;

  • LEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом количества текущих активных соединений на каждом Реальном Сервере. Для подключения пользователя выбирается Реальный Сервер с наименьшим количеством текущих активных соединений, что обеспечивает более равномерное распределение нагрузки и помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами пропорционально их Весу, что обеспечивает их равномерное распределение;

  • WEIGHTEDLEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения количества текущих активных соединений к Весу для каждого Реального Сервера, что помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDLEASTCONNECTTIME – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения наименьшего среднего времени соединения и количества текущих сессий к Весу для каждого Реального Сервера;

  • WEIGHTEDLEASTRESPONSETIME – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения наименьшего среднего времени соединения, наименьшим средним временем получения первого байта ответа и количества текущих сессий к Весу для каждого Реального Сервера;

  • RANDOM – для подключения пользователей в этом случае выбирается случайный Реальный Сервер;

  • POWEROFTWORANDOM – для подключения пользователей в этом случае выбирается Реальный Сервер с наименьшим числом соединений из двух Реальных Серверов, выбранных случайным образом.

set lbs HTTP <имя> algorithm <алгоритм>
  • при использовании алгоритмов LEASTCONN, WEIGHTEDLEASTCONN, WEIGHTEDLEASTCONNECTTIME, WEIGHTEDLEASTRESPONSETIME указывается время (в секундах), на которое производится смена алгоритмов на ROUNDROBIN и WEIGHTEDROUNDROBIN соответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию – 0):

Параметр starttime указывает, на какое время после изменения Группы Реальных Серверов Сервер Балансировки перейдет на работу по алгоритму ROUNDROBIN или WEIGHTEDROUNDROBIN для выравнивания количества подключений между Реальными Серверами.

Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер.

set lbs HTTP <имя> leastconn-param starttime <значение>
  • (опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию – NONE):

Алгоритм привязки пользователя может быть:

  • NONE – привязка не используется;

  • IPSOURCE – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя;

  • COOKIEINSERT – привязка по cookie, который помещается в HTTP-ответ, направляемый пользователю. Обеспечивает постоянство выбора Реального Сервера путем автоматической вставки cookie в HTTP-ответ. Последующие запросы пользователя с этим cookie перенаправляются на тот же Реальный Сервер. В случае, когда пользователь не сохраняет cookie в HTTP, его запросы не будут содержать cookie для отправки Termidesk Connect. Для такого пользователя данный метод привязки не подходит, требуется настройка альтернативного метода;

  • HEADER – привязка по значению заголовка, указанного в конфигурации. Этот алгоритм независим от TCP/IP параметров подключения;

  • COOKIE – привязка по cookie, который получен в ответе Реального Сервера. Значение cookie, указанного в конфигурации, записывается в персистентную таблицу. Последующие запросы пользователя с данным cookie отправляются на этот Реальный Сервер;

  • SSLSESSION – привязка пользователя к Реальному Серверу по идентификатору SSL-сессии, являющегося частью процесса установления соединения с выбранным сервером. Последующие запросы пользователя с данным идентификатором отправляются на ранее выбранный Реальный Сервер.

Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер.

COOKIEINSERT – это не табличный метод привязки, cookie не хранится в Termidesk Connect. Решение о выборе Реального Сервера принимается именно на основании данных, закодированных в cookie с информацией о Виртуальном Сервере, IP-адресе и порте Реального Сервера.

set lbs HTTP <имя> persistence algorithm <тип>

Пример: пользователь запросил доступ к приложению, а Termidesk Connect направил его на Реальный Сервер N. Пользователь получил приложение, поработал с ним и отключился, но позже запросил доступ снова.

Если задано время ожидания, то:

  • в течение этого времени Termidesk Connect будет «помнить» о том, что пользователь ранее подключался к Реальному Серверу N;

  • если время ожидания не истекло и пользователь повторно запросил доступ, то Termidesk Connect перенаправит подключение пользователя на Реальный Сервер N.

  • (опционально, если задан алгоритм IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60):

set lbs HTTP <имя> persistence ipsource-param timeout <значение>
  • (опционально, если задан алгоритм COOKIEINSERT) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60):

set lbs HTTP <имя> persistence ci-param timeout <значение>
  • (опционально, если задан алгоритм 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 <значение>
  • (опционально) привязка Профиля сохранения сессий к Серверу Балансировки (см. подраздел Профили):

Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий.
set lbs HTTP <имя> persistence-profile <имя_Профиля>
  • (опционально) привязка Клиентского SSL-Профиля к Серверу Балансировки (см. подраздел TLS):

set lbs HTTP <имя> ssl-profile-id <имя_Профиля>
  • привязка Клиентского HTTP-Профиля к Серверу Балансировки (см. подраздел Профили):

При добавлении Сервера Балансировки по умолчанию привязан Клиентский HTTP-Профиль httpp-client-default. Это преднастроенный Клиентский HTTP-Профиль, который не может быть изменен или удален.
set lbs HTTP <имя> http-profile-id <имя_Профиля>
  • привязка Клиентского TCP-Профиля к Серверу Балансировки (см. подраздел Профили):

При добавлении Сервера Балансировки по умолчанию привязан Клиентский TCP-Профиль tcpp-client-default. Это преднастроенный Клиентский TCP-Профиль, который не может быть изменен или удален.
set lbs HTTP <имя> tcp-profile-id <имя_Профиля>
  • активация или отключение режима подмены IP-адреса клиента (по умолчанию – false):

Режим подмены IP-адреса клиента работает следующим образом:

  • если режим активирован (true), то Termidesk Connect не будет подменять IP-адрес клиента. Следовательно, при взаимодействии с Реальным Серверов в источник запроса будет помещен IP-адрес клиента. При этом сетевой инфраструктурой должна обеспечиваться правильная обработка такого запроса: Реальный Сервер должен иметь возможность ответить на него;

  • если режим отключен (false), то Termidesk Connect подменяет IP-адрес источника (клиента) и взаимодействует с Реальным сервером со своего IP-адреса. При этом в Группе Реальных Серверов обязательно должен быть задан IP-Фонд (см. подраздел Группы Реальных Серверов).

Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от default, то настройка Группы Реальных Серверов осуществляется через IP-Фонд.

set lbs HTTP <имя> use-cip <true/false>
  • (опционально) задание Сценария (исполняемого файла формата 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 <значение>
  • (опционально) включение или отключение отслеживания состояния Сервера Балансировки для готовности узла к переходу в состояние ACTIVE (по умолчанию – false):

Описание параметров также приведено в подразделе Объект lbs.

Подробное описание условий переключения узлов отказоустойчивой конфигурации приведено в подразделе Отказоустойчивость.
set lbs HTTP <имя> ha-monitor <true/false>
set lbs HTTP <имя> rl-profile-id <имя_Профиля>
  • (опционально) задание комментария, который будет привязан к Серверу Балансировки:

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
set lbs HTTP <имя> description <комментарий>
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml lbs HTTP <имя>
  • просмотр выполненных команд:

show configuration cli lbs HTTP <имя>

Создание и настройка Сервера Балансировки для протокола RAPID-TCP

Создание и настройка Сервера Балансировки выполняется выполняется одним из способов:

Для создания и настройки Сервера Балансировки используются команды:

Описание параметров также приведено в подразделе Объект lbs.

Часть настроек выполняется аналогично Серверу Балансировки для протокола TCP.

  • создание Сервера Балансировки:

set lbs RAPID-TCP <имя>
  • назначение Группы Реальных Серверов для Сервера Балансировки:

В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов.
set lbs RAPID-TCP <имя> rs-pool-id <имя>
  • указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию – 1):

set lbs RAPID-TCP <имя> min-rs <значение>
  • задание алгоритма балансировки (по умолчанию – LEASTCONN):

Алгоритм балансировки может быть:

  • ROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами, что обеспечивает их равномерное распределение;

  • LEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом количества текущих активных соединений на каждом Реальном Сервере. Для подключения пользователя выбирается Реальный Сервер с наименьшим количеством текущих активных соединений, что обеспечивает более равномерное распределение нагрузки и помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами пропорционально их Весу, что обеспечивает их равномерное распределение;

  • WEIGHTEDLEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения количества текущих активных соединений к Весу для каждого Реального Сервера, что помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDLEASTCONNECTTIME – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения наименьшего среднего времени соединения и количества текущих сессий к Весу для каждого Реального Сервера;

  • RANDOM – для подключения пользователей в этом случае выбирается случайный Реальный Сервер;

  • POWEROFTWORANDOM – для подключения пользователей в этом случае выбирается Реальный Сервер с наименьшим числом соединений из двух Реальных Серверов, выбранных случайным образом.

set lbs RAPID-TCP <имя> algorithm <тип>
  • при использовании алгоритмов LEASTCONN, WEIGHTEDLEASTCONN, WEIGHTEDLEASTCONNECTTIME, указывается время (в секундах), на которое производится смена алгоритмов на ROUNDROBIN и WEIGHTEDROUNDROBIN соответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию – 0):

Параметр starttime указывает, на какое время после изменения Группы Реальных Серверов Сервер Балансировки перейдет на работу по алгоритму ROUNDROBIN или WEIGHTEDROUNDROBIN для выравнивания количества подключений между Реальными Серверами.

Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер.

set lbs RAPID-TCP <имя> leastconn-param starttime <значение>
  • (опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию – NONE):

Алгоритм привязки пользователя может быть:

  • NONE – привязка не используется;

  • IPSOURCE – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя.

Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер.

set lbs RAPID-TCP <имя> persistence algorithm <тип>
  • (опционально, если задан алгоритм IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60):

set lbs RAPID-TCP <имя> persistence ipsource-param timeout <значение>
  • активация или отключение режима сохранения IP-адреса из IP-Фонда для взаимодействия с Реальным Сервером (по умолчанию – false):

Режим сохранения IP-адреса из IP-Фонда работает следующим образом:

  • если режим активирован (true), то Termidesk Connect будет сохранять ранее выбранный IP-адрес из пула адресов IP-Фонда для взаимодействия с Реальным Сервером;

  • если режим отключен (false), то Termidesk Connect будет выбирать случайный IP-адрес из пула адресов IP-Фонда для взаимодействия с Реальным Сервером.

set lbs RAPID-TCP <имя> persistence ipsource-param ipset-src-persist <true/false>
  • задание времени жизни сессии (в секундах) после получения управляющего флага FIN в заголовке пакета (по умолчанию – 2):

set lbs RAPID-TCP <имя> fin-timeout <значение>
  • задание времени жизни сессии (в секундах) при бездействии, т.е. отсутствии пакетов (по умолчанию – 60):

set lbs RAPID-TCP <имя> connection-idle <значение>
  • активация или отключение режима подмены IP-адреса клиента (по умолчанию – false):

Режим подмены IP-адреса клиента работает следующим образом:

  • если режим активирован (true), то Termidesk Connect не будет подменять IP-адрес клиента. Следовательно, при взаимодействии с Реальным Серверов в источник запроса будет помещен IP-адрес клиента. При этом сетевой инфраструктурой должна обеспечиваться правильная обработка такого запроса: Реальный Сервер должен иметь возможность ответить на него;

  • если режим отключен (false), то Termidesk Connect подменяет IP-адрес источника (клиента) и взаимодействует с Реальным сервером со своего IP-адреса. При этом в Группе Реальных Серверов обязательно должен быть задан IP-Фонд (см. подраздел Группы Реальных Серверов).

Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от default, то настройка Группы Реальных Серверов осуществляется через IP-Фонд.

set lbs RAPID-TCP <имя> use-cip <true/false>
  • (опционально) задание режима работы Сервера Балансировки (по умолчанию – OFF):

Режим работы Сервера Балансировки может быть:

  • OFF – режим работы, при котором DSR отключен;

  • MAC – режим с подменой MAC-адресов (L2 DSR). В этом режиме IP-адреса во входящем пакете остаются неизменными, Termidesk Connect подменяет в пакете только MAC-адреса (MAC-адрес источника – Termidesk Connect, MAC-адрес назначения – Реальный Сервер) и отправляет этот пакет по MAC-адресам на сервер;

  • IPIP – режим (L3 DSR), при котором входящий пакет инкапсулируется в IPIP-туннель и направляется на Реальный Сервер. Далее Реальный Сервер декапсулирует IP-пакет и видит IP-адрес пользователя и IP-адрес Виртуального Сервера.

Описание режимов DSR представлено в подразделе Режим DSR.

set lbs RAPID-TCP <имя> dsr-mode <режим_работы>
  • задание параметров 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

Создание и настройка Сервера Балансировки выполняется выполняется одним из способов:

Для создания и настройки Сервера Балансировки используются команды:

Описание параметров также приведено в подразделе Объект lbs.

Часть настроек выполняется аналогично Серверу Балансировки для протокола TCP.

  • создание Сервера Балансировки:

set lbs RAPID-UDP <имя>
  • назначение Группы Реальных Серверов для Сервера Балансировки:

В текущей версии Termidesk Connect предполагается, что один Сервер Балансировки работает с одной группой Реальных Серверов.
set lbs RAPID-UDP <имя> rs-pool-id <имя>
  • указание минимального количества активных Реальных Серверов, при котором Сервер Балансировки также будет активен (по умолчанию – 1):

set lbs RAPID-UDP <имя> min-rs <значение>
  • задание алгоритма балансировки (по умолчанию – LEASTCONN):

Алгоритм балансировки может быть:

  • ROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами, что обеспечивает их равномерное распределение;

  • LEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом количества текущих активных соединений на каждом Реальном Сервере. Для подключения пользователя выбирается Реальный Сервер с наименьшим количеством текущих активных соединений, что обеспечивает более равномерное распределение нагрузки и помогает избежать перегрузки отдельных Реальных Серверов;

  • WEIGHTEDROUNDROBIN – подключения пользователей в этом случае распределяются последовательно между Реальными Серверами пропорционально их Весу, что обеспечивает их равномерное распределение;

  • WEIGHTEDLEASTCONN – подключения пользователей в этом случае распределяются оптимизировано, с учетом соотношения количества текущих активных соединений к Весу для каждого Реального Сервера, что помогает избежать перегрузки отдельных Реальных Серверов;

  • RANDOM – для подключения пользователей в этом случае выбирается случайный Реальный Сервер;

  • POWEROFTWORANDOM – для подключения пользователей в этом случае выбирается Реальный Сервер с наименьшим числом соединений из двух Реальных Серверов, выбранных случайным образом.

set lbs RAPID-UDP <имя> algorithm <тип>
  • при использовании алгоритмов LEASTCONN, WEIGHTEDLEASTCONN указывается время (в секундах), на которое производится смена алгоритмов на ROUNDROBIN и WEIGHTEDROUNDROBIN соответственно при изменении количества серверов с состоянием «В работе» в привязанной Группе Реальных Серверов (по умолчанию – 0):

Параметр starttime указывает, на какое время после изменения Группы Реальных Серверов Сервер Балансировки перейдет на работу по алгоритму ROUNDROBIN или WEIGHTEDROUNDROBIN для выравнивания количества подключений между Реальными Серверами.

Это позволяет исключить перегрузку Реального Сервера в случае, когда состав группы изменился (добавился новый узел), и все подключения пользователей были перенаправлены на новый Реальный Сервер.

set lbs RAPID-UDP <имя> leastconn-param starttime <значение>
  • (опционально) задание алгоритма привязки пользователя к Реальному Серверу на время активной сессии (по умолчанию – NONE):

Алгоритм привязки пользователя может быть:

  • NONE – привязка не используется;

  • IPSOURCE – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя.

Настройка привязки пользователя используется, когда нужно сохранить соединение пользователя на определенном Реальном Сервере. Это актуально, например, в электронной коммерции – Интернет-магазинах и др., чтобы алгоритмы балансировки не перенаправили пользователя на другой Реальный Сервер.

set lbs RAPID-UDP <имя> persistence algorithm <тип>
  • (опционально, если задан алгоритм IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60):

set lbs RAPID-UDP <имя> persistence ipsource-param timeout <значение>
  • активация или отключение режима сохранения IP-адреса из IP-Фонда для взаимодействия с Реальным Сервером (по умолчанию – false):

Режим сохранения IP-адреса из IP-Фонда работает следующим образом:

  • если режим активирован (true), то Termidesk Connect будет сохранять ранее выбранный IP-адрес из пула адресов IP-Фонда для взаимодействия с Реальным Сервером;

  • если режим отключен (false), то Termidesk Connect будет выбирать случайный IP-адрес из пула адресов IP-Фонда для взаимодействия с Реальным Сервером.

set lbs RAPID-UDP <имя> persistence ipsource-param ipset-src-persist <true/false>
  • задание времени жизни сессии (в секундах) при бездействии, т.е. отсутствии пакетов (по умолчанию – 60):

set lbs RAPID-UDP <имя> connection-idle <значение>
  • активация или отключение режима подмены IP-адреса клиента (по умолчанию – false):

Режим подмены IP-адреса клиента работает следующим образом:

  • если режим активирован (true), то Termidesk Connect не будет подменять IP-адрес клиента. Следовательно, при взаимодействии с Реальным Серверов в источник запроса будет помещен IP-адрес клиента. При этом сетевой инфраструктурой должна обеспечиваться правильная обработка такого запроса: Реальный Сервер должен иметь возможность ответить на него;

  • если режим отключен (false), то Termidesk Connect подменяет IP-адрес источника (клиента) и взаимодействует с Реальным сервером со своего IP-адреса. При этом в Группе Реальных Серверов обязательно должен быть задан IP-Фонд (см. подраздел Группы Реальных Серверов).

Если для сохранения клиентского IP-адреса необходимо использовать VRF, отличный от default, то настройка Группы Реальных Серверов осуществляется через IP-Фонд.

set lbs RAPID-UDP <имя> use-cip <true/false>
  • (опционально) задание режима работы Сервера Балансировки (по умолчанию – OFF):

Режим работы Сервера Балансировки может быть:

  • OFF – режим работы, при котором DSR отключен;

  • MAC – режим с подменой MAC-адресов (L2 DSR). В этом режиме IP-адреса во входящем пакете остаются неизменными, Termidesk Connect подменяет в пакете только MAC-адреса (MAC-адрес источника – Termidesk Connect, MAC-адрес назначения – Реальный Сервер) и отправляет этот пакет по MAC-адресам на сервер;

  • IPIP – режим (L3 DSR), при котором входящий пакет инкапсулируется в IPIP-туннель и направляется на Реальный Сервер. Далее Реальный Сервер декапсулирует IP-пакет и видит IP-адрес пользователя и IP-адрес Виртуального Сервера.

Описание режимов DSR представлено в подразделе Режим DSR.

set lbs RAPID-UDP <имя> dsr-mode <режим_работы>
  • задание параметров 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 <имя>