خدمات تحميل بروتوكول نقل الملفات (FTP / TFTP) النشطة والمنفعلة وتوازنها ومدى توافرها

منشور من طرف Zevenet | 16 أغسطس 2017

نظرة عامة

FTP or بروتوكول نقل الملفات هو بروتوكول طبقة تطبيق يُستخدم على نطاق واسع لنقل الملفات في تصميم معماري لخادم العميل يعتمد على طبقات شبكة TCP / IP. FTP هو بروتوكول معقد وسهل (لا يعرف الأمان) حيث يتم التفاوض على المنافذ المستخدمة في طبقة التطبيق بين العميل والخادم ، بحيث يكون من الصعب قليلاً تحميل الرصيد أو إنشاء قواعد جدار الحماية. بالإضافة إلى ذلك ، يمكن أن يتصرف خادم FTP والعميل في أوضاع نشطة أو سلبية ، والتي يمكن وصفها أدناه.

بعض الميزات التي توفر FTP هي: منافذ 2 TCP (20 و 21 بشكل افتراضي) تستخدم واحدة لأوامر التحكم وأخرى للبيانات ودعم آلية المصادقة وبدون دعم التشفير و ascii و النقل الثنائي والأوامر العريضة المتاحة (قائمة الدليل ، تصفح الدليل ، تحميل الملفات ، وتنزيل الملفات ، وما إلى ذلك) ومرونة TCP المتأصلة.

المبسط or FTP تافهة هو تباين مع نقل أسرع للملفات وتصميم أبسط للبنية يستخدم منفذ UDP واحد فقط (69 افتراضيًا) ، ولا يدعم آلية المصادقة أو التشفير ، وثلاثة أوضاع نقل متاحة (netascii ، ثماني بتات ، وبريد) وأوامر أساسية فقط مثل التحميل والتنزيل الملفات.

يمكن تحميل كل من خدمات FTP و TFTP بطريقة متوازنة بسهولة Zevenet Load Balancer. تابع القراءة لمعرفة كيفية تحقيق ذلك.

بيئة موازنة تحميل FTP

يظهر السيناريو الذي نريد تحقيقه في هذه المقالة في الرسم البياني أدناه.

إما أن يكون هناك تزامن كبير بين المستخدمين ومطلوب لتوسيع نطاق الخدمة أو أنها خدمة مهمة يجب أن تكون متوفرة بدرجة عالية ، فستكون هناك حاجة إلى موازن تحميل خدمة FTP.

تكوين وضع FTP النشط

An بروتوكول نقل الملفات النشط سيتطلب الإعداد استخدام المنافذ 20 و 21 في الخوادم أو الجانب الخلفي. توضح الصورة أدناه كيفية تدفق الاتصال عند الحاجة إلى نقل البيانات بين العميل وخادم FTP.

active_ftp_client_server

في التسلسل الموضح أعلاه:
1. يطلب العميل إلى الخادم عبر المنفذ 21 أمر.
2. يقر الخادم للعميل.
3. يوفر يبدأ الخادم اتصال البيانات باستخدام منفذ البيانات 20.
4. يقر العميل للخادم عند الانتهاء.

في هذه المرحلة ، يتعين علينا إعداد موازن تحميل بين كل من العميل والخادم ومن ثم الاهتمام بتدفقات حركة المرور ومُهيئ الاتصالات واتفاقيات المنفذ بين العميل والخادم.

مع Zevenet 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. يقر الخادم للعميل عند الانتهاء.

في هذه المرحلة ، يتعين علينا إعداد موازن تحميل بين كل من العميل والخادم ومن ثم الاهتمام بتدفقات حركة المرور ومُهيئ الاتصالات واتفاقيات المنفذ بين العميل والخادم.

مع Zevenet Load Balancer ، نحقق هذا النوع من التكوين بإنشاء ملف تعريف مزرعة LSLB L4xNAT مع المنفذ 21 و FTP البروتوكول ، كما هو موضح في الصورة أدناه ، وأخيرًا قم بتعيين الخلفيات (غير مطلوب لتعيين المنافذ).

zevenet_adc_lb_passive_ftp_configuration

يجب على العملاء الاتصال بعنوان VIP الخاص بمزرعة FTP الجديدة.

تكوين TFTP

FTP تافهة البروتوكولات تستخدم أساسا خلال PXE بيئات (بيئة التشغيل التمهيدية) التي تتكون من مجموعة من خدمات DHCP و TFTP ، حيث يمكن نشر عشرات أو مئات أو حتى آلاف أجهزة الكمبيوتر من خلال الشبكة.

سلوك البروتوكول الرئيسي سيكون:
1. يطلب العميل إلى الخادم عبر المنفذ 69 أمر طلب (RRQ) أو كتابة طلب (WRQ) بما في ذلك الملف ووضع النقل.
2. يقر الخادم للعميل ويخطر منفذ البيانات الجديد ليتم استخدامه.
3. يوفر يبدأ العميل اتصال البيانات إلى منفذ تطبيق طبقة متفق عليها في جانب الخادم.
4. يقر الخادم إلى العميل عند تبقى أحدث 512 بايت.

