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

מה באמת מוחק כפתור הסרת התצורה

כל VPN שאתה מוסיף הופך לשירות רשת, אותו סוג אובייקט כמו Wi-Fi או Thunderbolt Bridge. macOS שומר את כולם כאן: /Library/Preferences/SystemConfiguration/preferences.plist, לכל אחד מזהה שירות, שם תצוגה ומילון תצורה שמתאר את סוג המנהרה, את כתובת השרת ואת אופן הפעולה של המנהרה.

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

מה שהכפתור לא משיג הוא כל מה שנמצא בבעלות תת-מערכת אחרת. חבילת האפליקציה נמצאת כאן: /Applications. לקוח NetworkExtension פועל כהרחבת מערכת שנרשמת בנפרד מהתצורה שלו. פרטי האימות הם פריטי מחזיק מפתחות עם בקרות הגישה של מחזיק המפתחות שמחזיק בהם. פרופיל תצורה הוא בבעלות מערכת הפרופילים. הסר את השירות וכל הארבעה נשארים בדיוק במקום שבו היו.

הצג מה ה-Mac עדיין חושב שמותקן

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

scutil --nc list
networksetup -listallnetworkservices
profiles -P

scutil --nc list הוא התצוגה הסמכותית של תצורות VPN, עם מצב החיבור, שם השירות ומזהה השירות. לעתים קרובות הוא מציג רשומות שלעולם לא מופיעות ברשימת ההגדרות: שירותים שנותרו מלקוח שהסרת לפני חודשים, ותצורות לפי דרישה שמתחילות בשקט. networksetup -listallnetworkservices מציג את שירותי הרשת בשמות שכלי שורת הפקודה מצפים להם, וזה מה שאתה צריך כדי להסיר לפי שם. profiles -P מציג את פרופילי התצורה המותקנים; ב-Mac מנוהל ה-VPN אולי אינו שירות שהוספת בעצמך, אלא מטען בתוך אחד מהפרופילים האלה.

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

הסר את השירות דרך הבעלים שלו

לשירות שהוספת בעצמך, הישאר במסלול המתועד: הגדרות המערכת, VPN, כפתור המידע, הסרת תצורה. אפל מתעדת את המסלול הזה, והוא שומר על מאגר התצורה עקבי. עריכה ידנית של preferences.plist בזמן שמערך הרשת פועל היא הדרך שבה אתה מגיע לשירותים כפולים או זומביים שאף ממשק לא יסיר.

מטרמינל, הסר את השירות לפי שם עם networksetup -removenetworkservice "Service Name", ואז אשר עם scutil --nc list. הפקודה פועלת על אותה רשימת שירותים כמו הממשק, ולכן שם שלא מופיע ב-networksetup -listallnetworkservices לא יוסר באף אחד משני המסלולים. כשלקוח מחזיק במנהרה, השתמש קודם במסלול ההסרה או ההסרה של אותו לקוח, כי הלקוח בונה מחדש את השירות בפעם הבאה שהוא מופעל.

אם ה-VPN הגיע מניהול מכשירים, אתה לא הבעלים. פרופילים שמותקנים על ידי MDM יכולים להיות מסומנים כלא ניתנים להסרה, ואפילו פרופיל שניתן להסרה עשוי להידחף שוב בבדיקה הבאה. אשר עם profiles -P, ואז השתמש בתהליך היציאה של הארגון שלך. מחיקת המטען מקומית נכשלת או מפעילה התקנה מחדש.

השאריות שמתחברות מחדש בלי שירות

הדיווח הרגיל «זה חזר» אינו השירות שחוזר אלא ההרחבה שמחזיקה בו. הצג הרחבות מערכת רשומות והרחבות אפליקציה מסוג הרחבת רשת:

systemextensionsctl list
pluginkit -m -p com.apple.networkextension.packet-tunnel

לקוח NetworkExtension מחזיק את ספק המנהרה שלו מותקן תחת המזהה שלו, בנפרד מכל תצורה. ההרחבה יכולה להישאר פעילה אחרי שהתצורה נעלמה, וסוכן שורת התפריטים של הלקוח יכול ליצור תצורה חדשה בפעם הבאה שהוא מופעל, ולפעמים לעשות שימוש חוזר בשם שהרגע מחקת. בדוק פריטי התחברות ואת העוזר של הספק כאן: /Library/LaunchDaemons לפני שאתה מסיק שההסרה נכשלה.

פרטי האימות הם השארית השנייה. סיסמה שמורה או תעודת לקוח במחזיק המפתחות של ההתחברות לא נמחקות עם השירות, וסוד משותף של IPSec חי היסטורית במחזיק המפתחות של המערכת, ולכן הסרה והוספה מחדש לפעמים מדלגות על בקשת הסיסמה. אם ה-Mac יוצא משליטתך, אתר את הפריט לפי שם השירות ב-Keychain Access ובטל את החשבון, התעודה או מפתח העמית שהפרטים השמורים מייצגים. A copied configuration file is a live credential even after local removal.

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

ההסרה הסתיימה כשהשירות נעלם משתי התצוגות ונשאר נעלם אחרי הפעלה מחדש. בדוק ב-scutil --nc list את מזהה השירות, אשר שפתרון השמות משתמש במפענח שאתה מצפה לו עם scutil --dns, ואז הפעל מחדש פעם אחת, כי כללי לפי דרישה וסוכני התחברות הם שני הדברים שרק מציגים את עצמם באתחול נקי.

אם הוא עדיין שם, אל תמחק אובייקטים נוספים. ברר איזו שכבה יצרה אותו מחדש: פרופיל MDM דוחף שוב את השירות, סוכן לקוח בונה אותו מחדש, או שהשירות מעולם לא הוסר כי השם לא התאים. התשובה הזו קובעת אם אתה צריך את מסיר ההתקנה של הספק, את צוות ה-IT שלך או עוד סבב באותו דו-שיח הסרה. מדריך ההסרה של אפל מכסה את המסלול הנתמך לשירותים שהוספת; השאריות הן החלק שאתה חייב לבדוק בעצמך: remove a VPN configuration.

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