Indhold
Oversigt
FTP or File Transfer Protocol er en applikationslagsprotokol, der er meget brugt til filoverførsel i et klientserver-arkitekturdesign, der er afhængig af TCP / IP-netværkslag. FTP er en kompleks og almindelig (ingen sikkerhedsbevidst) protokol, hvilke anvendte porte forhandles på applikationslag mellem klienten og serveren, så det er lidt svært at indlæse balance eller oprette firewallregler. Derudover kan FTP-server og klient opføre sig i aktive eller passive tilstande, hvilket kan beskrives nedenfor.
Nogle funktioner, der leverer FTP, er: 2 TCP-porte (20, 21 som standard) bruges til kontrolkommandoer og en anden til data-, godkendelsesmekanismer, ingen ciphering-support, ascii og binær overførsel, tilgængelige brede kommandoer (katalogoversigt, uploade filer, downloade filer osv.) og iboende TCP-modstandsdygtighed.
TFTP or Trivial FTP er en variation med et hurtigere filoverførende og enklere arkitekturdesign, der kun bruger en UDP-port (69 som standard), ingen godkendelsesmekanismer understøttelse eller kryptering, tre overføringsmåder til rådighed (netascii, octet og mail) og kun grundlæggende kommandoer som upload og download filer.
Både FTP og TFTP-tjenester kan belastes let afbalanceret med Zevenet Load Balancer. Fortsæt læsning for at vide, hvordan man opnår det.
FTP belastningsbalanceringsmiljø
Scenariet, som vi vil opnå i denne artikel, er vist i diagrammet nedenfor.
Enten er der en høj samtidighed af brugere, og det kræves at skalere tjenesten, eller det er en kritisk tjeneste, der skal være høj tilgængelig, en FTP-servicebelastningsafbalancering er nødvendig.
Aktiv FTP-tilstandskonfiguration
An aktiv FTP setup vil kræve at bruge portene 20 21 i serverne eller bagsiden. Billedet nedenfor viser, hvordan forbindelsen flyder, når en data skal overføres mellem en klient og en FTP-server.
I sekvensen vist ovenfor:
1. Klienten beder om serveren via porten 21 en kommando.
2. Serveren anerkender klienten.
3. server initierer dataforbindelsen ved hjælp af dataporten 20.
4. Klienten kvitterer overfor serveren, når den er færdig.
På dette tidspunkt skal vi indstille en belastningsafbalancering mellem både klient og server og tager os derefter af trafikstrømme, initialisering af forbindelser og portaftaler mellem klient og server.
Med Zevenet Load Balancer skal vi opnå denne form for konfiguration ved at skabe en LSLB-gårdsprofil L4xNAT med porte 20,21 FTP protokol, som det er vist på billedet nedenfor, og indstil endelig backenderne (kræves ikke for at indstille porte).
Klienterne skal oprette forbindelse til VIP-adressen på den nye FTP-bedrift.
Bemærk: Denne konfiguration er gem som skal bruges til både aktive og passive klient / server-tilstande.
Passiv FTP-tilstandskonfiguration
A passiv FTP opsætningen bruger kun porten 21 i serverne eller bagsiden. Billedet nedenfor viser, hvordan forbindelsen flyder, når en data skal overføres mellem en klient og en FTP-server.
I sekvensen vist ovenfor:
1. Klienten beder om serveren via porten 21 en kommando.
2. Serveren anerkender klienten.
3. klient initiativer dataforbindelsen ved hjælp af en høj dataport til et applikationslag aftalt port på server side.
4. Serveren kvitterer over for klienten, når den er færdig.
På dette tidspunkt skal vi indstille en belastningsafbalancering mellem både klient og server og tager os derefter af trafikstrømme, initialisering af forbindelser og portaftaler mellem klient og server.
Med Zevenet Load Balancer skal vi opnå denne form for konfiguration ved at skabe en LSLB-gårdsprofil L4xNAT med porten 21 FTP protokol, som det er vist på billedet nedenfor, og indstil endelig backenderne (kræves ikke for at indstille porte).
Klienterne skal oprette forbindelse til VIP-adressen på den nye FTP-bedrift.
TFTP-konfiguration
Trivial FTP protokoller anvendes hovedsageligt under PXE (Preboot eXecution Environment) miljøer, der er sammensat af en kombination af DHCP- og TFTP-tjenester, hvor tiere, hundredvis eller endda tusindvis af computere kan implementeres via netværket.
Hovedprotokoladfærden ville være:
1. Klienten beder om serveren via porten 69 en Read Request (RRQ) eller Write Request (WRQ) kommando, herunder filen og overføringsfunktionen.
2. Serveren anerkender klienten og meddeler den nye dataport, der skal bruges.
3. klient initiativer dataforbindelsen til et applikationslag aftalt port på server side.
4. Serveren anerkender klienten, når de seneste 512 bytes er tilbage.
I et miljø, hvor TFTP-tjenesten skal skaleres, er konfigurationen med Zevenet 5 meget let. Det er nødvendigt at oprette en LSLB-gårdsprofil L4xNAT med porten 69 TFTP protokol, som det er vist på billedet nedenfor, og indstil endelig backenderne (kræves ikke for at indstille porte).
Klienterne skal oprette forbindelse til VIP-adressen på den nye TFTP-gård.
Sikker FTP
For at løse den forbedrede sikkerhed for FTP-protokollen, skal SSH File Transfer Protocol eller bedre kendt som SFTP var designet til at give et sikkerhedslag. I dette scenario skal FTP-serverne konfigureres som SFTP, og belastningsbalanceringen af dem ville være lige så nemt som at oprette en LSLB med L4xNAT-profil gård over standardporten 22 og protokol TCP som det er vist på skærmbilledet nedenfor. Endelig skal du blot tilføje dine SFTP-tjenestebagend.
Klienterne skal oprette forbindelse til VIP-adressen på den nye TCP-gård, der tjener en SFTP-tjeneste.
Avanceret sundhedskontrol
FTP sundhedskontrol
Zevenet apparater omfatter allerede check_ftp sundhedskontrol for FTP-tjenester, så vi kan teste sundhedskontrollen med en opbakning:
root@zevenet:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org FTP OK - 0.262 second response time on ftp.debian.org port 21 [220 ftp.debian.org FTP server]|time=0.262090s;;;0.000000;10.000000
På den anden side får vi en output med en down backend:
root@zevenet:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org CRITICAL - Socket timeout after 10 seconds
Så kommandoen for gårdsbevægelsen til at konfigurere i FTP-gården ville være:
check_ftp -H HOST
På fanen Services skal du sikre, at Farm Guard er konfigureret som vist nedenfor. En timeout på 60 sekunder ville være nok til at sikre en korrekt udførelse af en backend.
TFTP sundhedskontrol
Hvis check_tftp avanceret kontrol findes ikke allerede i Zevenet-apparatet, vi kan oprette et let sundhedstjekkscript som beskrevet nedenfor for vores TFTP-tjenester.
For det første skal du oprette en dummy-fil i din TFTP-backend-mappe, for eksempel tftp_zevenet_check.txt, og tilføj noget indhold, for eksempel “OK”.
Derefter skal du installere tftp-klienten i din Zevenet-apparat ved at udføre følgende kommando:
apt-get install tftp
Og så skal du oprette en ny scriptfil i Zevenet Health Check Standard Directory, for eksempel /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh med følgende script kode:
#!/bin/bash ### ### Check TFTP services ### Copyright 2017-now Zevenet SL ### ### $1 : Host to be checked CRITICAL=1 OK=0 RESULT=$(echo get tftp_zevenet_check.txt | tftp $1 2>&1 | head -n 1) echo "TFTP health check status for $1 is $RESULT" if [ "`echo $RESULT | grep Received`" != "" ]; then exit $OK else exit $CRITICAL fi
Derefter tildele udførelsesrettigheder med kommandoen:
root@zevenet:/# chmod 755 /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh
Hvis vi forsøger at udføre scriptet, får vi en vellykket besked, når backend er oppe og godt konfigureret:
root@zevenet:/usr/local/zenloadbalancer/app/libexec# ./tftp_check.sh 192.168.101.250 TFTP health check status for 192.168.101.250 is tftp> Received 4 bytes in 0.0 seconds
eller en fejl, når bagsiden er nede:
root@zevenet:/usr/local/zenloadbalancer/app/libexec# ./tftp_check.sh 192.168.101.250 TFTP health check status for 192.168.101.254 is tftp> Transfer timed out.
Endelig konfigurere sundhedskontrollen i TFTP-gården, herunder i kommandoen HOST-token.
check_mytftp.sh HOST
På fanen Services skal du sikre, at Farm Guard er konfigureret som vist nedenfor. En timeout på 60 sekunder ville være nok til at sikre en korrekt udførelse af en backend.
SFTP sundhedskontrol
Da der allerede er adgang til sundhedskontrollen check_ssh, vi kan bruge det direkte. Så kommandoen for gårdsbevægelsen til at konfigurere i SFTP-gården ville være som følger:
check_ssh HOST
Derefter ville konfigurationen blive vist, som den er vist i følgende skærmbillede.
Nyd din høje tilgængelige og skalerbare filoverførsel!