Балансировка нагрузки активных и пассивных служб FTP / TFTP и высокая доступность

Просмотр категорий

Балансировка нагрузки активных и пассивных служб FTP / TFTP и высокая доступность

7 min read

Обзор #

Ftp or Протокол пересылки файлов - это протокол прикладного уровня, широко используемый для передачи файлов в архитектуре клиент-сервер, основанной на сетевых уровнях TCP / IP. FTP - это сложный и простой (без учета безопасности) протокол, используемые порты согласовываются на уровне приложения между клиентом и сервером, поэтому немного сложно сбалансировать нагрузку или создать правила брандмауэра. Кроме того, FTP-сервер и клиент могут работать в активном или пассивном режимах, что может быть описано ниже.

Некоторые функции, которые обеспечивают FTP: TCP-порты 2 (по умолчанию 20, 21), один из которых используется для команд управления, а другой - для данных, поддержки механизма аутентификации, без поддержки шифрования, передачи ascii и двоичного кода, доступны широкие команды (просмотр каталога, просмотр каталога, загружать файлы, загружать файлы и т. д.) и присущую TCP-устойчивость.

TFTP or Тривиальный FTP Это вариант с более быстрой передачей файлов и более простой архитектурой, в которой используется только один порт UDP (по умолчанию 69), нет поддержки механизма шифрования или шифрования, доступны три режима передачи (netascii, octet и mail) и только основные команды, такие как загрузка и загрузка. файлы.

Службы FTP и TFTP могут быть легко сбалансированы с помощью RELIANOID Балансировщик нагрузки, Продолжайте читать, чтобы знать, как этого достичь.

Среда балансировки нагрузки FTP #

Сценарий, которого мы хотим достичь в этой статье, показан на диаграмме ниже.

Либо существует высокая степень параллелизма пользователей и требуется масштабировать службу, либо это критически важная служба, которая должна быть высокодоступной, потребуется балансировщик нагрузки службы FTP.

Конфигурация активного режима FTP #

An активный FTP установка потребует использования портов 20 и 21 на стороне серверов или бэкэндов. На рисунке ниже показано, как протекает соединение, когда требуется передача данных между клиентом и FTP-сервером.

active_ftp_client_server

В последовательности, показанной выше:
1. Клиент запрашивает сервер через порт 21 команда
2. Сервер подтверждает клиенту.
3. сервер инициирует подключение для передачи данных с использованием порта данных 20.
4. Клиент подтверждает серверу, что он закончил.

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

С RELIANOID Load Balancer, нам нужно добиться такой конфигурации, создав профиль фермы LSLB L4xNAT с портами. 20,21 и Ftp протокол, как показано на рисунке ниже, и, наконец, установите бэкэнды (не требуется для установки портов).

zevenet_adc_lb_active_ftp_configuration

Клиенты должны подключиться к VIP-адресу новой фермы FTP.

Примечание: Эта конфигурация сохраняется для использования как в активном, так и в пассивном режимах клиент / сервер.

Конфигурация пассивного режима FTP #

A пассивный FTP установка использует только порт 21 на стороне серверов или бэкэндов. На рисунке ниже показано, как протекает соединение, когда требуется передача данных между клиентом и FTP-сервером.

passive_ftp_client_server

В последовательности, показанной выше:
1. Клиент запрашивает сервер через порт 21 команда
2. Сервер подтверждает клиенту.
3. клиент инициирует подключение данных с использованием порта данных с высоким уровнем доступа к согласованному порту уровня приложения на стороне сервера.
4. Сервер уведомляет клиента о завершении.

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

С RELIANOID Load Balancer, нам нужно добиться такой конфигурации, создав профиль фермы LSLB L4xNAT с портом 21 и Ftp протокол, как показано на рисунке ниже, и, наконец, установите бэкэнды (не требуется для установки портов).

zevenet_adc_lb_passive_ftp_configuration

Клиенты должны подключиться к VIP-адресу новой фермы FTP.

Конфигурация TFTP #

Тривиальный FTP протоколы используются в основном во время PXE Среды (Preboot eXecution Environment), которые состоят из комбинации служб DHCP и TFTP, в которых десятки, сотни или даже тысячи компьютеров могут быть развернуты через сеть.

Основным поведением протокола будет:
1. Клиент запрашивает сервер через порт 69 команда «Запрос на чтение» (RRQ) или «Запрос на запись» (WRQ), включая файл и режим передачи.
2. Сервер подтверждает клиенту и уведомляет новый порт данных, который будет использоваться.
3. клиент инициирует подключение данных к согласованному порту прикладного уровня на стороне сервера.
4. Сервер подтверждает клиенту, когда последние байты 512 остаются.

