هندسة Zevenet Load Balancer Enterprise Edition الداخلية في مساحة المستخدم والنواة

منشور من طرف Zevenet | 2 يناير 2020

نظرة عامة

الهدف من المقالة التالية هو تقديم نظرة عامة معمارية على برامج Zevenet الداخلية التي تستهدف مسؤولي النظام ومطوري البرامج الذين لديهم اهتمامات لمعرفة المزيد حول كيفية عمل برنامج Zevenet ADC. يمكن استخدام كل هذه المعلومات أيضًا للمساعدة في تكوين أنظمة الإنتاج أو أغراض استكشاف الأخطاء وإصلاحها.

العمارة Zevenet

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

يعطي الرسم البياني أدناه نظرة شاملة للمكونات المختلفة التي تؤلف نظام Zevenet داخليًا. تم تفويت قطع إضافية أقل أهمية لتقديم رؤية أكثر بساطة ووضوح.

سيتم وصف الأقسام التالية الأجزاء المختلفة وكيفية ترابطها.

Zevenet Load Balancer في مساحة المستخدم

النظم الفرعية المستخدمة في مساحة المستخدم هي:

واجهة المستخدم الرسومية على الويب: واجهة مستخدم رسومات الويب التي يستخدمها المستخدمون لإدارة تكوين النظام بأكمله وإدارته ، تتم إدارته بواسطة خادم ويب HTTPS والذي يستهلك Zevenet API لجميع الإجراءات التي يتم تنفيذها لموازن التحميل.

واجهة برمجة تطبيقات Zevenet: أو تطبيق Zevenet واجهة البرنامج ، مصممة التالية REST و JSON واجهات ، المستهلكة من خلال HTTPS ، يتم استخدامه من قبل واجهات المستخدم المختلفة الأخرى من وجهة نظر المستخدم مثل واجهة المستخدم الرسومية على شبكة الإنترنت واجهة أو ZCLI (Zevenet واجهة سطر الأوامر). تتحقق هذه الأداة من أي إجراء ضد النظام الفرعي RBAC وإذا كان مسموحًا ، يتم اتخاذ الإجراء في Zevenet Appliance. واجهة برمجة التطبيقات (API) قادرة على الاتصال وإدارة أي نظام فرعي آخر من المستخدمين موصوف في المخطط.

المكتب الإقليمي لآسيا والمحيط الهادئ: التحكم في الوصول المستند إلى الدور هو آلية وصول وتحكم محددة حول المستخدمين والمجموعات والأدوار. تحدد هذه الوحدة الإجراءات التي يُسمح للمستخدم القيام بها بمستوى عالٍ من التكوين بين المجموعات والمستخدمين والأدوار. تم دمجها بالكامل في واجهة المستخدم الرسومية على شبكة الإنترنت التي تسمح لتحميل وجهات النظر على شبكة الإنترنت على أساس دور المستخدم. بالإضافة إلى ذلك ، يتم استهلاك هذا النظام الفرعي من خلال API أو أي أداة أخرى تستخدم API.

LSLB - HTTP (S): يتم تنفيذ الوحدة النمطية LSLB (موازنة تحميل الخدمة المحلية) التي تتكون من ملف تعريف HTTP (S) في مساحة المستخدم بواسطة وكيل عكسي يسمى Zproxy والذي يمكنه إدارة تطبيقات الإنتاجية العالية بكفاءة عالية. تم تكوين هذا النظام الفرعي بواسطة API ويمكن حمايته بواسطة النظام الفرعي IPDS (باستخدام قوائم BlackLists وقواعد DoS و RBL و WAF).

GSLB: يتم تنفيذ الوحدة النمطية GSLB (Global Service Load Balancer) التي تم تنفيذها باستخدام مثيل ملف تعريف GSLB في مساحة المستخدم من خلال عملية خادم DNS تسمى Gdnsd والتي تكون قادرة على العمل كخادم أسماء DNS متقدم مع ميزات موازنة التحميل. تم تكوين هذا النظام الفرعي بواسطة API ويمكن حمايته بواسطة نظام IPDS الفرعي (باستخدام قوائم سوداء ، DoS و RBL).

فحوصات طبية: يتم تكوين هذا النظام الفرعي بواسطة API ويستخدمه جميع وحدات موازن التحميل (LSLB و GSLB و DSLB) للتحقق من سلامة المؤخرات. يتم تنفيذ عمليات الفحص البسيطة والمتقدمة مقابل الواجهة الخلفية ، ثم إذا فشلت عملية التحقق ، يتم وضع علامة على الواجهة الخلفية للمزرعة المحددة أسفل ولم يتم توجيه المزيد من حركة المرور حتى يعمل التحقق مرة أخرى على الواجهة الخلفية. تعتبر Farm Guardian مسؤولة عن هذه الفحوص وهي مصممة بمستوى عالٍ من المرونة والتكوين.

