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

בדקו לאן הנתיב באמת מצביע

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

Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling

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

קשרו את הקידומת לפרופיל, לא למתאם

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

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

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

נקו נתיבים ישנים לפני שמוסיפים את החדש

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

Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false

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

התחברו מחדש בסדר אחר

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

rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1

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

דעו מה הנתיב לא יכול לעשות

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

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

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