Zwei Apple-Begriffe werden verwendet, als benennten sie dasselbe, und diese Verwechslung schickt Leute in den falschen Einstellungsbereich. Network Extension beschreibt eine Fähigkeit: einen unterstützten Weg, VPN-Tunnel, Proxys und Filter zu implementieren. System Extensions beschreibt einen Bereitstellungs- und Genehmigungsmechanismus für Erweiterungen im Benutzerbereich. Ein moderner Mac-VPN-Client braucht meist beides, weshalb keines der beiden Etiketten allein ein Symptom erklärt. Die Trennung beider beantwortet, welche Komponente zu prüfen ist und welcher Genehmigungsschritt zu erwarten ist.

Zwei Fragen, nicht ein Etikett

Fragen Sie, was die Komponente tut, bevor Sie fragen, wie sie installiert wird. Die Fähigkeit entscheidet, welche Provider-Klasse existiert und damit, welcher Code Ihre Pakete verarbeitet. Der Bereitstellungsmechanismus entscheidet, wie die Binärdatei ankommt, wie sie genehmigt wird und wo ihr Zustand erfasst wird. Ein Produkt kann einen Paket-Tunnel implementieren, ohne auf älteren Versionen eine Systemerweiterung auszuliefern, und es kann eine Systemerweiterung ausliefern, die etwas anderes als einen Tunnel implementiert.

Kernel-Erweiterungen sind der dritte Begriff, den Leute hineinmischen. Sie waren der ältere Weg, privilegierten Netzwerkcode auszuführen, sie verlangten andere Genehmigungen, und Apple lenkt Entwickler seit Jahren davon weg. Ein Genehmigungsrezept für Kernel-Erweiterungen auf einen modernen Client anzuwenden, verschwendet Zeit an einen Dialog, der nie erscheinen wird.

Lesen Sie die Bereitstellungshinweise des Anbieters für die macOS-Version, die Sie verwenden statt eines Forumsbeitrags aus einer früheren Version. Die Architektur änderte sich mehr als einmal, und Anleitungen altern schlecht. Ein Hinweis, der die Genehmigung von Kernel-Erweiterungen erwähnt, beschreibt eine andere Ära des Produkts.

Was Network Extension bietet

Das Framework bietet Provider-Typen für die üblichen Netzwerkaufgaben: einen Paket-Tunnel für VPN-Verkehr, einen App-Proxy für Ströme pro Anwendung, einen Inhaltsfilter zur Prüfung des Verkehrs und DNS-Proxy-Verwaltung für das Verhalten des Resolvers. Der Provider-Typ bestimmt, was die Erweiterung tun kann, und ein Client, der zwei Provider ausliefert, kann zwei verschiedene Aufgaben erledigen.

Das zählt bei der Diagnose, weil dasselbe Konnektivitätssymptom von einem Tunnel, einem Filter oder einem DNS-Proxy kommen kann. Eine Website zu blockieren ist eine Filterentscheidung, ein privates Subnetz nicht zu erreichen ist meist eine Tunnelentscheidung, und die falsche Adresse aufzulösen ist meist eine Resolverentscheidung. Den Provider-Typ zu benennen verengt die Suche, bevor irgendein Protokoll gelesen wird.

Nichts am Framework impliziert eine Datenschutzhaltung. Eine Erweiterung im Benutzerbereich hat weiterhin Berechtigungen, Konfiguration und einen Betreiber dahinter, behandeln Sie die Architektur also als Implementierungsdetail statt als Vertrauenssignal. Fragen Sie, wer den Endpunkt betreibt und was er zu sammeln konfiguriert ist.

Was System Extensions ändert

Der Mechanismus verlagert privilegierten Code aus dem Kernel in den Benutzerbereich und ändert, wie das Betriebssystem Zustimmung anfordert. Die Aktivierung ist ein separater Schritt von der Installation, und der Benutzer oder ein MDM-Profil muss sie erlauben. Ein Client, der installiert, aber nie aktiviert wirkt im Ordner Applications vorhanden und tut nichts für die Konnektivität.

Der Zustand wird vom System statt von der App erfasst, was nützlich ist, weil er abgefragt werden kann. Der folgende Befehl listet die Erweiterungen, die das System kennt, und ihren Aktivierungszustand auf.

systemextensionsctl list
scutil --nc list

Der erste Befehl beantwortet, ob die Komponente installiert und aktiviert ist. Der zweite listet die VPN-Konfigurationen, die das System hält, was eine andere Frage ist und oft die entscheidende, wenn ein Verbindungsprofil fehlt statt defekt zu sein.

Welche bei einem bestimmten Symptom zu prüfen ist

Ordnen Sie das Symptom der Schicht zu, bevor Sie einen Einstellungsbereich öffnen. Eine fehlende Konfiguration ist eine Profilfrage, eine installierte, aber inaktive Komponente ist eine Bereitstellungsfrage, und eine aktive Komponente, die keinen Verkehr durchlässt, ist eine Fähigkeitsfrage.

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

Der Protokollstrom ist der gemeinsame Beleg für die letzten beiden Zeilen. Das Lesen des Netzwerkerweiterungs-Subsystems sagt, welcher Provider den Strom verarbeitet hat, und eine Filterentscheidung sieht anders aus als ein Tunnelfehler, selbst wenn der Benutzer beides als kaputtes VPN beschreibt.

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

Schließen Sie nicht, dass eine Erweiterung aktiv ist, weil ein Symbol in der Menüleiste vorhanden ist. Symbole überleben fehlgeschlagene Aktivierungen, und ein veraltetes Symbol ist einer der häufigsten Gründe, warum ein Supportanruf am falschen Ort beginnt. Lesen Sie stattdessen den Aktivierungszustand, denn den erfasst das System.

Genehmigung, MDM und der Mythos der Kernel-Erweiterung

Auf verwalteten Macs gehört der Genehmigungsschritt zum MDM-Profil, und ein Benutzer, der in System Settings auf Allow klickt, kann weiterhin durch eine Richtlinie blockiert werden, die nicht aktualisiert wurde. Fragen Sie das Desktop-Team, welcher Mechanismus die Erweiterung für diese Flotte genehmigt, bevor Sie den Benutzer bitten, irgendetwas anzuklicken.

Auf einem nicht verwalteten Mac erscheint die Genehmigungsaufforderung einmal, und eine Ablehnung kann dauerhaft sein, bis die Erweiterung neu installiert wird. Dieses Verhalten erklärt die Maschine, auf der der Client vor einem Betriebssystem-Upgrade funktionierte und nun eine Verbindung meldet, die nie zustande kommt.

Notieren Sie Provider-Typ, Aktivierungszustand und Genehmigungsmechanismus für den Client, den Sie bereitstellen. Diese drei Fakten beantworten die meisten künftigen Fragen zu einem Mac-VPN, ohne die Debatte Fähigkeit gegen Bereitstellung erneut zu öffnen.

Ähnliche Artikel