نظام ملفات التكوين: يستخدم هذا الدليل لأغراض حفظ التكوين ، سيتم نسخ أي تغيير في هذا الدليل إلى الكتلة ، إذا تم تمكين هذه الخدمة.

نفتل: تتم إدارة عملية مساحة المستخدمين هذه بواسطة النظام الفرعي لـ API وتستخدم لغرضين رئيسيين: LSLB - L4XNAT إدارة وتكوين IPDS وحدة النظام الفرعي.

Zevenet Load Balancer في مساحة Kernel

النظم الفرعية المستخدمة في Kernel Space هي:

نظام Netfilter LSLB L4xNAT: يتم استخدام النظام الفرعي Netfilter بواسطة Nftlb لأغراض موازنة التحميل. يتم تحميل قواعد Netfilter في kernel بواسطة عملية Nftlb هذه من أجل بناء عالية الأداء L4 موازن الحمل. يقوم Nftlb بتحميل قواعد موازن التحميل في النواة بطريقة فعالة لإدارة حزم حركة المرور على النحو الأمثل قدر الإمكان. بالإضافة إلى ذلك ، سيقوم Nftlb بتحميل قواعد Netfilter لمنع الاختراق وحمايته (قوائم سوداء و RBL و DoS).

قوائم IPDS السوداء: تم دمج هذا النظام الفرعي في نظام Netfilter وإدارته بواسطة Nftlb. وهي تتألف من مجموعة من القواعد التي تم تكوينها قبل قواعد موازن التحميل من أجل إسقاط الاتصالات لعناوين IP الأصلية المعطاة. داخليًا ، ينشئ مجموعة من القواعد مرتبة حسب الفئة والبلد وأنواع المهاجمين وما إلى ذلك ويتم تحديثها يوميًا.

IPDS RBL: على نحو مماثل للنظام السابق ، تم دمج هذا النظام الفرعي في Netfilter أيضًا وإدارته بواسطة Nftlb. يتم التقاط عنوان IP الأصلي قبل إنشاء الاتصال ويتم التحقق من صحة عنوان IP للعميل خدمة DNS الخارجية. إذا تم حل IP ، فسيتم تمييز IP على أنه ضار وسيتم إسقاط الاتصال.

DoDS: نفس نظام التكوين مثل الوحدتين السابقتين ، تم دمجهما في Netfilter ويديرهما Nftlb. إنها مجموعة من القواعد التي تم تكوينها قبل قواعد توازن التحميل والتي تتحقق مما إذا كانت الحزم جزءًا من هجوم قطع الخدمة. يتم تطبيق بعض القواعد على تدفق الحزمة لاعتراض الهجوم قبل القيام به.

نظام تتبع الاتصال: يستخدم هذا النظام من قبل النظام الفرعي Netfilter لأغراض إدارة الاتصال ، وترجمة الشبكة وللحصول على وحدة الإحصاءات، فضلا عن فحص طبي تم الكشف عن النظام الفرعي من أجل فرض إجراءات الاتصال في لحظة وجود مشكلة في الخلفية. يستخدم نظام تتبع الاتصال أيضا من قبل خدمة التجميع لإعادة توجيه حالة الاتصال إلى العقدة الثانية من الكتلة ، في حالة فشل العقدة الرئيسية للكتلة ، تكون العقدة الثانية قادرة على إدارة حركة المرور في حالة الاتصال نفسها من السابق الرئيسي.

نظام التوجيه و DSLB: تتم إدارة هذه النظم الفرعية بواسطة API وتهيئتها في مساحة Kernel. تم بناء النظام الفرعي للتوجيه مع iproute2 مما يسمح لنا بإدارة جداول التوجيه المتعددة بالترتيب لتجنب الحفاظ على مجموعة قواعد معقدة للتوجيه ثابتبالإضافة إلى ذلك ، بفضل iproute2 ، يتم إنشاء وحدة DSLB (Datalink Service Load Balancer) لتوفير تحميل موازنة الوصلات الصاعدة مع عدة بوابات.

في لحظة كتابة هذا المقال ، يتم إنتاج Zevenet 6 ، لذلك يمكن أن تتطور تلك النظم الفرعية في الإصدارات المستقبلية لتقديم أداء أفضل أو المزيد من الميزات.

وثائق اضافية

معايير Zevenet zproxy ، ملف تعريف LSLB -HTTP (S)
معايير Zevenet nftlb ، ملف LSLB - L4xNAT

مشاركة مع :

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

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

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