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

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

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

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

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

מדוע ip_forward אינו חל

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

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

קראו את הטבלה המקומית שהחליטה

ip rule show מדווח בדרך כלל על כלל בעדיפות אפס ששולח את כל החיפושים תחילה לטבלה המקומית, ו-ip route show table local מפרט את הכתובות של המארח עצמו עם היקף מקומי. הטבלה הזו כוללת כתובות בממשקים שמושבתים מנהלית אך עדיין מוגדרים. כתובות IPv4 שהוקצו סטטית שורדות בדרך כלל נפילת קישור, וכך פינג לגשר מושבת עדיין יכול להצליח ולהפתיע את המפעיל.

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

למה באמת מגיע עמית

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

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

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

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