Mac VPN клиент: Network Extension наспроти System Extension
Network Extension е можност, а System Extensions е механизам за испорака: одделете ги за да го изберете чекорот на одобрување во macOS и дневникот што ќе го читате.
Два термини на Apple се користат како да именуваат исто нешто, и таа забуна ги испраќа луѓето на погрешен панел со поставки. Network Extension опишува можност: поддржан начин за имплементирање на VPN тунели, прокси и филтри. System Extensions опишува механизам за испорака и одобрување за проширувања во корисничкиот простор. Современ Mac VPN клиент обично бара и двете, затоа ниту една ознака сама не објаснува симптом. Одделувањето на двете одговара кој компонент да се провери и кој чекор на одобрување да се очекува.
Две прашања, а не една ознака
Прашајте што прави компонентата пред да прашате како се инсталира. Можноста одредува која класа на провајдер постои и затоа кој код ги обработува вашите пакети. Механизмот за испорака одредува како пристигнува бинарната датотека, како се одобрува и каде се запишува нејзината состојба. Производот може да имплементира тунел за пакети без да испорача системско проширување на постари изданија, и може да испорача системско проширување што имплементира нешто друго освен тунел.
Проширувањата на јадрото се третиот термин што луѓето го мешаат. Тие беа постариот начин да се извршува привилегиран мрежен код, бараа различни одобрувања, и Apple со години ги насочува развивачите подалеку од нив. Примена на рецепт за одобрување на проширување на јадрото врз современ клиент губи време на дијалог што никогаш нема да се појави.
Прочитајте ги белешките за распоредување од добавувачот за верзијата на macOS што ја користите наместо објава на форум од постаро издание. Архитектурата се промени повеќе од еднаш, и упатствата брзо стареат. Белешка што споменува одобрување на проширување на јадрото опишува друга ера на производот.
Што обезбедува Network Extension
Рамката обезбедува типови на провајдер за вообичаените мрежни задачи: тунел за пакети за VPN сообраќај, прокси за апликации за текови по апликација, филтер за содржина за проверка на сообраќајот и ракување со DNS прокси за однесувањето на решавачот. Типот на провајдер одредува што може да прави проширувањето, и клиент што испорачува два провајдери може да извршува две различни задачи.
Тоа е важно при дијагностика бидејќи истиот симптом на поврзување може да доаѓа од тунел, филтер или DNS прокси. Блокирањето веб-страница е одлука на филтерот, неспособноста да се стигне приватна подмрежа е обично одлука на тунелот, а решавањето на погрешната адреса е обично одлука на решавачот. Именувањето на типот на провајдер го стеснува пребарувањето пред да се прочита кој било дневник.
Ништо во рамката не подразбира став за приватност. Проширувањето во корисничкиот простор сѐ уште има дозволи, конфигурација и оператор зад себе, затоа третирајте ја архитектурата како детаљ од имплементацијата, а не како сигнал за доверба. Прашајте кој управува со крајната точка и што е конфигурирана да собира.
Што менува System Extensions
Механизмот преместува привилегиран код од јадрото во корисничкиот простор и менува како оперативниот систем бара согласност. Активирањето е посебен чекор од инсталацијата, и корисникот или профил на MDM мора да го дозволи. Клиент што се инсталира, но никогаш не се активира изгледа присутен во папката Applications и не прави ништо за поврзувањето.
Состојбата ја запишува системот, а не апликацијата, што е корисно бидејќи може да се праша. Командата подолу ги наведува проширувањата што системот ги знае и нивната состојба на активирање.
systemextensionsctl list
scutil --nc list
Првата команда одговара дали компонентата е инсталирана и активирана. Втората ги наведува VPN конфигурациите што системот ги држи, што е друго прашање и често тоа што е важно кога профилот за поврзување недостасува, а не е расипан.
Кое да се провери за даден симптом
Спојте го симптомот со слојот пред да отворите панел со поставки. Конфигурацијата што недостасува е прашање на профил, инсталирана но неактивна компонента е прашање на испорака, а активна компонента што не може да пропушти сообраќај е прашање на можност.
| Symptom | First place to look |
|---|---|
| No VPN entry at all | Configuration profile or scutil list |
| Client installed, nothing happens | Extension activation state |
| Tunnel up, private host unreachable | Tunnel provider routes and policy |
| One app blocked, others fine | Filter or app proxy provider |
Текот на дневникот е заеднички доказ за последните два реда. Читањето на потсистемот за мрежно проширување кажува кој провајдер го обработил текот, и одлуката на филтерот изгледа поинаку од дефект на тунел дури и кога корисникот ги опишува двете како расипан VPN.
log show --last 10m --predicate 'process == "nesessionmanager"'
Не заклучувајте дека проширувањето е активно затоа што има икона во лентата со мени. Иконите преживуваат неуспешни активирања, и застарената икона е една од најчестите причини повикот за поддршка да започне на погрешно место. Прочитајте ја состојбата на активирање, бидејќи тоа го запишува системот.
Одобрување, MDM и митот за проширувањето на јадрото
На управувани Mac компјутери чекорот на одобрување му припаѓа на профилот на MDM, и корисник што ќе кликне Allow во System Settings сѐ уште може да биде блокиран од политика што не е ажурирана. Прашајте го тимот за работни површини кој механизам го одобрува проширувањето за таа флота пред да побарате од корисникот да кликне нешто.
На неуправуван Mac барањето за одобрување се појавува еднаш и одбивањето може да биде трајно додека проширувањето не се реинсталира. Тоа однесување ја објаснува машината каде клиентот работел пред надградба на ОС и сега пријавува врска што никогаш не се воспоставува.
Запишете го типот на провајдер, состојбата на активирање и механизмот за одобрување за клиентот што го распоредувате. Овие три факти одговараат на повеќето идни прашања за Mac VPN без повторно отворање на расправата можност наспроти испорака.