האם קובץ אפשרויות pppd משותף שובר את ה-VPN האחר שלכם?
שני לקוחות VPN מבוססי PPP יכולים לקרוא את אותן ברירות מחדל של pppd, כך שתיקון לאחד משנה בשקט את השני. אתרו למי שייכת האפשרות לפני העריכה.
אתם מוסיפים שורה אחת כדי שפרופיל PPTP עקשן יתחבר, ושבוע לאחר מכן לקוח ה-L2TP שעבד חודשים מפסיק. הקריאה המתבקשת היא ששני הפרוטוקולים מתנגשים כעת. לעתים קרובות יותר, שני הלקוחות מפעילים pppd, שניהם קוראים את אותן ברירות מחדל, והשורה שהוספתם מעולם לא הוגבלה לפרופיל שתיקנתם. קובץ האפשרויות המשותף הוא הצימוד, והפרוטוקולים חפים מפשע.
מה לקוח יורש כשמתחיל
לקוח מבוסס PPP ממעט לבנות את שורת הפקודה מאפס. הוא מפעיל את pppd, שקורא את ברירות המחדל של המערכת, אחר כך קובץ משתמש או מסוף, אחר כך את הארגומנטים שהלקוח מעביר, והלקוח עשוי גם להפנות אותו לקובץ peer. כל אחת מהשכבות האלה יכולה לשאת תוסף, שיטת אימות או הנחיית ניתוב, והשכבה הראשונה שקובעת אפשרות מוגנת יכולה לנעול אותה מפני שינויים מאוחרים.
לכן השאלה המועילה אינה איזה VPN נשבר אלא איזו שכבה סיפקה את ההגדרה. לקוח שמייצר את הארגומנטים של עצמו נראה עצמאי ובכל זאת יורש כל מה שקובץ המערכת מכיל.
אתרו את מקור השורה לפני שתשנו אותה
התחילו מהתהליך שרץ כשהחיבור פעיל. שורת הפקודה מראה אילו קבצים הועברו במפורש, וכל מה שלא נזכר שם הגיע מנתיב ברירת מחדל.
ps -o pid=,args= -C pppdאם רשימת הארגומנטים מכילה שם peer, קראו את הקובץ הזה. אם לא, ההגדרה שאתם רודפים אחריה נמצאת בנתיב משותף. המדריך של pppd מפרט את סדר הקריאה של הקבצים האלה ואילו אפשרויות משתמש רגיל אינו יכול לעקוף, ולכן שורה מאוחרת לפעמים לא עושה דבר. אפשרות מוגנת כמו נתיב תוסף אינה ניתנת להחלפה בשורה מאוחרת ברמת המשתמש, כך שעריכת הקובץ הלא נכון אינה מייצרת שינוי נראה.
שורת התוסף שהולכת אחרי כל לקוח
תוסף שנטען בקובץ המערכת הוא הגורם הגרוע ביותר, מפני שהוא משנה מה תהליך PPP חדש מנסה לטעון, לא משנה באיזה כפתור המשתמש לחץ. תוסף ה-L2TP הוא הדוגמה הקלאסית: נכון לפרופיל אחד, חסר משמעות או מזיק לפרופיל PPTP שיוצא מאותן ברירות מחדל.
העבירו אותו לקובץ peer שהלקוח בוחר, או להגדרות פר-חיבור של הלקוח עצמו אם הוא תומך בהן. מחיקה גורפת מתקנת את הלקוח השני ושוברת את הראשון, וכך בדיוק הבעיות האלה נודדות בין צוותים.
אמתו כל לקוח לאחר ההעברה
בדקו את שני החיבורים מאותו מחשב, זה אחר זה, וקראו את האפשרויות שנדונו ולא את חלון ההצלחה. הפלט שלמטה מדפיס את קבוצת האפשרויות ש-pppd הרכיב בפועל, ורק הרשימה הזאת חשובה.
sudo pppd call office debug dumpחזרו על הבדיקה עבור הלקוח השני והשוו בין שני הפלטים. האפשרות שהעברתם צריכה להופיע בדיוק באחד מהם. אם היא מופיעה בשניהם, הלקוח מייצר אותה מחדש והתיקון שייך לפרופיל ההוא ולא לקובץ המשותף. רשמו ליד החיבור היכן ההגדרה נמצאת כעת, כדי שהאדם הבא לא יגלה מחדש את הצימוד בכך שישבור אותו שוב.