Layanan FTP / TFTP aktif dan pasif load balancing dan ketersediaan tinggi

DIKIRIM PADA 16 Agustus 2017

Pengantar

FTP or File Transfer Protocol adalah protokol lapisan aplikasi yang banyak digunakan untuk mentransfer file dalam desain arsitektur klien-server yang bergantung pada lapisan jaringan TCP / IP. FTP adalah protokol yang kompleks dan sederhana (tidak sadar keamanan) yang port yang digunakan dinegosiasikan di lapisan aplikasi antara klien dan server, sehingga agak sulit untuk memuat keseimbangan atau membuat aturan firewall. Selain itu, server FTP dan klien dapat berperilaku dalam mode aktif atau pasif, yang dapat dijelaskan di bawah ini.

Beberapa fitur yang menyediakan FTP adalah: 2 TCP ports (20, 21 secara default) menggunakan satu untuk perintah kontrol dan lainnya untuk data, dukungan mekanisme otentikasi, tidak ada dukungan ciphering, ascii dan transfer biner, perintah luas yang tersedia (daftar direktori, penelusuran direktori, unggah file, unduh file, dll.) dan ketahanan TCP bawaan.

TFTP or FTP sepele adalah variasi dengan transfer file yang lebih cepat dan desain arsitektur sederhana yang hanya menggunakan satu port UDP (69 secara default), tidak ada mekanisme otentikasi yang mendukung atau mengacak, tiga mode transfer tersedia (netascii, octet dan mail) dan hanya perintah dasar seperti mengunggah dan mengunduh file.

Layanan FTP dan TFTP dapat di-load dengan mudah Zevenet Load Balancer. Teruslah membaca untuk mengetahui bagaimana mencapainya.

Lingkungan penyeimbangan beban FTP

Skenario yang ingin kita capai dalam artikel ini ditunjukkan pada diagram di bawah ini.

Entah ada konkurensi pengguna yang tinggi dan diperlukan untuk menskalakan layanan atau layanan kritis yang harus tersedia tinggi, penyeimbang beban layanan FTP akan diperlukan.

Konfigurasi Mode FTP Aktif

An FTP aktif pengaturan akan perlu menggunakan porta 20 serta 21 di sisi server atau backends. Gambar di bawah ini menunjukkan bagaimana koneksi mengalir ketika data harus ditransfer antara klien dan server FTP.

active_ftp_client_server

Dalam urutan yang ditunjukkan di atas:
1. Klien meminta ke server melalui port 21 sebuah perintah.
2. Server mengakui ke klien.
3. The inisiat server koneksi data menggunakan port data 20.
4. Klien mengakui ke server setelah selesai.

Pada titik ini, kita telah menyiapkan penyeimbang beban antara klien dan server, lalu menangani arus lalu lintas, penginisialisasi koneksi, dan perjanjian port antara klien dan server.

Dengan Zevenet Load Balancer, kami telah mencapai konfigurasi semacam ini dengan membuat profil pertanian LSLB L4xNAT dengan port 20,21 serta FTP protokol, seperti yang ditunjukkan pada gambar di bawah, dan akhirnya mengatur backend (tidak diperlukan untuk mengatur port).

konfigurasi zevenet_adc_lb_active_ftp_

Klien harus terhubung ke alamat VIP dari farm FTP baru.

Catatan: Konfigurasi ini disimpan untuk digunakan untuk mode klien / server aktif dan pasif.

Konfigurasi Mode FTP Pasif

A FTP pasif pengaturan hanya menggunakan porta 21 di sisi server atau backends. Gambar di bawah ini menunjukkan bagaimana koneksi mengalir ketika data harus ditransfer antara klien dan server FTP.

passive_ftp_client_server

Dalam urutan yang ditunjukkan di atas:
1. Klien meminta ke server melalui port 21 sebuah perintah.
2. Server mengakui ke klien.
3. The klien memulai koneksi data menggunakan port data tinggi ke lapisan aplikasi yang disetujui port di sisi server.
4. Server mengakui ke klien setelah selesai.

Pada titik ini, kita telah menyiapkan penyeimbang beban antara klien dan server, lalu menangani arus lalu lintas, penginisialisasi koneksi, dan perjanjian port antara klien dan server.

Dengan Zevenet Load Balancer, kami telah mencapai konfigurasi semacam ini dengan membuat profil pertanian LSLB L4xNAT dengan port 21 serta FTP protokol, seperti yang ditunjukkan pada gambar di bawah, dan akhirnya mengatur backend (tidak diperlukan untuk mengatur port).

konfigurasi zevenet_adc_lb_passive_ftp_

Klien harus terhubung ke alamat VIP dari farm FTP baru.

Konfigurasi TFTP

