ما هو نفتلب؟

عرض الفئات

ما هو نفتلب؟

4 دقائق للقراءة

نظرة عامة #

nftlb لتقف على مُوازن التحميل nftables. انها النفوذ nftables، جدار الحماية Linux من الجيل التالي الذي تم تعيينه ليحل محل iptables، وهو متكيف ليعمل كموازن تحميل وموزع حركة مرور كامل الميزات.

nftlb يعمل كمدير لقواعد nftables، وهو مصمم لإنشاء خدمات افتراضية لموازنة التحميل في الطبقات 2 و3 و4. فهو يقلل من عدد القواعد المطلوبة باستخدام هياكل بيانات فعّالة لمطابقة الحزم. بالإضافة إلى ذلك، فهو يتضمن واجهة برمجة تطبيقات JSON سهلة الاستخدام، مما يتيح التفاعل البرمجي السلس والأتمتة. تجعل هذه المرونة من السهل دمج nftlb مع أدوات فحص الحالة المفضلة لديك.

تتمثل الفلسفة الأساسية لـ nftlb في الحفاظ على مسار البيانات داخل نواة Linux، مما يؤدي إلى تعظيم الأداء، مع الحفاظ على مستوى التحكم وفحوصات الصحة في مساحة المستخدم. يسمح هذا الفصل بالتخصيص السهل، والتوافق المحسن مع مجموعة Linux، والقدرة على تعديل السلوك بشكل ديناميكي.

At RELIANOIDلدينا خبرة واسعة في استخدام iptables وإطار عمل Netfilter لبناء موازنات تحميل غنية بالميزات. ومن خلال هذه الخبرة، نفهم القيود المفروضة على هذه الأساليب - القيود التي يتغلب عليها nftlb من خلال التصميم.

لماذا nftlb بحاجة؟ #

تتضمن نواة Linux موازن تحميل داخلي يسمى IPVS (المعروف عمومًا باسم LVS – Linux Virtual Server). في حين أن IPVS هو حل برمجي مستقر وناضج يستخدم منذ سنوات، إلا أنه يعاني من بعض القيود:

  • تتم معالجة المهام الأكثر ملاءمة لمساحة المستخدم في النواة، مما يقلل من المرونة.
  • يقوم بتكرار البنية التحتية التي يوفرها Netfilter بالفعل.
  • يعتمد على أدوات تكميلية، مثل iptables، للحصول على ميزات متقدمة مثل التوكيل الشفاف، أو دعم تعدد المنافذ، أو تعدد البروتوكولات.
  • إنه يدعم طوبولوجيات SNAT (مصدر NAT) وDSR (الإرجاع المباشر للخادم) ولكنه يفتقر إلى DNAT (الوجهة NAT).

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

  • تتطلب كل خدمة افتراضية قواعد متعددة، مع وجود قاعدتين على الأقل لكل واجهة خلفية، مما يزيد التعقيد بشكل خطي مع إضافة واجهات خلفية.
  • يؤدي معالجة القواعد المتسلسلة إلى تدهور الأداء عندما يتعلق الأمر بالعديد من القواعد، ويتفاقم الأمر بسبب مشكلة قفل iptables الكلاسيكية.
  • يتطلب دعم IPv6 استخدام أمر منفصل، ip6tables، مما يجعل عملية التكوين مرهقة.
  • على الرغم من أن iptables يدعم موازنة التحميل DNAT وSNAT، إلا أنه لا يستطيع العمل في توبولوجيات DSR.

nftlb، مبني على nftables, يعالج كل هذه القيود بنهج أكثر كفاءة وحداثة:
يدعم جميع الطوبولوجيات (SNAT، DNAT، DSR) ويسمح بالتبديل بينها بسلاسة.
يتعامل بشكل أصلي مع حركة المرور متعددة المنافذ ومتعددة البروتوكولات.
يتمكن من إدارة حركة مرور IPv4 و IPv6 بسلاسة من خلال واجهة واحدة.
يوفر جميع إمكانيات موازنة التحميل المطلوبة عبر واجهة موحدة واحدة.
يستخدم لغة nftables التعبيرية لبناء موازن تحميل كامل باستخدام قاعدتين فقط، مما يضمن التعقيد المستمر بغض النظر عن عدد الواجهات الخلفية.
يتم فهرسة المباريات لكل خدمة افتراضية، مما يلغي الحاجة إلى معالجة القواعد المتسلسلة.
يستفيد من نظام فرعي RCU (قراءة-نسخ-تحديث)، مما يتجنب مشكلات القفل أثناء تحديثات القواعد.
يحافظ على مسار البيانات في مساحة النواة للحصول على أداء مثالي مع الحفاظ على مرونة مساحة المستخدم لطائرة التحكم.
تم إثبات أنه يوفر أداءً أسرع بـ 10 مرات من LVS.

nftlb ملامح #

استخدم موازن التحميل nftlb يقدم حاليًا الإمكانيات التالية:

الطوبولوجيات المدعومة:

  • وجهة NAT (DNAT)، مصدر NAT (SNAT)، الإرجاع المباشر للخادم (DSR)، وDNAT بدون جنسية.
  • تمكن هذه الطوبولوجيات nftlb من العمل في كل من بنيات الشبكة ذات الذراع الواحدة والذراعين.

دعم IPv4 و IPv6:متوافق بشكل كامل مع كل من عائلات IP لبيئات الشبكات الحديثة.
موازنة التحميل متعدد الطبقات:

  • الطبقة 2: موازنة التحميل المستندة إلى DSR.
  • الطبقة 3: موازنة التحميل المستندة إلى بروتوكول IP، بغض النظر عن البروتوكول.
  • الطبقة 4: دعم بروتوكولات UDP وTCP وSCTP.

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

  • قوائم بيضاء وسوداء خاصة بالخدمة لتصفية البيانات الواردة.
  • تصفية مساحة المستخدم، والطوابير، واكتشاف إطارات TCP المزيفة.
  • حدود الحد الأقصى للاتصالات المنشأة، وحزم TCP RST في الثانية، والاتصالات الجديدة في الثانية.

دعم الأولوية الخلفية:يسمح بتعيين الأولويات للبرامج الخلفية لتحسين توزيع حركة المرور.
الإدارة المباشرة:إدارة برمجية للخدمات الافتراضية والخلفية من خلال واجهة برمجة التطبيقات JSON.
أمان خدمة الويب:المصادقة عبر مفتاح آمن لحماية الوصول إلى واجهة برمجة التطبيقات.
منصة الاختبار الآلية:يتضمن منصة اختبار مدمجة لتسهيل الاختبار والتحقق.

مستودع بوابة الرسمي: https://github.com/relianoid/nftlb

التغيير: https://www.relianoid.com/knowledge-base/nftlb/nftlb-changelog/

📄 قم بتنزيل هذه الوثيقة بصيغة PDF #

    ُ:البريد الالكتروني *