نظرة عامة #
FTP or بروتوكول نقل الملفات بروتوكول طبقة التطبيقات هو بروتوكول يُستخدم على نطاق واسع لنقل الملفات في تصميم بنية خادم-عميل، ويعتمد على طبقات شبكة TCP/IP. أما بروتوكول FTP فهو بروتوكول معقد وبسيط (لا يراعي الجوانب الأمنية)، حيث يتم التفاوض على المنافذ المستخدمة في طبقة التطبيقات بين الخادم والعميل، مما يُصعّب موازنة الأحمال أو إنشاء قواعد جدار الحماية. بالإضافة إلى ذلك، يمكن لخادم FTP والعميل العمل في وضعين نشطين أو سلبيين، كما هو موضح أدناه.
بعض الميزات التي توفرها FTP هي: 2 منفذ TCP (20 و21 بشكل افتراضي) يستخدم أحدهما لأوامر التحكم والآخر للبيانات، ودعم آلية المصادقة، وعدم دعم التشفير، ونقل ascii والثنائي، والأوامر الواسعة المتاحة (قائمة الدليل، وتصفح الدليل، وتحميل الملفات، وتنزيل الملفات، وما إلى ذلك) والمرونة المتأصلة في TCP.
المبسط or بروتوكول نقل الملفات التافه هو إصدار يتميز بنقل ملفات أسرع وتصميم معماري أبسط يستخدم منفذ UDP واحد فقط (69 افتراضيًا)، ولا يدعم آلية المصادقة أو التشفير، وتتوفر ثلاثة أوضاع نقل (netascii وoctet وmail) والأوامر الأساسية فقط مثل تحميل وتنزيل الملفات.
يمكن موازنة تحميل كل من خدمات FTP وTFTP بسهولة باستخدام RELIANOID موازن التحميلواصل القراءة لمعرفة كيفية تحقيق ذلك.
بيئة موازنة تحميل FTP #
السيناريو الذي نريد تحقيقه في هذه المقالة يظهر في الرسم البياني أدناه.
سواء كان هناك تزامن كبير بين المستخدمين ويتطلب توسيع نطاق الخدمة أو كانت خدمة بالغة الأهمية تحتاج إلى أن تكون متاحة بدرجة عالية، فسوف تكون هناك حاجة إلى موازن تحميل خدمة FTP.
تكوين وضع FTP النشط #
An FTP نشط سيتطلب الإعداد استخدام المنافذ 20 و 21 في جانب الخوادم أو الواجهة الخلفية. توضح الصورة أدناه كيفية تدفق الاتصال عند الحاجة إلى نقل بيانات بين العميل وخادم FTP.
في التسلسل الموضح أعلاه:
1. يطلب العميل إلى الخادم عبر المنفذ 21 أمر.
2. يقر الخادم للعميل.
3. استخدم يبدأ الخادم اتصال البيانات باستخدام منفذ البيانات 20.
4. يقر العميل للخادم عند الانتهاء.
في هذه المرحلة، يتعين علينا إعداد موازن التحميل بين كل من العميل والخادم ثم الاهتمام بتدفقات حركة المرور ومبدئي الاتصالات واتفاقيات المنفذ بين العميل والخادم.
مع RELIANOID موازن التحميل، علينا تحقيق هذا النوع من التكوين من خلال إنشاء ملف تعريف مزرعة LSLB L4xNAT مع المنافذ 20,21 و FTP البروتوكول، كما هو موضح في الصورة أدناه، وأخيرًا قم بتعيين الخوادم الخلفية (ليس من الضروري تعيين المنافذ).
يتعين على العملاء الاتصال بعنوان VIP لمزرعة FTP الجديدة.
ملاحظة: تم حفظ هذا التكوين ليتم استخدامه في وضعي العميل/الخادم النشط والسلبي.
تكوين وضع FTP السلبي #
A بروتوكول نقل الملفات السلبي الإعداد يستخدم المنفذ فقط 21 في جانب الخوادم أو الواجهة الخلفية. توضح الصورة أدناه كيفية تدفق الاتصال عند الحاجة إلى نقل بيانات بين العميل وخادم FTP.
في التسلسل الموضح أعلاه:
1. يطلب العميل إلى الخادم عبر المنفذ 21 أمر.
2. يقر الخادم للعميل.
3. استخدم العميل يبدأ اتصال البيانات باستخدام منفذ بيانات عالي إلى منفذ متفق عليه في طبقة التطبيق في جانب الخادم.
4. يقر الخادم للعميل عند الانتهاء.
في هذه المرحلة، يتعين علينا إعداد موازن التحميل بين كل من العميل والخادم ثم الاهتمام بتدفقات حركة المرور ومبدئي الاتصالات واتفاقيات المنفذ بين العميل والخادم.
مع RELIANOID موازن التحميل، علينا تحقيق هذا النوع من التكوين من خلال إنشاء ملف تعريف مزرعة LSLB L4xNAT مع المنفذ 21 و FTP البروتوكول، كما هو موضح في الصورة أدناه، وأخيرًا قم بتعيين الخوادم الخلفية (ليس من الضروري تعيين المنافذ).
يتعين على العملاء الاتصال بعنوان VIP لمزرعة FTP الجديدة.
تكوين TFTP #
بروتوكول نقل الملفات التافه يتم استخدام البروتوكولات بشكل رئيسي أثناء PXE (بيئة تنفيذ ما قبل التمهيد) البيئات التي تتكون من مزيج من خدمات DHCP وTFTP، حيث يمكن نشر عشرات أو مئات أو حتى آلاف أجهزة الكمبيوتر عبر الشبكة.
سيكون سلوك البروتوكول الرئيسي هو:
1. يطلب العميل إلى الخادم عبر المنفذ 69 أمر طلب القراءة (RRQ) أو طلب الكتابة (WRQ) بما في ذلك الملف ووضع النقل.
2. يقر الخادم للعميل ويبلغه بمنفذ البيانات الجديد الذي يجب استخدامه.
3. استخدم العميل يبدأ اتصال البيانات بمنفذ متفق عليه في طبقة التطبيق على جانب الخادم.
4. يقر الخادم للعميل عندما يتبقى أحدث 512 بايت.
في بيئة حيث تحتاج خدمة TFTP إلى التوسع، فإن التكوين مع RELIANOID ٥ سهل جدًا. يتطلب إنشاء ملف تعريف مزرعة LSLB L5xNAT بالمنفذ 69 و المبسط البروتوكول، كما هو موضح في الصورة أدناه، وأخيرًا قم بتعيين الخوادم الخلفية (ليس من الضروري تعيين المنافذ).
يتعين على العملاء الاتصال بعنوان VIP لمزرعة TFTP الجديدة.
بروتوكول نقل الملفات الآمن #
من أجل حل مشكلة الأمان المعزز لبروتوكول FTP، بروتوكول نقل الملفات SSH أو أفضل المعروفة باسم SFTP صُمم لتوفير طبقة أمان. في هذا السيناريو، يجب تهيئة خوادم FTP كخوادم SFTP، وستكون موازنة أحمالها سهلةً للغاية، إذ يكفي إنشاء مزرعة ملفات تعريف 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 ثانية على منفذ ftp.debian.org رقم 21 [خادم FTP الخاص بـ ftp.debian.org رقم 220]|الوقت=0.262090 ثانية؛؛؛0.000000؛10.000000
من ناحية أخرى، مع الواجهة الخلفية المنخفضة سنحصل على الناتج التالي:
root@noid:/usr/local/zenloadbalancer/app/libexec# ./check_ftp -H ftp.debian.org CRITICAL - انتهاء مهلة المقبس بعد 10 ثوانٍ
لذا فإن أمر Farm Guardian الذي سيتم تكوينه في مزرعة FTP سيكون على النحو التالي:
check_ftp -H HOST
في علامة التبويب "الخدمات"، تأكد من ضبط إعدادات Farm Guardian كما هو موضح أدناه. يكفي مهلة 60 ثانية لضمان الأداء الصحيح للواجهة الخلفية.
فحص صحة TFTP #
إذا كان التحقق من tftp لا يوجد فحص متقدم بالفعل في RELIANOID من خلال استخدام جهاز، يمكننا إنشاء نص برمجي سهل للتحقق من الصحة كما هو موضح أدناه لخدمات TFTP الخاصة بنا.
أولاً، قم بإنشاء ملف وهمي في دليل TFTP الخلفي الخاص بك، على سبيل المثال ملف tftp_relianoid_check.txt، وأضف بعض المحتوى، على سبيل المثال "موافق".
ثم في RELIANOID يمكنك تثبيت عميل tftp باستخدام الجهاز عن طريق تنفيذ الأمر التالي:
apt-get install tftp
وبعد ذلك، قم بإنشاء ملف نصي جديد في RELIANOID فحوصات الصحة الدليل الافتراضي، على سبيل المثال /usr/local/zenloadbalancer/app/libexec/check_mytftp.sh مع الكود النصي التالي:
#!/bin/bash ### ### التحقق من خدمات TFTP ### حقوق الطبع والنشر 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`" != "" ]; ثم الخروج من $OK وإلا الخروج من $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 المضيف
بعد ذلك، سيتم عرض التكوين كما هو موضح في لقطة الشاشة التالية.
استمتع بنقل الملفات المتاحة والقابلة للتطوير!