في بيئة تحتاج فيها خدمة TFTP إلى التوسع ، يكون التكوين مع Zevenet 5 سهلًا للغاية. يلزم إنشاء ملف تعريف مزرعة LSLB L4xNAT باستخدام المنفذ 69 و المبسط البروتوكول ، كما هو موضح في الصورة أدناه ، وأخيرًا قم بتعيين الخلفيات (غير مطلوب لتعيين المنافذ).

zevenet_adc_lb_tftp_configuration

يجب على العملاء الاتصال بعنوان VIP الخاص بمزرعة TFTP الجديدة.

بروتوكول نقل الملفات الآمن

من أجل حل تعزيز أمن بروتوكول FTP ، و SSH بروتوكول نقل الملفات أو أفضل المعروفة باسم SFTP تم تصميمه لتوفير طبقة أمان. في هذا السيناريو ، يجب تكوين ملقمات FTP كـ SFTP وموازنة تحميل تلك قد تكون سهلة مثل إنشاء LSLB مع مزرعة ملف التعريف L4xNAT عبر المنفذ الافتراضي 22 وبروتوكول TCP كما هو موضح في لقطة الشاشة أدناه. أخيرًا ، ما عليك سوى إضافة الخلفيات الخلفية لخدمة SFTP.

zevenet_adc_lb_secure_ftp_sftp_configuration

يجب على العملاء الاتصال بعنوان VIP لمزرعة TCP الجديدة ، التي تخدم خدمة SFTP.

فحوصات صحية متقدمة

فحص الصحة FTP

Zevenet الأجهزة تشمل بالفعل check_ftp التحقق من الصحة لخدمات بروتوكول نقل الملفات ، حتى نتمكن من اختبار الفحص الصحي مع الخلفية:

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 

من ناحية أخرى ، مع الخلفية السفلية ، سنحصل على الإخراج التالي:

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

إذن ، سيكون أمر Farm Guardian المراد تكوينه في مزرعة FTP:

check_ftp -H HOST

في علامة التبويب "الخدمات" ، تأكد من تكوين Farm Guardian كما هو موضح أدناه. ستكون مهلة الثواني 60 كافية لضمان السلوك الصحيح للواجهة الخلفية.

zevenet_active_passive_ftp_farm_guardian_advanced_health_check_config

التحقق من صحة TFTP

إذا كان check_tftp الفحص المتقدم غير موجود بالفعل في جهاز Zevenet ، يمكننا إنشاء برنامج نصي سهل للتحقق من الصحة كما هو موضح أدناه لخدمات TFTP الخاصة بنا.

أولاً ، قم بإنشاء ملف وهمي في دليل backTP TFTP الخاص بك ، على سبيل المثال tftp_zevenet_check.txt، وإضافة بعض المحتوى ، على سبيل المثال "موافق".

ثم ، في جهاز Zevenet قم بتثبيت عميل tftp بواسطة تنفيذ الأمر التالي:

apt-get install tftp

ثم قم بإنشاء ملف نصي جديد في الدليل الافتراضي للتحقق من الصحة Zevenet ، على سبيل المثال /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh مع رمز البرنامج النصي التالي:

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

ثم قم بتعيين أذونات التنفيذ باستخدام الأمر:

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

إذا حاولنا تنفيذ البرنامج النصي ، فسنحصل على رسالة ناجحة عندما تكون الواجهة الخلفية جاهزة ومهيأة جيدًا:

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

أو خطأ عندما تكون الواجهة الخلفية لأسفل:

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.

أخيرًا ، قم بتهيئة التحقق الصحي في مزرعة TFTP ، بما في ذلك في الرمز HOST.

check_mytftp.sh HOST

في علامة التبويب "الخدمات" ، تأكد من تكوين Farm Guardian كما هو موضح أدناه. ستكون مهلة الثواني 60 كافية لضمان السلوك الصحيح للواجهة الخلفية.

zevenet_tftp_farm_guardian_advanced_health_check_config

التحقق الصحي SFTP

كما يوجد بالفعل الاختيار الصحي check_ssh، يمكننا استخدامه مباشرة. وبالتالي ، سيكون أمر Farm Guardian المراد تهيئته في مزرعة SFTP كما يلي:

check_ssh HOST

بعد ذلك ، سيظهر التكوين كما هو موضح في لقطة الشاشة التالية.

zevenet_ssh_sftp_farm_guardian_advanced_health_check_config

استمتع ملفك عالية المتاحة وقابلة للتحجيم نقل!

مشاركة مع :

وثائق بموجب شروط رخصة جنو للوثائق الحرة.

هل كان المقال مساعدا؟!

مقالات ذات صلة