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

התחל מהמקום שאליו הסוקט באמת כרוך

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

ss -ltnp | grep 8443
netstat -ano | findstr 8443

קרא את עמודת הכתובת המקומית ולא את המצב. 127.0.0.1:8443 פירושו loopback בלבד, והתיקון הוא כריכה ל-0.0.0.0 או לכתובת המנהרה עצמה. 0.0.0.0:8443 מקבל בכל הממשקים, וזה רחב ממה שרוב האנשים מתכוונים אליו כשהמכונה גם בעלת כתובת ציבורית; 10.64.7.15:8443 הוא הגרסה הצרה שמאזינה רק במקום שבו העמית יכול להגיע. שים לב גם לשם התהליך באותה פלט, כי מופע תועה מבדיקה קודמת הוא סיבה נפוצה לכך שהפורט נראה פתוח ועונה בתוכן שגוי.

אחר כך שאל אם משהו יכול לנתב לכתובת הזו

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

Symptom from the callerWhat it usually meansWhere to look next
Connection refused immediatelyNothing is listening on the address the packet reachedThe bind address and the process owning the port
Connection times out with no replyA policy dropped the packet, or no route returnsServer forwarding, host firewall, cloud security group
Works from the same machine onlyListener is on loopback, or no route reaches the tunnel addressBind address, then the caller's route to that prefix

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

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

לבסוף, מצא את המדיניות שמתירה את הזרימה

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

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

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

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

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

ssh -N -R 8443:127.0.0.1:8443 [email protected]

הממסר זקוק ל-GatewayPorts clientspecified בהגדרות שרת ה-SSH שלו, אחרת המאזין המועבר נכרך ל-loopback בממסר והעמית נתקל באותה דחייה כמו קודם. לכל דבר שמחזיק יותר מאחר צהריים, מאזן עומסים או ingress עם בדיקת בריאות ותעודה לשם המפורסם הוא הכלי הטוב יותר, ומנהרה בין אתרים עם נתיבים לשתי תת-הרשתות היא התשובה הנכונה כששתי רשתות באמת צריכות לדבר.

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

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