מה זה nftlb?

צפה בקטגוריות

מה זה nftlb?

4 דק קריאה

סקירה כללית #

nftlb מסמל מאזן עומסים של nftables. זה ממנף nftables, חומת האש של לינוקס מהדור הבא, שאמורה להחליף את iptables, והיא מותאמת לתפקד כמאזן עומסים ומפיץ תעבורה מלא תכונות.

nftlb משמש כמנהל כללי nftables, שנועד ליצור שירותים וירטואליים לאיזון עומסים בשכבות 2, 3 ו-4. הוא ממזער את מספר הכללים הנדרשים על ידי שימוש במבני נתונים יעילים להתאמת חבילות. בנוסף, הוא כולל ממשק API JSON ידידותי למשתמש, המאפשר אינטראקציה תכנותית ואוטומציה חלקות. גמישות זו מאפשרת שילוב קל של nftlb עם כלי בדיקת התקינות המועדפים עליך.

הפילוסופיה המרכזית של nftlb היא לשמור על נתיב הנתונים בתוך ליבת לינוקס, למקסם את הביצועים, תוך שמירה על מישור הבקרה ובדיקות התקינות במרחב המשתמש. הפרדה זו מאפשרת התאמה אישית קלה, תאימות משופרת עם מחסנית לינוקס ויכולת להתאים את ההתנהגות באופן דינמי.

At RELIANOIDיש לנו ניסיון רב בשימוש ב-iptables ובמסגרת Netfilter לבניית מאזני עומסים עשירים בתכונות. באמצעות ניסיון זה, אנו מבינים את המגבלות של גישות אלו - מגבלות ש-nftlb מתגבר עליהן באמצעות תכנון.

למה nftlb נָחוּץ? #

ליבת לינוקס כוללת מאזן עומסים פנימי בשם IPVS (הידוע בכינויו LVS – Linux Virtual Server). בעוד ש-IPVS הוא פתרון תוכנה יציב ובוגר המשמש מזה שנים, יש לו מגבלות מסוימות:

  • משימות המתאימות יותר למרחב המשתמש מטופלות בליבת המערכת, מה שמפחית את הגמישות.
  • זה משכפל תשתית שכבר מסופקת על ידי Netfilter.
  • זה מסתמך על כלים משלימים, כגון iptables, עבור תכונות מתקדמות כמו פרוקסי שקוף, תמיכה בריבוי פורטים או בריבוי פרוטוקולים.
  • הוא תומך בטופולוגיות SNAT (מקור NAT) ו-DSR (החזרת שרת ישירה) אך חסר DNAT (יעד NAT).

לגישה המבוססת על iptables , לעומת זאת, יש אילוצים משלה:

  • כל שירות וירטואלי דורש מספר כללים, עם לפחות שני כללים לכל backend, מה שמגדיל את המורכבות באופן ליניארי ככל שמוסיפים backends.
  • עיבוד כללים סדרתי פוגע בביצועים כאשר מעורבים כללים רבים, דבר שמחמיר עקב בעיית הנעילה הקלאסית של 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.

תמיכה בריבוי פורטיםמטפל בטווחי ורשימות פורטים לניהול תעבורה גמיש.
שירותים וירטואליים מרובים (חוות): תומך בניהול מספר שירותים וירטואליים בו זמנית.
מתזמניםכולל תזמון מבוסס משקל, Round Robin, גיבוב הניתן להגדרה (מבוסס על IP, יציאה, MAC או שילובים) וגיבוב סימטרי.
התמדה ניתנת להגדרה (זיקה)מציע זיקה בין לקוח לשרת צד שלישי עם פסק זמן המבוסס על IP, יציאה, MAC או שילובים שלהם.
מדיניות אבטחה:

  • רשימות לבנות ושחורות ספציפיות לשירות לסינון כניסות.
  • סינון מרחב משתמשים, תורים וזיהוי מסגרות TCP מזויפות.
  • מגבלות על מספר חיבורים מקסימלי שנוצרו, חבילות TCP RST לשנייה וחיבורים חדשים לשנייה.

תמיכה בעדיפות אחוריתמאפשר הקצאת עדיפויות לממשקים אחוריים לצורך פיזור אופטימלי של תעבורה.
ניהול חיניהול תכנותי של שירותים וירטואליים וממשקים אחוריים באמצעות API של JSON.
אבטחת שירותי אינטרנטאימות באמצעות מפתח מאובטח להגנה על גישת API.
משטח ניסוי אוטומטיכולל משטח בדיקה מובנה לבדיקות ואימות יעילים יותר.

מאגר גיט רשמי: https://github.com/relianoid/nftlb

יומן שינויים: https://www.relianoid.com/knowledge-base/nftlb/nftlb-changelog/

📄 הורד מסמך זה בפורמט PDF #

    דואר אלקטרוני: *

    מופעל על ידי BetterDocs