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

שתי תצוגות של אותה מנהרה

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

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

קראו את שתי התצוגות בלי לשנות דבר

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

Get-VpnConnection | Select-Object Name,ServerAddress,TunnelType,SplitTunneling,ConnectionStatus

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

Get-NetIPInterface | Select-Object InterfaceIndex,InterfaceAlias,AddressFamily,ConnectionState,InterfaceMetric

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

עקבו אחרי המסלול אל היעד

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

Find-NetRoute -RemoteIPAddress 10.60.20.10 | Select-Object -First 1
Get-NetIPAddress -InterfaceIndex 37 | Select-Object IPAddress,AddressFamily,PrefixLength

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

השוו שלושה מצבים באותם תנאים

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

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

אל תמחקו את מה שלא זיהיתם

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

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

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