Включено ли е VPN разширението на вашия Mac? Три места, където да проверите
Включено, инсталирано и свързано са различни състояния в macOS. Сравнете списъка с разширения, изхода от CLI и собствения статус на клиента, преди да преинсталирате.
Лентата с менюта съобщава „свързано“, докато списъкът с разширения все още отбелязва компонента като неактивиран. И двете показания идват от един и същ Mac и нито едно от тях не лъже: те описват различни факти. macOS пази поне три отделни състояния за VPN клиент, а темите за поддръжка ги събират в една фраза — затова съветът се люлее между преинсталиране и преконфигуриране. Знанието кое състояние ви липсва всъщност превръща един следобед на догадки в двуминутна проверка.
Тези състояния имат различни собственици, както и различни места. Едното принадлежи на регистъра с разширения на операционната система, другото — на политиката, на която устройството се подчинява, а третото — на собствената сесия на клиента. Тъй като собствениците се различават, поправка, приложена към едно от тях, рядко променя другите две.
Три състояния, които наричат с една дума
| State | Where it lives | What it does not prove |
|---|---|---|
| installed and activated | the system extension registry | that any tunnel exists |
| permitted by policy | a configuration profile or a one-time user approval | that the vendor's profile is configured |
| connected | the client's own session state | that traffic takes the intended route |
Редът, в който ги четете, е по-важен от самия списък: започнете с регистъра, защото компонент, който никога не се е активирал, не може да бъде свързан; след това прочетете политиката, която решава дали активирането е възможно изобщо; после прочетете клиента, който е единственият от трите, който описва сесия. Несъответствие високо в този ред обяснява всеки симптом под него, а несъответствие ниско оставя двете над него непокътнати.
Конкретен пример за разликата: запис в регистъра, който се чете като активиран, плюс клиент, който не може да се свърже, сочи към профила или сървъра, а не към разширението. Обратната комбинация — активиран клиент до регистър, който не показва нищо — обикновено означава, че приложението, което гледате, не е това, което пренася трафик. Запишете каква комбинация сте наблюдавали, преди да пипате каквото и да е.
Намиране на разширението, без да се доверявате на иконата
Текущите версии изброяват мрежовите разширения в System Settings, General, Login Items и Extensions. Намерете записа с името на продукта или на издателя му и прочетете превключвателя до него, а не глифа в лентата с менюта. Етикетите и позициите са се местили между версиите на macOS, затова следвайте инструкциите на доставчика за вашата версия, а не екранна снимка от по-стара статия. Напълно липсващ запис означава, че компонентът никога не е бил инсталиран и редактирането на профил няма да го създаде.
systemextensionsctl list
log show --last 10m --predicate 'subsystem == "com.apple.networkextension"' --style compact
Първата команда е най-бързият начин да видите какво е инсталирано и дали всяко разширение се отчита като активирано. Втората показва защо активирането се отказва, защото отказът обикновено идва като оплакване за политика или подпис, което никога не стига до потребителския интерфейс. Прочетете текста на отказа, преди да промените нещо: редът в журнала назовава компонента и често причината, което е точно това, което е нужно на един случай за поддръжка. Копирайте целия ред, а не фразата, която смятате за важна, защото версията и идентификаторът стоят в двата му противоположни края.
Какво признава клиентът, а списъкът — не
След като разширението е потвърдено, попитайте клиента дали има профил и сесия, защото запазен профил без връзка е проблем с конфигурацията, докато връзка, която не пренася трафик, е проблем с маршрутизацията или политиката. Ако третирате и трите като едно, се връщате към преинсталиране на компонент, който е работил през цялото време.
scutil --nc list
scutil --nc status "Work VPN"
Списъкът показва конфигурираните услуги и състоянието на връзката им; заявката за статус показва състоянието на една именувана услуга и последната ѝ грешка. Запазете този текст и версията на macOS преди преинсталиране, защото преинсталирането унищожава доказателствата и често възпроизвежда същата повреда.
Когато превключвателят е собственост на политиката
На управляван Mac конфигурационен профил може да държи разширението във фиксирано състояние, и тогава превключвателят побелява по замисъл. Недостъпният превключвател е изявление на политика, а не дефект, който да се заобикаля. Изтриването на профила или на управленската регистрация, за да го достигнете, променя позицията за сигурност на устройството, връща се при следващата проверка и оставя машина, която се отчита като съответстваща, но е загубила контролите, които са я правили съответстваща. Този резултат е по-лош от първоначалния проблем, защото скрива както причината, така и симптома.
Занесете заявката при администратора с идентификатора на разширението, точния текст на отказа и версията. Управляваното разгръщане обикновено може да одобри мрежово разширение централно за минути, което е едновременно по-бързо от заобикалянето и подлежи на одит после.
Докажете поправката върху реално приложение
След всяка поддържана корекция се свържете отново и тествайте приложението, за което съществува VPN, а не значката в лентата с менюта. След това потвърдете, че трафикът, който трябва да остане извън тунела, наистина остава извън него, защото поправка, която тихо прекарва всичко през тунела, е различна промяна от тази, която сте искали. Двуминутен тест върху реалното приложение струва повече от значка, която не можете да възпроизведете.
Едно предупреждение, докато сте в този списък: филтърът за съдържание също е мрежово разширение. Когато един сайт се провали, изключването на всички разширения в панела е груб ход, който чупи несвързана филтрация за други приложения и затруднява следващата диагностика, като премахва компонентите, които бихте сравнили. Идентифицирайте разширението по издател и роля, преди да го пипате, и запишете кое от трите състояния всъщност е било грешно.