Премахването на 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 конфигурация.

Подобни статии