В среде, где служба TFTP нуждается в масштабировании, конфигурация с RELIANOID 5 очень легко. Необходимо создать профиль фермы LSLB L4xNAT с портом 69 и TFTP протокол, как показано на рисунке ниже, и, наконец, установите бэкэнды (не требуется для установки портов).

zevenet_adc_lb_tftp_configuration

Клиенты должны подключиться к VIP-адресу новой фермы TFTP.

Безопасный FTP #

Чтобы решить проблему повышенной безопасности протокола FTP, SSH протокол передачи файлов или более известный как SFTP был разработан, чтобы обеспечить уровень безопасности. В этом сценарии FTP-серверы должны быть настроены как SFTP, и распределение нагрузки на них будет таким же простым, как создание LSLB с фермой профиля L4xNAT через порт по умолчанию 22 и протокол TCP как показано на скриншоте ниже. Наконец, просто добавьте серверные части службы SFTP.

zevenet_adc_lb_secure_ftp_sftp_configuration

Клиенты должны подключиться к VIP-адресу новой фермы TCP, которая обслуживает службу SFTP.

Расширенные проверки здоровья #

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

RELIANOID бытовая техника уже включает в себя check_ftp проверка работоспособности для FTP-сервисов, поэтому мы можем проверить работоспособность с помощью бэкенда:

root@noid:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org FTP OK — время ответа 0.262 секунды на порту 21 ftp.debian.org [220 FTP-сервер ftp.debian.org] |время=0.262090 с;;;0.000000;10.000000 

С другой стороны, при отключенном бэкэнде мы получим следующий результат:

root@noid:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org КРИТИЧЕСКИЙ — таймаут сокета через 10 секунд

Поэтому команда Farm Guardian для настройки в ферме FTP будет выглядеть так:

check_ftp -H ХОСТ

На вкладке «Службы» проверьте настройку Farm Guardian, как показано ниже. Для обеспечения правильного поведения серверной части было бы достаточно тайм-аута в секундах 60.

zevenet_active_passive_ftp_farm_guardian_advanced_health_check_config

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

Если же линия индикатора check_tftp расширенная проверка еще не существует в RELIANOID устройства, мы можем создать простой сценарий проверки работоспособности, как описано ниже, для наших служб TFTP.

Во-первых, создайте фиктивный файл в вашем каталоге TFTP, например tftp_relianoid_check.txt, и добавьте контент, например «ОК».

Тогда в вашем RELIANOID Устройство установит клиент tftp, выполнив следующую команду:

apt-get установить tftp

Затем создайте новый файл сценария в папке RELIANOID каталог проверки работоспособности по умолчанию, например /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh со следующим кодом скрипта:

#!/bin/bash ### ### Проверка служб TFTP ### Copyright 2017 – настоящее время RELIANOID SL ### ### $1 : Хост для проверки CRITICAL=1 OK=0 RESULT=$(echo get tftp_relianoid_check.txt | tftp $1 2>&1 | head -n 1) echo "Состояние проверки работоспособности TFTP для $1 - $RESULT" if [ "`echo $RESULT | grep Received`" != "" ]; then exit $OK else exit $CRITICAL fi

Затем назначьте разрешения на выполнение с помощью команды:

root@noid:/# chmod 755 /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh

Если мы попытаемся выполнить скрипт, мы получим сообщение об успешном завершении работы и правильной настройки серверной части:

root@noid:/usr/local/zenloadbalancer/app/libexec# ./tftp_check.sh 192.168.101.250 Статус проверки работоспособности TFTP для 192.168.101.250: tftp> Получено 4 байта за 0.0 секунды

или ошибка, когда сервер не работает:

root@noid:/usr/local/zenloadbalancer/app/libexec# ./tftp_check.sh 192.168.101.250 Статус проверки работоспособности TFTP для 192.168.101.254: tftp> Время ожидания передачи истекло.

Наконец, настройте проверку работоспособности в ферме TFTP, в том числе в команде токен HOST.

check_mytftp.sh ХОСТ

На вкладке «Службы» проверьте настройку Farm Guardian, как показано ниже. Для обеспечения правильного поведения серверной части было бы достаточно тайм-аута в секундах 60.

zevenet_tftp_farm_guardian_advanced_health_check_config

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

Как уже есть в наличии проверка здоровья check_sshМы можем использовать его напрямую. Поэтому команда Farm Guardian для настройки в ферме SFTP будет выглядеть следующим образом:

check_ssh ХОСТ

Затем конфигурация будет отображаться, как показано на следующем снимке экрана.

zevenet_ssh_sftp_farm_guardian_advanced_health_check_config

Наслаждайтесь высокой доступностью и масштабируемой передачей файлов!

📄 Загрузите этот документ в формате PDF #

    EMAIL: *

    Powered by BetterDocs