השיתוף עובד כל הבוקר, המנהרה מתחברת מחדש בצהריים, ואותה נתיב UNC מגיע כעת לפסק זמן בזמן ש-ping לשרת עדיין עונה. דבר לא השתנה בהגדרת השיתוף וה-VPN פועל. מה שהשתנה הוא הכתובת המקומית שאליה Samba היה קשור, ושאינה קיימת עוד לאחר שהממשק נוצר מחדש. מצב כשל זה הוא בעיית מחזור חיים של המאזין, לא בעיית הרשאות.

השיתוף עובד עד שהמנהרה מופעלת מחדש

קישור שירות לכתובת קושר את הסוקט שלו לאורך החיים של אותה כתובת. כשממשק המנהרה נהרס ונבנה מחדש, הכתובת הישנה נעלמת והסוקט שקושר אליה הולך איתה. השירות ממשיך לרוץ, אבל שום דבר לא מאזין היכן שהלקוחות מנותבים.

ping עדיין יכול להצליח אם הכתובת החדשה עונה ל-ICMP, ולכן הנגישות נראית טובה בזמן שהשיתוף מת. אותה הצלחה מטעה אחת היא מה ששולח אנשים לחומת האש.

נגישות אינה כתובת קישור

כאן מתערבבים שלושה החלטות. הנתיב מחליט אם חבילת לקוח מגיעה. הסוקט שמאזין מחליט אם משהו מקבל אותה בכתובת המקומית. תצורת השיתוף והרשאות מערכת הקבצים מחליטות מה קורה לאחר מכן. רק השני נשבר כשהממשק נוצר מחדש.

גם כתובת ממאגר ה-VPN אינה אוטומטית כתובת קישור מקומית. היא שייכת ללקוח, לא לשרת הקבצים. ping הוא מבחן גרוע לשירות קבצים.

הפרידו בין הבעלים האלה גם בתיעוד. שינוי עתידי במאגר ה-VPN לא אמור לדרוש עריכת Samba, ושינוי בהרשאות השיתוף לא אמור לדרוש הפעלה מחדש של המנהרה.

קשרו במקום לכתובת יציבה

העיצוב היציב יותר מחזיק את Samba בכתובת קבועה ונותן ל-VPN להוביל את הלקוחות אליה. כתובת השרת לא משתנה כשהמנהרה מהבהבת, ולכן המאזין אף פעם לא צריך לעקוב אחרי ממשק. הקבלה נאכפת אז על ידי נתיב ה-VPN וחומת האש של המארח, שנבנו בדיוק למשימה הזו.

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

ss -ltnp | grep ':445'

בדקו את ההתחברות מחדש, לא את האור הירוק

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

smbclient -L //files.corp.example -U alice

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

מאמרים קשורים