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

הפניה היא הצעה מהנתב

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

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

בהבחנה הזו רוב החקירות של הפניות טועות.

IPv4 ו-IPv6 מוסרים אותה אחרת

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

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

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

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

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

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

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

מה הפניה לא יכולה להסביר

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

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

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

בדקו את הנתיב לפני שתאשימו את המנהרה

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

הפניה לא אמורה להיות עד פעם הסיבה לכך שנתיב מוגן הופך בשקט ללא מוגן, ולכן מדיניות הקבלה שייכת לסקירת התכנון. ההגדרה ב-RFC 792 נשארת ההפניה למה שהודעת IPv4 רשאית לומר.

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

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