تبدو إزالة 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، زر المعلومات، إزالة التكوين. توثّق Apple هذا التدفق، وهو يحافظ على تماسك مخزن التكوين. تحرير 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 يخرج عن سيطرتك، فحدد العنصر باسم الخدمة في الوصول إلى سلسلة المفاتيح وأبطل الحساب أو الشهادة أو مفتاح النظير الذي تمثله بيانات الاعتماد المحفوظة. ملف تكوين منسوخ هو بيانات اعتماد حية حتى بعد الإزالة المحلية.

تحقق من الإزالة، واقرأ الملف الشخصي العائد بشكل صحيح

تكتمل الإزالة عندما تختفي الخدمة من العرضين وتبقى مختفية بعد إعادة التشغيل. تحقق من scutil --nc list لمعرّف الخدمة، وتأكد من أن تحليل الأسماء يستخدم الموزِّع الذي تتوقعه باستخدام scutil --dns، ثم أعد التشغيل مرة واحدة، لأن قواعد عند الطلب ووكلاء تسجيل الدخول هما الأمران اللذان لا يظهران إلا عند إقلاع جديد.

إذا كانت لا تزال موجودة، فلا تحذف المزيد من الكائنات. حدد أي طبقة أعادت إنشاءها: ملف MDM شخصي يدفع الخدمة من جديد، أو وكيل عميل يعيد بناءها، أو أن الخدمة لم تُزل أصلًا لأن الاسم لم يتطابق. هذا الجواب يحدد ما إذا كنت تحتاج إلى أداة إلغاء التثبيت من البائع، أو فريق تكنولوجيا المعلومات لديك، أو جولة أخرى عبر مربع حوار الإزالة نفسه. يغطي دليل الإزالة من Apple المسار المدعوم للخدمات التي أضفتها؛ أما البقايا فهي الجزء الذي عليك فحصه بنفسك: إزالة تكوين VPN.

مقالات ذات صلة