סקירה כללית #
מאמר זה מסביר כיצד לזהות ולפתור בעיות ניתוב אסימטריות ב RELIANOID פריסה כאשר למאזן העומסים יש מספר ממשקי רשת המחוברים לתת-רשתות שונות.
מצב זה יכול להתרחש כאשר לקוחות חזיתיים צריכים גישה לשירותי קצה אחוריים הממוקמים בתת-רשת אחרת, בעוד שלמאזן העומסים יש ממשקים בשתי הרשתות.
התנהגות ניתוב שגויה עלולה לגרום לתעבורת תגובה לצאת דרך ממשק שונה מזה המשמש לבקשה הנכנסת, וכתוצאה מכך לניתוב אסימטרי.
תיאור הבעיה #
בפריסות מסוימות, ה- RELIANOID מאזן עומסים מוגדר עם ממשקים מרובים המחוברים לרשתות שונות.
התצורה הבאה היא סביבת דוגמה המשמשת למטרות הדגמה.
| מִמְשָׁק | רשת | מטרה |
| eth0 | 192.168.1.0/24 | ניהול שוטף |
| eth1 | 192.168.110.0/24 | ממשק |
| eth2 | 192.168.100.0/24 | אפליקציה / צד אחורי |
שרתי Backend ממוקמים ברשת המשנה 192.168.100.0/24 ונגישים אליהם דרך חוות שתצורתן נקבעה במאזן העומסים.
עם זאת, חלק מהלקוחות הממוקמים ברשת 192.168.110.0/24 צריכים גם גישה לשירותים המתארחים ברשת 192.168.100.0/24.
מכיוון שלמאזן העומסים יש ממשק בשתי הרשתות והעברת IP פעילה כברירת מחדל, המערכת עשויה לנתב את תעבורת התגובה ישירות דרך ממשק הקצה הקדמי (eth1) במקום לנתב אותה דרך השער הצפוי.
כתוצאה מכך, נוצר ניתוב אסימטרי , אשר עלול לגרום לכשלים בחיבור או לאובדן חבילות.
דוגמה לתצורת ממשק #

מהו ניתוב אסימטרי #
ניתוב אסימטרי מתרחש כאשר התעבורה הנכנסת והיוצאת של אותו חיבור עוקבות אחר נתיבי רשת שונים.
זרימה לדוגמה #
נתיב יעד: 192.168.110.11 דרך eth2 (לקוח) > 192.168.100.100 (מאזן עומסים) > 192.168.100.42 (שרת אחורי)
נתיב החזרה (שגוי): 192.168.100.42 (שרת אחורי) > 192.168.100.100 (מאזן עומסים) > 192.168.110.11 דרך eth1 (לקוח)
מכיוון שתעבורת ההחזרה יוצאת דרך ממשק שונה, התקנים ביניים כמו חומות אש או נתבים עלולים להשליך את החבילות.
כיצד טבלאות ניתוב פועלות #
RELIANOID שימושים טבלאות ניתוב לפי ממשק כדי לשלוט באופן שבו התעבורה מועברת בין רשתות.
כל ממשק מייצר אוטומטית את טבלת הניתוב שלו.
טבלאות ניתוב לדוגמה: table_eth1, table_eth2
טבלאות הניתוב הללו מגדירות:
- מסלולים הקשורים לממשק
- שערים המשמשים להעברת תעבורה
- ממשקים המורשים לנתב תעבורה
בתוך כל טבלת ניתוב, ניתן להגדיר ממשקים כך:
ממשקים מנוהלים #
ממשקים המורשים לנתב תעבורה בתוך טבלת הניתוב תוך שימוש בתכונת העברת IP.
ממשקים לא מנוהלים #
ממשקים שאינם נכללים בהחלטות ניתוב עבור טבלה זו והעברת ה-IP לא יחולו על ממשקים אלה.
על ידי שליטה באילו ממשקים מנוהלים או לא מנוהלים, מנהלים יכולים להשפיע על אופן זרימת התעבורה דרך מאזן העומסים ולמנוע התנגשויות ניתוב.
טבלת ניתוב לדוגמה #

פתרון #
כדי לפתור את בעיית הניתוב האסימטרי, יש להוציא את הממשק המתנגש מטבלת הניתוב המשויכת לרשת הקצה האחורי.
בתרחיש הזה, יש להסיר את eth1 מטבלת הניתוב table_eth2, תוך הבטחת ניתוב התעבורה דרך השער הנכון.
פתרון באמצעות ממשק המשתמש של האינטרנט #
- נווט אל: רשת > ניתוב
- בחר את טבלת הניתוב המשויכת לממשק הקצה האחורי:
table_eth2 - גלול לתחתית העמוד.
- אתר את ממשקים מנוהלים סָעִיף.
- הזז את הממשק eth1 החל מ- ממשקים מנוהלים ל ממשקים לא מנוהלים.
זה מונע ניתוב ישיר של תעבורה דרך ממשק הקצה הקדמי כאשר נעשה שימוש בטבלת הניתוב האחורית.

פתרון באמצעות ממשק שורת פקודה (CLI) #
ניתן ליישם את אותה תצורה גם באמצעות RELIANOID CLI.
שלב 1: הפעלת גישת API #
נווט אל: מערכת > הגדרות משתמש
הפעל גישת API והגדר מפתח API. באפשרותך להגדיר מפתח משלך או ליצור מפתח אקראי.
לאחר יצירת המפתח, העתיקו ושמרו אותו, מכיוון שהוא יידרש בפעם הראשונה שתיגשו לממשק שורת הפקודה (CLI) באמצעות noid-cli.
שלב 2: גישה RELIANOID CLI #
מקונסולת המערכת, הפעל:
נויד-קלי
הזן את מפתח ה-API כשתתבקש.
שלב 3: הסרת ממשק מטבלת הניתוב #
בצע את הפקודה הבאה:
טבלת ניתוב-רשת-לא-מנוהלת הוסף table_eth2 -ממשק eth1
פקודה זו מונעת ניתוב של תעבורה דרכה eth1 בעת שימוש בטבלת ניתוב table_eth2.
שלב 4: חזור על התצורה (אופציונלי) #
במידת הצורך, ניתן לבטל את התצורה באמצעות הפקודה הבאה:
טבלת ניתוב-רשת-לא-מנוהלת הסר table_eth2 eth1
שיטות עבודה מומלצות #
- ביצוע שינויי מסלול במהלך שעות פעילות נמוכה או חלונות תחזוקה.
- אימות קישוריות לאחר החלת התצורה.
- ודא ששירותים אחרים אינם מושפעים משינויי מסלול.
סיכום #
בעיות ניתוב אסימטריות עלולות להתרחש כאשר מאזן עומסים מחובר לרשתות מרובות והתעבורה חוזרת דרך ממשק שונה מזה המשמש לחיבור הנכנס.
In RELIANOID, ניתן לפתור בעיה זו על ידי התאמת תצורות טבלת הניתוב והדרת ממשקים מתנגשים מטבלאות ניתוב ספציפיות.
זה מבטיח שהתעבורה תעקוב אחר נתיב הרשת הנכון ומונע בעיות קישוריות.