היי כולם,
נראה שיש בעיות בטיפול בסשנים של חוות NAT. לאחר ששרת backend אחד או יותר קורס, כל הלקוחות או חלקם אינם מסוגלים להתחבר יותר, גם לאחר ששרתים backend חוזרים לפעול. רק הפעלה מחדש של החווה עוזרת.
התצורה שלי:
- RELIANOID גרסת CE 7.6.1
- חוות l4xnat, TCP, NAT, שמירה על כתובת IP מקורית, farmguardian check_tcp (חיבורים חתוכים), מספר שרתים אחוריים
כמה דברים שגיליתי:
א) /usr/share/perl5/Relianoid/Farm/L4xNAT/Backend.pm בקובץ setL4FarmBackendsSessionsRemove:
שורה 307: 'if ($value eq $value_check)' אף פעם לא עובד, לדוגמה “80000201” eq “201”
ב) הסרת sessions אינה פועלת בצורה אמינה כאשר מספר backends קורסים בו זמנית (לאחר תיקון מהיר של השורה הנ"ל על ידי הסרת 80000 מ-$value)
פלט לדוגמה מתוך "nft list map ip nftlb persist-myfarm":
שלושת המערכות האחוריות:
טבלה IP nftlb {
מפה מתמשכת-החווה שלי {
הקלד ipv4_addr: סימן
גודל 65535
פסק זמן 12 שעה
אלמנטים = { 192.168.1.11 timeout 12h פג 11h59m56s208ms : 0x80000200, 192.168.1.12 timeout 12h פג 11h59m51s32ms : 0x80000201,
192.168.1.10 timeout 12h פג 11h59m54s508ms : 0x80000202 }
}
}
כיבוי בו זמנית של מערכות ההפעלה 201 ו-202, הסשן של כתובת ה-IP המקורית 192.168.1.12 לא הוסר:
טבלה IP nftlb {
מפה מתמשכת-החווה שלי {
הקלד ipv4_addr: סימן
גודל 65535
פסק זמן 12 שעה
אלמנטים = { 192.168.1.11 timeout 12h פג 11h59m59s412ms : 0x80000200, 192.168.1.12 timeout 12h פג 11h59m47s92ms : 0x80000201 }
}
}
בברכה,
סטפן