שרת האינטרנט נעלם כשמתחבר לקוח ה-VPN
בקשות מגיעות לרשת המקומית ותשובות יוצאות דרך המנהרה. בחרו מסלול מוחרג, ניתוב לפי מדיניות או תרגום בהתאם למה שהמארח חייב לעשות.
שירות שנעלם ברגע שלקוח VPN מתחבר בדרך כלל אינו חסום, אלא עונה דרך הממשק הלא נכון. הבקשה מגיעה לכרטיס הרשת הפיזי, התהליך כותב תשובה, וטבלת הניתוב מוסרת את התשובה הזו למנהרה, מכיוון שהמנהרה השתלטה על ברירת המחדל. הלקוח המרוחק אינו רואה לעולם תשובה לחיבור שהוא פתח, ולכן הוא ממתין ואז מדווח על פסק זמן. שום כלל חומת אש אינו מעורב בשום מקום ברצף הזה.
התסמין: בקשות פנימה, תשובות החוצה בדלת הלא נכונה
הסימן הוא חיבור נכנס שנכשל בזמן שכל השאר במארח עובד. סימן נוסף הוא מארח שנגיש מהרשת המקומית אך לא מהאינטרנט, או כזה שעובד עד שהמנהרה מתחברת מחדש ואז נעצר. בכל מקרה הכיוון קדימה התנהג כראוי וכיוון החזרה לא, מה שמצביע על אי־סימטריה בניתוב ולא על מדיניות.
אמתו זאת בכך שתצפו לאן התשובה הולכת, ולא בכך שתצפו איך הבקשה מגיעה.
לכדו גם בממשק הפיזי וגם בהתקן המנהרה בו־זמנית. אם הבקשה מופיעה בממשק הפיזי והתשובה מופיעה במנהרה, האבחון תם. תשובה שאינה מופיעה בשום מקום משמעה שהשירות מעולם לא קיבל את החיבור, וזו חקירה נפרדת עם סיבה נפרדת.
שני מסלולי ברירת מחדל והחלטת ניתוב אחת
לקוח שמתקין מסלול ברירת מחדל מוסיף רשומה שנייה עם מטריקה טובה מזו של שער הרשת המקומית. חלק מהלקוחות מתקינים במקום זאת שני מסלולים של חצי טווח, שמכסים את אותו מרחב בצורה מפורטת יותר ומנצחים בחיפוש באותה דרך. כל אחת משתי השיטות משאירה חבילות יוצאות רגילות בוחרות בממשק המנהרה.
הבחירה הזו נעשית לפי היעד בלבד. הגרעין אינו שואל מאין הגיעה חבילה אלא אם כלל מדיניות מורה לו לעשות זאת. לכן התשובה לכתובת ציבורית של לקוח נמסרת למנהרה, שקצהּ המרוחק מקבל חבילה עם כתובת מקור שאינה שלו וזורק אותה או מעביר אותה למקום חסר תועלת. בלינוקס, סינון קפדני של מסלול ההפוך יכול גם להפיל את הבקשה המקורית לפני שהשירות שלכם רואה אותה בכלל, וזה נראה מבחוץ זהה. שני התסמינים באים מאותו חוסר קשר בין זרימה נכנסת לתשובה שלה.
המנהרה מתנהגת כשורה לאורך כל הדרך. נאמר לה לשאת את מסלול ברירת המחדל והיא עושה בדיוק את זה.
תקנו את מסלול החזרה בלי לשבור את המנהרה
קיימות שלוש צורות תיקון עמידות, והבחירה תלויה בכמה מהתעבורה של המארח עצמו צריכה להישאר בתוך המנהרה. החרגת היעד או היציאה של השירות היא השינוי הקטן ביותר. ניתוב לפי מדיניות על פי מקור או סימון הוא המדויק ביותר. תרגום מקור הוא הגס ביותר והקל ביותר להסבר שנתיים אחר כך.
בחרו לפי מה שהמארח חייב לעשות, לא לפי איזה קטע קוד מצאתם ראשון.
החרגת יעד מתאימה לשירות עם כתובת ציבורית יציבה, וקשירת התהליך לכתובת הפיזית במקום לכל כתובת הופכת את ההחרגה הזו לבטוחה יותר. כלל מדיניות שבוחר טבלה לפי מקור משאיר את החיבורים של המארח עצמו בתוך המנהרה ובמקביל מחזיר את תשובות השירות דרך שער ה-WAN. הסוואת תשובות לממשק ה-WAN מגיעה לאותו מסלול במחיר של הסתרת כתובת הלקוח מיומני השירות. שינוי חד־פעמי של מסלול ברירת המחדל הוא אבחון ולא תצורה, כי הלקוח כותב מחדש את המסלולים בכל התחברות מחדש.
ip rule show
ip route get 203.0.113.9 from 192.0.2.44כשהמארח מנתב גם עבור רשת מקומית שמאחוריו
קפיצה אחת החוצה, אותה אי־סימטריה חוזרת עם יותר חלקים נעים. התעבורה מגיעה לנתב מהאינטרנט, מועברת להתקן פנימי, והדרך היחידה חזרה של אותו התקן היא המנהרה, ולכן התשובה מגיעה ללקוח המקורי מכתובתו של הספק עצמו. מעקב החיבורים פוגש אז תשובה לזרימה שהוא לא ראה מתחילה, וזורק אותה. הלקוח, בינתיים, לא רואה דבר כלל.
שני שינויים מתקנים זאת: תרגום יעד כדי שהחיבור הנכנס יגיע להתקן הפנימי, ותרגום מקור כדי שתשובת אותו התקן תיראה כאילו היא מגיעה מהנתב עצמו.
בקושחת הנתב הביטוי הרגיל הוא כלל מדיניות שמצמיד את העברת היציאה לצד ה-WAN בזמן שהתעבורה של הנתב עצמו נוסעת במנהרה. בלי תרגום מקור, התשובה הזו ממוענת ללקוח החיצוני ולהתקן הפנימי פשוט אין מסלול אליה. בדקו שלושה דברים בנפרד, כי הם נכשלים מסיבות שונות: חיבור שמגיע מבחוץ, כזה שהמארח יוזם בעצמו, ושאילתת שם.