Dva termíny Apple se používají, jako by označovaly totéž, a tento zmatek posílá lidi do špatného panelu nastavení. Network Extension popisuje schopnost: podporovaný způsob implementace VPN tunelů, proxy a filtrů. System Extensions popisuje mechanismus doručení a schválení pro rozšíření v uživatelském prostoru. Moderní Mac VPN klient obvykle potřebuje obojí, a proto žádná ze značek sama o sobě symptom nevysvětlí. Oddělení obou odpovídá, kterou komponentu prohlédnout a který krok schválení očekávat.

Dvě otázky, ne jedna značka

Ptejte se, co komponenta dělá, než se zeptáte, jak se instaluje. Schopnost určuje, která třída poskytovatele existuje, a tedy který kód zpracovává vaše pakety. Mechanismus doručení určuje, jak binárka dorazí, jak je schválena a kde se zaznamenává její stav. Produkt může implementovat paketový tunel bez dodání systémového rozšíření na starších verzích a může dodat systémové rozšíření, které implementuje něco jiného než tunel.

Rozšíření jádra jsou třetí termín, který lidé míchají. Byla starším způsobem spouštění privilegovaného síťového kódu, vyžadovala jiná schválení a Apple už roky odvádí vývojáře pryč. Použití receptu na schválení rozšíření jádra u moderního klienta plýtvá časem na dialog, který se nikdy neobjeví.

Přečtěte si poznámky k nasazení od dodavatele pro verzi macOS, kterou používáte místo příspěvku na fóru z dřívější verze. Architektura se změnila více než jednou a pokyny rychle stárnou. Poznámka, která zmiňuje schválení rozšíření jádra, popisuje jinou éru produktu.

Co Network Extension poskytuje

Rámec poskytuje typy poskytovatelů pro běžné síťové úlohy: paketový tunel pro VPN provoz, proxy aplikací pro toky po aplikacích, filtr obsahu pro inspekci provozu a správu DNS proxy pro chování resolveru. Typ poskytovatele určuje, co rozšíření může dělat, a klient, který dodává dva poskytovatele, může dělat dvě různé práce.

To je důležité při diagnostice, protože stejný symptom připojení může pocházet z tunelu, filtru nebo DNS proxy. Blokování webu je rozhodnutí filtru, nemožnost dosáhnout privátní podsítě je obvykle rozhodnutí tunelu a rozlišení špatné adresy je obvykle rozhodnutí resolveru. Pojmenování typu poskytovatele zúží hledání dřív, než se přečte jakýkoli protokol.

Nic v rámci nenaznačuje postoj k soukromí. Rozšíření v uživatelském prostoru má stále oprávnění, konfiguraci a operátora za sebou, takže architekturu berte jako detail implementace, ne jako signál důvěry. Ptejte se, kdo provozuje koncový bod a co je nakonfigurován sbírat.

Co System Extensions mění

Mechanismus přesouvá privilegovaný kód z jádra do uživatelského prostoru a mění, jak operační systém žádá o souhlas. Aktivace je samostatný krok od instalace a uživatel nebo profil MDM ji musí povolit. Klient, který se nainstaluje, ale nikdy se neaktivuje vypadá přítomně ve složce Applications a pro připojení nedělá nic.

Stav zaznamenává systém, ne aplikace, což je užitečné, protože jej lze dotazovat. Příkaz níže vypisuje rozšíření, která systém zná, a jejich stav aktivace.

systemextensionsctl list
scutil --nc list

První příkaz odpovídá, zda je komponenta nainstalována a aktivována. Druhý vypisuje konfigurace VPN, které systém drží, což je jiná otázka a často ta, na které záleží, když profil připojení chybí, místo aby byl rozbitý.

Kterou prohlédnout u daného symptomu

Přiřaďte symptom k vrstvě, než otevřete panel nastavení. Chybějící konfigurace je otázka profilu, nainstalovaná ale neaktivní komponenta je otázka doručení a aktivní komponenta, která nepropustí provoz, je otázka schopnosti.

SymptomFirst place to look
No VPN entry at allConfiguration profile or scutil list
Client installed, nothing happensExtension activation state
Tunnel up, private host unreachableTunnel provider routes and policy
One app blocked, others fineFilter or app proxy provider

Tok protokolu je společný důkaz pro poslední dva řádky. Čtení subsystému síťového rozšíření řekne, který poskytovatel tok zpracoval, a rozhodnutí filtru vypadá jinak než selhání tunelu, i když uživatel obojí popisuje jako rozbitou VPN.

log show --last 10m --predicate 'process == "nesessionmanager"'

Nedělejte závěr, že rozšíření je aktivní, protože je v panelu nabídek ikona. Ikony přežívají neúspěšné aktivace a zastaralá ikona je jedním z nejčastějších důvodů, proč hovor na podporu začíná na špatném místě. Čtěte místo toho stav aktivace, protože ten systém zaznamenává.

Schválení, MDM a mýtus rozšíření jádra

Na spravovaných Macích patří krok schválení profilu MDM a uživatel, který klikne na Allow v System Settings, může být stále blokován zásadou, která nebyla aktualizována. Ptejte se desktopového týmu, který mechanismus rozšíření pro tuto flotilu schvaluje, než požádáte uživatele, aby něco klikl.

U nespravovaného Macu se výzva ke schválení objeví jednou a odmítnutí může být trvalé, dokud se rozšíření nepřeinstaluje. Toto chování vysvětluje stroj, na kterém klient fungoval před upgradem OS a nyní hlásí připojení, které se nikdy nenaváže.

Zapište typ poskytovatele, stav aktivace a mechanismus schválení pro klienta, kterého nasazujete. Tyto tři skutečnosti odpovídají na většinu budoucích otázek o Mac VPN, aniž by znovu otevíraly spor schopnost versus doručení.

Související články