Обзор #
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-сервером.
В последовательности, показанной выше:
1. Клиент запрашивает сервер через порт 21 команда
2. Сервер подтверждает клиенту.
3. сервер инициирует подключение для передачи данных с использованием порта данных 20.
4. Клиент подтверждает серверу, что он закончил.
На этом этапе мы должны настроить балансировщик нагрузки между клиентом и сервером, а затем позаботиться о потоках трафика, инициализаторах соединений и соглашениях о портах между клиентом и сервером.
С RELIANOID Load Balancer, нам нужно добиться такой конфигурации, создав профиль фермы LSLB L4xNAT с портами. 20,21 и Ftp протокол, как показано на рисунке ниже, и, наконец, установите бэкэнды (не требуется для установки портов).
Клиенты должны подключиться к VIP-адресу новой фермы FTP.
Примечание: Эта конфигурация сохраняется для использования как в активном, так и в пассивном режимах клиент / сервер.
Конфигурация пассивного режима FTP #
A пассивный FTP установка использует только порт 21 на стороне серверов или бэкэндов. На рисунке ниже показано, как протекает соединение, когда требуется передача данных между клиентом и FTP-сервером.
В последовательности, показанной выше:
1. Клиент запрашивает сервер через порт 21 команда
2. Сервер подтверждает клиенту.
3. клиент инициирует подключение данных с использованием порта данных с высоким уровнем доступа к согласованному порту уровня приложения на стороне сервера.
4. Сервер уведомляет клиента о завершении.
На этом этапе мы должны настроить балансировщик нагрузки между клиентом и сервером, а затем позаботиться о потоках трафика, инициализаторах соединений и соглашениях о портах между клиентом и сервером.
С RELIANOID Load Balancer, нам нужно добиться такой конфигурации, создав профиль фермы LSLB L4xNAT с портом 21 и Ftp протокол, как показано на рисунке ниже, и, наконец, установите бэкэнды (не требуется для установки портов).
Клиенты должны подключиться к 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 протокол, как показано на рисунке ниже, и, наконец, установите бэкэнды (не требуется для установки портов).
Клиенты должны подключиться к VIP-адресу новой фермы TFTP.
Безопасный FTP #
Чтобы решить проблему повышенной безопасности протокола FTP, SSH протокол передачи файлов или более известный как SFTP был разработан, чтобы обеспечить уровень безопасности. В этом сценарии FTP-серверы должны быть настроены как SFTP, и распределение нагрузки на них будет таким же простым, как создание LSLB с фермой профиля L4xNAT через порт по умолчанию 22 и протокол TCP как показано на скриншоте ниже. Наконец, просто добавьте серверные части службы SFTP.
Клиенты должны подключиться к 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.
Проверка работоспособности 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.
Проверка работоспособности SFTP #
Как уже есть в наличии проверка здоровья check_sshМы можем использовать его напрямую. Поэтому команда Farm Guardian для настройки в ферме SFTP будет выглядеть следующим образом:
check_ssh ХОСТ
Затем конфигурация будет отображаться, как показано на следующем снимке экрана.
Наслаждайтесь высокой доступностью и масштабируемой передачей файлов!