FTP sepele protokol digunakan terutama selama PXE (Preboot eXecution Environment) lingkungan yang disusun oleh kombinasi layanan DHCP dan TFTP, di mana puluhan, ratusan atau bahkan ribuan komputer dapat digunakan melalui jaringan.

Perilaku protokol utama adalah:
1. Klien meminta ke server melalui port 69 perintah Baca Permintaan (RRQ) atau Permintaan Tulis (WRQ) termasuk file dan mode transfer.
2. Server mengakui ke klien dan memberi tahu port data baru yang akan digunakan.
3. The klien memulai koneksi data ke lapisan aplikasi menyetujui port di sisi server.
4. Server mengakui kepada klien ketika byte 512 terbaru tersisa.

Dalam lingkungan di mana layanan TFTP perlu diskalakan, konfigurasi dengan Zevenet 5 sangat mudah. Diperlukan untuk membuat profil pertanian LSLB L4xNAT dengan port 69 serta TFTP protokol, seperti yang ditunjukkan pada gambar di bawah, dan akhirnya mengatur backend (tidak diperlukan untuk mengatur port).

konfigurasi zevenet_adc_lb_tftp_configuration

Klien harus terhubung ke alamat VIP tambak TFTP baru.

FTP yang aman

Untuk memecahkan peningkatan keamanan protokol FTP, Protokol Transfer File SSH atau lebih dikenal dengan SFTP dirancang untuk memberikan lapisan keamanan. Dalam skenario itu, server FTP harus dikonfigurasikan sebagai SFTP dan penyeimbangan bebannya semudah membuat LSLB dengan profil farm L4xNAT melalui port default 22 dan protokol TCP seperti yang ditunjukkan pada gambar di bawah. Terakhir, tambahkan saja backend layanan SFTP Anda.

konfigurasi zevenet_adc_lb_secure_ftp_sftp_configuration

Klien harus terhubung ke alamat VIP tambak TCP baru, yang melayani layanan SFTP.

Pemeriksaan kesehatan tingkat lanjut

Pemeriksaan kesehatan FTP

Peralatan Zevenet sudah termasuk check_ftp pemeriksaan kesehatan untuk layanan FTP, sehingga kami dapat menguji pemeriksaan kesehatan dengan backend:

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 

Dengan sisi lain, dengan backend bawah kita akan mendapatkan output berikut:

root@zevenet:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org
CRITICAL - Socket timeout after 10 seconds

Jadi perintah Farm Guardian untuk mengonfigurasi di FTP farm adalah:

check_ftp -H HOST

Di tab Layanan pastikan konfigurasi Farm Guardian seperti yang ditunjukkan di bawah ini. Waktu tunggu 60 detik akan cukup untuk memastikan perilaku backend yang benar.

zevenet_active_passive_ftp_farm_guardian_advanced_health_check_config

Pemeriksaan kesehatan TFTP

Jika check_tftp pemeriksaan lanjutan belum ada di alat Zevenet, kami dapat membuat skrip pemeriksaan kesehatan yang mudah seperti yang dijelaskan di bawah ini untuk layanan TFTP kami.

Pertama, buat file dummy di direktori backend TFTP Anda, misalnya tftp_zevenet_check.txt, dan tambahkan beberapa konten, misalnya "OK".

Kemudian, di alat Zevenet Anda, instal klien tftp dengan menjalankan perintah berikut:

apt-get install tftp

Dan kemudian, buat file skrip baru di direktori pemeriksaan kesehatan Zevenet, misalnya /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh dengan kode skrip berikut:

#!/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

Lalu, tetapkan izin eksekusi dengan perintah:

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

Jika kami mencoba menjalankan skrip, kami akan mendapatkan pesan berhasil saat backend sudah aktif dan dikonfigurasi dengan baik:

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

atau kesalahan saat backend turun:

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.

Terakhir, konfigurasikan pemeriksaan kesehatan di tambak TFTP, termasuk dalam perintah token HOST.

check_mytftp.sh HOST

Di tab Layanan pastikan konfigurasi Farm Guardian seperti yang ditunjukkan di bawah ini. Waktu tunggu 60 detik akan cukup untuk memastikan perilaku backend yang benar.

zevenet_tftp_farm_guardian_advanced_health_check_config

Pemeriksaan kesehatan SFTP

Karena sudah tersedia pemeriksaan kesehatan check_ssh, kita bisa menggunakannya secara langsung. Jadi perintah Farm Guardian untuk mengonfigurasi di farm SFTP adalah sebagai berikut:

check_ssh HOST

Kemudian, konfigurasi akan ditampilkan seperti yang ditunjukkan pada tangkapan layar berikut.

zevenet_ssh_sftp_farm_guardian_advanced_health_check_config

Nikmati transfer file tersedia dan terukur tinggi Anda!

Bagikan ke:

Dokumentasi di bawah ketentuan Lisensi Dokumentasi Bebas GNU.

Apakah artikel ini berguna?

Artikel terkait