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

שלב 1: לאמת את השרת ואת התעבורה

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

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

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

שלב 2: להוכיח את הנתיב בהשוואה מבוקרת אחת

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

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

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

Resolve-DnsName vpn.corp.example
tracert -h 8 -w 500 vpn.corp.example
Test-NetConnection vpn.corp.example -Port 443 -InformationLevel Detailed

לחיצת יד TCP מוצלחת בפורט 443 אומרת שמאזין ענה שם. היא אינה אומרת דבר על מאזין UDP בפורט 51820, ולא על כך שהמשא ומתן הושלם.

שלב 3: לקרוא את אירועי האבטחה ברגע הכשל

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

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

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

Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction, LogBlocked
Get-NetFirewallRule -Enabled True -Direction Outbound | Where-Object DisplayName -match 'VPN'
Get-WinEvent -LogName 'Microsoft-Windows-Windows Firewall With Advanced Security/Firewall' -MaxEvents 20

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

שלב 4: לבדוק העברה אחרי שהמנהרה עולה

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

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

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

sysctl net.ipv4.ip_forward
nft list ruleset | grep -n -E 'forward|masquerade'
tcpdump -ni tun0 -c 10

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

לאמת את התיקון ולהסיר את מה שלא עזר

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

הריצו שוב את אותן שלוש פקודות והשוו אותן לפלטים ששמרתם לפני השינוי.

Test-NetConnection vpn.corp.example -Port 443 -InformationLevel Detailed
tracert -h 8 -w 500 vpn.corp.example
Get-NetFirewallRule -Enabled True | Where-Object DisplayName -match 'VPN' | Select-Object DisplayName, Action

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

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