איך לבדוק לקוח VPN שני ב-Mac בלי לאבד את הראשון
לקוח שני משנה מסלולים, DNS ותוספים, ולא רק כפתור. תעדו את קו הבסיס, שנו נתיב אחד בכל פעם, ושחזרו את זרימת העבודה המקורית.
אתם מתקינים את הלקוח השני כדי להשוות אותו, והראשון מפסיק לעבוד. שום דבר לא נמחק, ושתי האפליקציות עדיין מותקנות. מה שהשתנה נמצא מתחתיהן: תוסף מערכת, הגדרת DNS או מסלול ברירת מחדל, ושני הלקוחות כבר לא מסכימים מי הבעלים שלו. ההתקנה אינה החלק המסוכן; החלק המסוכן הוא להריץ את שניהם בלי קו בסיס מתועד לחזור אליו.
התסמין: התצורה שעבדה מפסיקה אחרי ההתקנה השנייה
לקוחות VPN מודרניים ב-macOS מספקים לעתים קרובות תוסף רשת במקום ממשק בסגנון ישן. התקנה של אחד כזה עשויה לבקש אישור, להוסיף פרופיל תצורה או לרשום תוסף מערכת שמשפיע על התעבורה עוד לפני שנוצר חיבור כלשהו. התוסף נטען לפני שחלון האפליקציה מופיע, ולכן הלקוח המקורי עלול להיכשל בזמן שהחדש יושב בחוסר מעש.
אם הלקוח המקורי לא מצליח להתחבר אחר כך, או מתחבר ולא פותר דבר, התוסף החדש הוא החשוד הראשון. זו אינה הוכחה לקונפליקט, אבל כאן מתחילה הבדיקה. בשלב הבא בדקו את רשימת התוספים ואת פרופילי התצורה המותקנים, ולא רק את תיקיית האפליקציות.
תעדו את קו הבסיס לפני שמתקינים משהו
רשמו מה עובד כרגע: תוצאת האפליקציה, גרסת הלקוח, נקודת הקצה שאליה הוא מתחבר, וכל החרגה לפי אפליקציה או למנהרה מפוצלת. שמרו את הפרופיל המקורי דרך התהליך המוגן שהלקוח תומך בו, ולא על ידי העתקת קבצים מחבילת אפליקציה.
scutil --dns | head -40
netstat -rn | head -30
ifconfig | grep -E "^(utun|ipsec)"
לכדו את שלוש הפלטים בזמן שהלקוח העובד מחובר. הם נותנים לכם את מצב הפותר, את טבלת המסלולים ואת רשימת הממשקים שתצורה עובדת מייצרת, וזה בדיוק מה שדרוש להשוואה מאוחר יותר. אם ה-Mac מנוהל על ידי מעסיק, אשרו לפני ההתחלה שההשוואה מותרת, כי חיבור עבודה אוטומטי עלול להיפעל מחדש בזמן הבדיקה ואז התוצאה אינה מייצגת אף אחד משני הלקוחות לבדו. שמרו את שלושת הפלטים לצד הערת הפרופיל כדי שלהשוואה המאוחרת יהיה עוגן.
שנו נתיב פעיל אחד בכל פעם
עצרו את החיבור המקורי באמצעות הבקרה הרגילה שלו, ואז הפעילו את החלופה. שני לקוחות מחוברים בו-זמנית נותנים תוצאה שמתארת את השילוב, ולא את אחד המוצרים. שמרו על נקודת קצה ומשימה בני-השוואה אם השירותים מאפשרים זאת, כי הורדה מהירה יותר דרך שרת אחר משווה שתי אפשרויות חיבור ולא שתי אפליקציות.
אם הלקוח החדש נכשל, שמרו את השגיאה הראשונה שלו לפני שתשנו משהו אחר. השגיאה הראשונה בדרך כלל מציינת את השלב, וניסיון שני לאחר שינוי הגדרות מדווח לעתים קרובות משהו פחות שימושי.
השוו DNS, מסלולים והאפליקציה, ולא רק מהירות
הריצו את אותן שלוש פקודות כשהלקוח החדש מחובר והשוו אותן שורה אחר שורה. פותר שמצביע למקום אחר, או טבלת מסלולים בלי תת-הרשת הפרטית, מסביר את רוב ההבדלים בהתנהגות לפני שתסתכלו על התפוקה. אחר כך בדקו את האפליקציה עצמה עם אותה משימה, כי לקוח שמתחבר מהר ולא מצליח לפתור שם פנימי לא ניצח בהשוואה גם אם חלון המצב נראה טוב יותר.
שימו לב באיזה ממשק השתמשה התעבורה. ב-macOS שם ממשק המנהרה אינו מדד מהימן למי מהלקוחות הבעלים של המסלול, לכן צמדו את רשימת הממשקים לטבלת המסלולים במקום לקרוא רק אחד מהם. אם קיימים שני ממשקי utun, זה שנושא את התעבורה שלכם הוא זה עם מסלול תואם ורשומת פותר. ניחוש לפי השם הוא הדרך שבה מאשימים את הממשק הלא נכון, כי הממשק שקיים אינו תמיד זה שנושא את התעבורה.
קראו את שלושת הפלטים במקום לעבור עליהם במבט חטוף. בפלט הפותר, שרת שמות שמקושר לממשק utun מראה איזה לקוח התקין אותו; בטבלת המסלולים, מסלול ברירת המחדל מציין את הממשק שנושא את התעבורה; ברשימת הממשקים, התקן utun שני פירושו שנוצרה מנהרה שנייה. שלושת השורות האלה, בהשוואה לקו הבסיס, מפרידות בין תצורה ששוחזרה לבין כזו שבה שני הלקוחות עדיין מתחרים.
שחזרו, ואז הסירו בצורה נקייה
חזרו דרך זרימת העבודה של הלקוח המקורי עצמו ואשרו שפלטי קו הבסיס תואמים למה שתיעדתם. אם הפותר או טבלת המסלולים לא מתאוששים, עצרו ותקנו זאת לפני שתסירו משהו אחר. הסירו את התצורה שאינה בשימוש דרך הרכיב שבבעלותה: מסיר ההתקנה של הלקוח, הפרופיל או הגדרות תוסף המערכת.
סיימו בעדכון ההערות עם הגרסה שבדקתם, נקודת הקצה שהשתמשתם בה והתוצאה של כל אחד. חצי שנה אחר כך הרשומה הזו היא ההבדל בין החלטה לשמועה.