Ringkasan #
FTP atau File Transfer Protocol adalah protokol lapisan aplikasi yang banyak digunakan untuk transfer file dalam desain arsitektur klien-server yang bergantung pada lapisan jaringan TCP/IP. FTP adalah protokol yang kompleks dan sederhana (tidak memperhatikan keamanan) di mana port yang digunakan dinegosiasikan pada lapisan aplikasi antara klien dan server, sehingga agak sulit untuk melakukan load balancing atau membuat aturan firewall. Selain itu, server dan klien FTP dapat berperilaku dalam mode aktif atau pasif, yang dapat dijelaskan di bawah ini.
Beberapa fitur yang disediakan FTP adalah: 2 port TCP (20, 21 secara default) digunakan satu untuk perintah kontrol dan satu lagi untuk data, dukungan mekanisme otentikasi, tidak ada dukungan ciphering, transfer ascii dan biner, tersedia perintah luas (daftar direktori, penelusuran direktori, mengunggah file, mengunduh file, dll.) dan ketahanan TCP yang melekat.
TFTP atau Trivial FTP adalah variasi dengan transfer file yang lebih cepat dan desain arsitektur yang lebih sederhana yang hanya menggunakan satu port UDP (69 secara default), tanpa dukungan mekanisme otentikasi atau enkripsi, tiga mode transfer yang tersedia (netascii, octet, dan mail) dan hanya perintah dasar seperti mengunggah dan mengunduh file.
Layanan FTP dan TFTP dapat diseimbangkan dengan mudah RELIANOID Load Balancer. Teruslah membaca untuk mengetahui cara mencapainya.
Lingkungan penyeimbangan beban FTP #
Skenario yang ingin kami capai dalam artikel ini ditunjukkan pada diagram di bawah.
Entah terdapat konkurensi pengguna yang tinggi dan diperlukan penskalaan layanan atau layanan penting yang harus tersedia tinggi, penyeimbang beban layanan FTP akan diperlukan.
Konfigurasi Mode FTP Aktif #
Pengaturan FTP aktif akan memerlukan penggunaan port 20 dan 21 di sisi server atau backend. Gambar di bawah menunjukkan bagaimana alur koneksi ketika data perlu ditransfer antara klien dan server FTP.
Dalam urutan yang ditunjukkan di atas:
1. Klien meminta ke server melalui port 21 sebuah perintah.
2. Server mengakui kepada klien.
3. The server dimulai koneksi data menggunakan port data 20.
4. Klien memberi tahu server ketika sudah selesai.
Pada titik ini, kita telah menyiapkan penyeimbang beban antara klien dan server dan kemudian menangani arus lalu lintas, penginisialisasi koneksi, dan perjanjian port antara klien dan server.
Dengan RELIANOID Load Balancer, kita harus mencapai konfigurasi seperti ini dengan membuat profil farm LSLB L4xNAT dengan port 20,21 ke FTP protokol, seperti yang ditunjukkan pada gambar di bawah, dan terakhir atur backend (tidak perlu mengatur port).
Klien harus terhubung ke alamat VIP dari FTP farm baru.
Catatan: Konfigurasi ini aman digunakan untuk mode klien/server aktif maupun pasif.
Konfigurasi Mode FTP Pasif #
Pengaturan FTP pasif hanya menggunakan port 21 di sisi server atau backend. Gambar di bawah menunjukkan bagaimana alur koneksi ketika data perlu ditransfer antara klien dan server FTP.
Dalam urutan yang ditunjukkan di atas:
1. Klien meminta ke server melalui port 21 sebuah perintah.
2. Server mengakui kepada klien.
3. The klien memulai koneksi data menggunakan port data tinggi ke lapisan aplikasi yang menyetujui port di sisi server.
4. Server memberi tahu klien jika sudah selesai.
Pada titik ini, kita telah menyiapkan penyeimbang beban antara klien dan server dan kemudian menangani arus lalu lintas, penginisialisasi koneksi, dan perjanjian port antara klien dan server.
Dengan RELIANOID Load Balancer, kita harus mencapai konfigurasi seperti ini dengan membuat profil farm LSLB L4xNAT dengan port 21 ke FTP protokol, seperti yang ditunjukkan pada gambar di bawah, dan terakhir atur backend (tidak perlu mengatur port).
Klien harus terhubung ke alamat VIP dari FTP farm baru.
Konfigurasi TFTP #
Protokol FTP sederhana terutama digunakan dalam lingkungan PXE (Preboot eXecution Environment) yang terdiri dari kombinasi layanan DHCP dan TFTP, di mana puluhan, ratusan, atau bahkan ribuan komputer dapat dikerahkan melalui jaringan.
Perilaku protokol utama adalah:
1. Klien meminta ke server melalui port 69 perintah Permintaan Baca (RRQ) atau Permintaan Tulis (WRQ) termasuk mode file dan transfer.
2. Server mengakui kepada klien dan memberitahukan port data baru yang akan digunakan.
3. The klien memulai koneksi data ke port yang disetujui lapisan aplikasi di sisi server.
4. Server memberitahu klien ketika 512 byte terakhir tersisa.
Dalam lingkungan di mana layanan TFTP perlu ditingkatkan, konfigurasi dengan RELIANOID 5 sangat mudah. Diperlukan untuk membuat profil pertanian LSLB L4xNAT dengan port 69 ke TFTP protokol, seperti yang ditunjukkan pada gambar di bawah, dan terakhir atur backend (tidak perlu mengatur port).
Klien harus terhubung ke alamat VIP dari peternakan TFTP baru.
FTP yang aman #
Untuk mengatasi masalah peningkatan keamanan protokol FTP, Protokol Transfer File SSH atau yang lebih dikenal sebagai SFTP dirancang untuk menyediakan lapisan keamanan. Dalam skenario tersebut, server FTP harus dikonfigurasi sebagai SFTP dan penyeimbangan beban (load balancing) akan semudah membuat LSLB dengan farm profil L4xNAT melalui port default 22 dan protokol TCP seperti yang ditunjukkan pada tangkapan layar di bawah ini. Terakhir, cukup tambahkan backend layanan SFTP Anda.
Klien harus terhubung ke alamat VIP dari farm TCP baru, yang melayani layanan SFTP.
Pemeriksaan kesehatan tingkat lanjut #
Pemeriksaan kesehatan FTP #
RELIANOID peralatan sudah termasuk periksa_ftp health check untuk layanan FTP, sehingga kita dapat menguji health check dengan up backend:
root@noid:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org FTP OK - waktu respons 0.262 detik pada port ftp.debian.org 21 [server FTP 220 ftp.debian.org] |waktu=0.262090 detik;;;0.000000;10.000000
Di sisi lain, dengan backend bawah kita akan mendapatkan output berikut:
root@noid:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org KRITIS - Batas waktu soket habis setelah 10 detik
Jadi perintah Farm Guardian untuk mengkonfigurasi di peternakan FTP adalah:
check_ftp -H HOST
Pada tab Services pastikan konfigurasi Farm Guardian seperti gambar di bawah ini. Batas waktu 60 detik sudah cukup untuk memastikan perilaku backend yang benar.
Pemeriksaan kesehatan TFTP #
Jika periksa_tftp pemeriksaan lanjutan belum ada di RELIANOID alat, kita dapat membuat skrip pemeriksaan kesehatan yang mudah seperti dijelaskan di bawah ini untuk layanan TFTP kami.
Pertama, buat file dummy di direktori backend TFTP Anda, misalnya tftp_relianoid_check.txt , dan tambahkan beberapa konten, misalnya “OK”.
Lalu, di milikmu RELIANOID alat menginstal klien tftp dengan menjalankan perintah berikut:
apt-get instal tftp
Dan kemudian, buat file skrip baru di RELIANOID direktori default pemeriksaan kesehatan, misalnya /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh dengan kode skrip berikut:
#!/bin/bash ### ### Periksa layanan TFTP ### Hak Cipta 2017-sekarang RELIANOID SL ### ### $1 : Host yang akan diperiksa CRITICAL=1 OK=0 RESULT=$(echo get tftp_relianoid_check.txt | tftp $1 2>&1 | head -n 1) echo "Status pemeriksaan kesehatan TFTP untuk $1 adalah $RESULT" if [ "`echo $RESULT | grep Received`" != "" ]; then exit $OK else exit $CRITICAL fi
Kemudian, tetapkan izin eksekusi dengan perintah:
root@noid:/# chmod 755 /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh
Jika kami mencoba menjalankan skrip, kami akan mendapatkan pesan berhasil ketika backend sudah aktif dan dikonfigurasi dengan baik:
root@noid:/usr/local/zenloadbalancer/app/libexec# ./tftp_check.sh 192.168.101.250 Status pemeriksaan kesehatan TFTP untuk 192.168.101.250 adalah tftp> Menerima 4 byte dalam 0.0 detik
atau kesalahan saat backend sedang down:
root@noid:/usr/local/zenloadbalancer/app/libexec# ./tftp_check.sh 192.168.101.250 Status pemeriksaan kesehatan TFTP untuk 192.168.101.254 adalah tftp> Waktu transfer habis.
Terakhir, konfigurasikan pemeriksaan kesehatan di farm TFTP, termasuk dalam perintah token HOST.
check_mytftp.sh HOST
Pada tab Services pastikan konfigurasi Farm Guardian seperti gambar di bawah ini. Batas waktu 60 detik sudah cukup untuk memastikan perilaku backend yang benar.
Pemeriksaan kesehatan SFTP #
Karena sudah tersedia pengecekan kesehatan check_ssh , kita dapat menggunakannya secara langsung. Jadi, perintah Farm Guardian untuk konfigurasi di farm SFTP adalah sebagai berikut:
check_ssh HOST
Kemudian, konfigurasi akan ditampilkan seperti yang ditunjukkan pada gambar layar berikut.
Nikmati transfer file dengan ketersediaan tinggi dan skalabel!









