האם מחשב נייד עם VPN זקוק להעברת IP כדי להיות מהיר יותר?
ההעברה מעבירה חבילות בין ממשקים; היא אינה מאיצה דפדפן מקומי. הפרידו את תפקיד הלקוח מתפקיד השער לפני הרחבת כלל.
הפיכת המחשב הנייד לנתב היא דרך פופולרית לפתור את הבעיה הלא נכונה. ההעברה קיימת כדי שמכונה תוכל להעביר חבילות שהיעד שלהן אינו היא עצמה, ואין לה דעה על כמה מהר דפדפן באותה מכונה טוען דף. שני המסלולים נראים זהים רק משום ששניהם שולחים תנועה דרך מנהרה אחת. הפרידו ביניהם פעם אחת, וחלק גדול מהעצות על הפעלת העברה או פתיחת חומת אש יתברר כתיאור של טופולוגיה שאין לכם.
שני מסלולי חבילות שנראים זהים מהשולחן
הדפדפן במחשב הנייד יוצר בקשה משלו. המארח בוחר את מסלול המנהרה, תהליך הלקוח עוטף את החבילה ושולח אותה לעמית, והתשובה חוזרת ליישום. דבר ברצף הזה אינו חוצה החלטת העברה, משום שהמכונה הזאת היא גם המקור וגם היעד של השיחה.
כעת הציבו התקן אחר על מקטע Ethernet שהוגדר בכוונה והפכו את המחשב הנייד לשער ברירת המחדל שלו. אותו התקן מתחיל את הבקשה, המחשב הנייד מקבל חבילה שממוענת למקום אחר, והליבה צריכה להחליט אם להעביר אותה הלאה. זהו תפקיד ההעברה, והוא מגיע עם תנאים מוקדמים שתפקיד הלקוח מעולם לא נזקק להם: נתיב מעבר מורשה, מסלולים משני הצדדים ונתיב חזור שעדיין עובד אם התרגום הוא חלק מהתכנון.
| Role | Who originates the traffic | What has to be true |
|---|---|---|
| Client only | The laptop itself | Tunnel route, working resolver, supported profile |
| Gateway | Another device | Forwarding enabled, permitted transit, routes both ways, return-path decision |
מה ip_forward באמת משנה
תיעוד ה-IPv4 sysctl של הליבה מתאר את ip_forward כמתג שמאפשר למארח להעביר חבילות בין ממשקים. הוא אינו מסלול מהיר לתנועה שהמארח עצמו יצר, ואף קריאה של הפרמטר הזה אינה הופכת דפדפן מקומי למהיר יותר. אם כבר, ההעברה מוסיפה מצב ומדיניות למכונה שקודם עשתה פחות עבודה.
אותו תיעוד מזהיר ששינוי הערך מאפס פרמטרים אחרים של IPv4 לברירות המחדל שלהם למארח או לנתב. זה הופך את המתג לאירוע תצורה ולא לבדיקה: הגדרות מכווננות עלולות לחזור מתחת לרגליכם, והשינוי עשוי להיות אחראי לרגרסיה שאיש לא היה חושב לייחס לו. פירושו גם שיש להגדיר את המתג פעם אחת, במכוון, על ידי מי ששולט בתפקיד השער. הפיכתו במהלך חקירה של איטיות היא המקרה היחיד שבו תופעת הלוואי בטוחה שתתבלבל עם התסמין.
שלוש שאלות חומת אש שאינן אותה שאלה
מתן רשות למאזין VPN, מתן רשות לשירותים שהמחשב הנייד מריץ ומתן רשות לתנועה לעבור דרך המחשב הנייד הם שלוש הרשאות נפרדות. הראשונה מאפשרת לעמית להגיע לדמון, השנייה חושפת משהו מקומי, והשלישית הופכת את המכונה למעבר עבור מישהו אחר. לכל אחת היקף אחר, והאחרונה רחבה הרבה יותר מהתשובות שיישום יוצא רגיל זקוק להן.
כאשר זרימה מסוימת חסומה, שם את מקורה, יעדה, כיוונה ובעל המדיניות לפני עריכת כלל. כלל צר לאותה זרימה הוא תיקון; קבלת הכול בממשק המנהרה היא שינוי מדיניות שמקרה כולל את התיקון. דפדפן שעובד לאחר מכן מוכיח שהזרימה עובדת, לא שהכלל הרחב היה נחוץ.
מדדו רק כשהמסלול נכון
מדדו עם אותו יעד, אותו עומס ואותם תנאים בני השוואה, ושנו משתנה אחד בכל פעם. בדיקה שמאגדת שינוי העברה, הרחבת חומת אש והגדרת הצפנה מועתקת מפיקה מספר ובלי הסבר, משום ששום דבר בה לא אומר איזה משלושת הדברים הזיז את התוצאה.
הרחיקו כשלי מסלול ופותרים מהשיחה על ביצועים לגמרי. שם שנפתר לאט אינו בעיית תפוקה, והעברה שנעצרת בגודל קבוע אחד היא בדרך כלל שאלת MTU ולא מגבלת מהירות. רשמו איזה משלושת הדברים האלה באמת ראיתם לפני השוואת מספרים. אחרת הקורא הבא יורש מדידה שמודדת את הדבר הלא נכון ושינוי שאיש אינו יכול להצדיק.
תארו את הטופולוגיה שיש לכם, לא את התווית על הלקוח
מחשב נייד שמשתף את החיבור שלו, מארח רשת מכולות מנותבת או נושא תנועה עבור מכונה וירטואלית הוא שער, איך שלא יקרא לעצמו התוכנה. המילה לקוח מתארת כיצד המנהרה מוגדרת, לא אם חבילות מועברות למישהו אחר.
הפכו את התפקיד למפורש במדריך ההפעלה: מה מייצר תנועה, מה חייב לעבור דרך המכונה, ובאיזה משני אלה עוסקת המשימה הנוכחית. הפעילו את תפקיד השער כשהוא שייך לתכנית הנתמכת, לא כהתאמת מהירות בלתי מוסברת שמוחלת על טופולוגיה שמעולם לא נזקקה לה.