Mac VPN klient: Network Extension versus System Extension
Network Extension je schopnost a System Extensions mechanismus doručení: oddělte je, abyste zvolili krok schválení v macOS a protokol, který číst.
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.
| 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 |
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í.