Sie öffnen die VPN-Liste, wählen den anderen gespeicherten Eintrag und erwarten einen sauberen Wechsel: eine neue Ausgangsadresse und sonst alles unverändert. Genau diese Annahme sollten Sie zuerst fallen lassen. Unter macOS ist ein gespeichertes VPN ein vollständiger Netzwerkdienst und keine Voreinstellung, deshalb kann ein Dienstwechsel Routing, DNS und Authentifizierung gleichzeitig verändern. Die Menüleiste zeigt, welcher Dienst aktiv ist; sie sagt nicht, ob der Tunnel darunter zu Ihrem Vorhaben passt.

Die gespeicherte Liste ist keine Profilauswahl

Jeder Eintrag unter Systemeinstellungen > Netzwerk ist ein eigener Dienst mit eigener Serveradresse, eigenem Konto, eigener Authentifizierungsmethode, eigenen DNS-Servern und Optionen wie Alle Daten über die VPN-Verbindung senden. Ältere Versionen führen dieselbe Liste in den Systemeinstellungen. Zwei Einträge können auf denselben Hostnamen zeigen und sich trotzdem anders verhalten, weil das Protokoll oder die Client-Erweiterung entscheidet, wie der Tunnel aufgebaut wird.

Drittanbieter-Clients führen getrennte Listen. Tunnelblick liest Konfigurationen aus seinem eigenen Ordner, WireGuard pflegt seine eigene Tunnelliste, und OpenVPN Connect speichert Profile in der App. Manche registrieren eine Konfiguration im System; andere behalten alles in der App und erscheinen nie in der eingebauten Liste. „Zum gespeicherten wechseln“ bedeutet daher je nach App, der das Profil gehört, etwas anderes.

scutil --nc list gibt die in der Systemkonfiguration registrierten VPN-Dienste mit Namen in Anführungszeichen aus. Verwenden Sie genau diese Namen, wenn Sie einen Wechsel skripten, und nehmen Sie nicht an, dass die Liste jeden Drittanbieter-Tunnel abdeckt.

Was ein Wechsel tatsächlich ändert

Vier Dinge bewegen sich gemeinsam, wenn der aktive Dienst wechselt. Die Standardroute folgt dem neuen Tunnel, wenn dieser Dienst alle Daten sendet; die Resolver-Liste wechselt zu den DNS-Servern, die der Dienst vorgibt; neue Verbindungen nehmen die neue Tunneladresse als Quelle; und die verwendeten Anmeldedaten gehören zum neuen Dienst. Eine native Konfiguration und ein App-Profil sind nicht austauschbar, selbst wenn beide am selben Gateway enden.

What you assumeWhat the system does
Same server name means same tunnelProtocol, certificate and account are per service
All traffic follows the active VPNOnly when Send all traffic over VPN is on
DNS switches with the VPNOnly if that service defines DNS servers
Disconnect ends the connectionOn Demand or a management profile can reconnect
Open sessions survive the switchTCP sessions tied to the old address stall

Der DNS-Teil überrascht viele. macOS hält eine Resolver-Reihenfolge ein, und scutil --dns zeigt, welche Resolver verwendet werden und an welcher Schnittstelle. Ein VPN-Dienst ohne konfigurierte DNS-Server kann den WLAN-Resolver antworten lassen, sodass Sie eine neue öffentliche Adresse mit dem alten DNS-Verhalten bekommen und daraus schließen, der Wechsel habe nur halb funktioniert.

Warum die alte Konfiguration immer wiederkommt

Wenn Sie trennen und derselbe Dienst sich kurz darauf wieder verbindet, sehen Sie zuerst bei On Demand nach. Eine Regel für automatisches Verbinden kann einen Dienst zurückbringen, wenn eine App eine passende Domain auflöst, und ein Verwaltungsprofil kann dieselbe Regel erzwingen. Den Eintrag zu löschen hilft selten: Eine per Profil installierte Konfiguration kehrt meist beim nächsten Profil-Update zurück, und eine manuelle kann ihr Passwort im Keychain zurücklassen, während der Dienst verschwunden ist.

Einen zweiten Dienst zu starten stoppt den ersten nicht immer. Je nach Client und Protokoll können Sie mit zwei Tunneln und zwei Routensätzen enden, und Dienstreihenfolge plus Routenspezifität entscheiden, welcher den Verkehr trägt, nicht das zuletzt angeklickte Symbol. Prüfen Sie die Schnittstellen, bevor Sie einen Wechsel annehmen.

Prüfen Sie den Tunnel, nicht das Häkchen

Arbeiten Sie die Systemsicht durch, bevor Sie Einstellungen anfassen.scutil --nc status "Name" meldet, was das System glaubt;ifconfig zeigt, ob eine utun-Schnittstelle eine Adresse hat;netstat -rn -f inet zeigt, wohin die Standardroute zeigt;scutil --dns zeigt den tatsächlich genutzten Resolver. Öffnen Sie dann eine frische Verbindung und bestätigen Sie die Ausgangsadresse, denn eine bereits angemeldete Seite nutzt womöglich noch einen Socket, der an den alten Tunnel gebunden ist.

Wenn DNS noch aus dem lokalen Netz antwortet, vergleichen Sie die konfigurierten Server des Dienstes mit der Resolver-Liste. Wenn die Standardroute noch auf die physische Schnittstelle zeigt, ist der Dienst im Split-Tunnel oder nicht vollständig verbunden. Beides sind Konfigurationsergebnisse, kein Beweis für einen defekten Client.

Eine Wechselreihenfolge ohne Überraschungen

  1. Notieren Sie den aktuellen Dienst und ob ein Profil ihn verwaltet.
  2. Trennen Sie ihn zuerst, wenn die beiden Tunnel nicht koexistieren können.
  3. Verbinden Sie das Ziel und warten Sie auf Verbunden, nicht auf Verbinden.
  4. Prüfen Sie Standardroute, Resolver-Liste und eine frische Ausgangsadresse.
  5. Starten Sie Apps neu, die langlebige Sitzungen halten.

Behalten Sie den alten Eintrag, bis der neue diese Prüfungen besteht, und geben Sie jedem Eintrag einen eigenen Namen; identische Beschriftungen machen den nächsten Fehler schwerer zuzuordnen. Apples Mac-Hilfe beschreibt die native Seite unter VPN-Verbindung auf dem Mac einrichten, die man vor dem Bearbeiten einer verwalteten Konfiguration prüfen sollte.

Wenn die Auswahl zurückspringt, behandeln Sie das zuerst als Richtlinie oder On Demand. Bestätigen Sie, wem die Konfiguration gehört und ob sie auf automatisches Verbinden gesetzt ist, und entscheiden Sie dann, ob Sie einen Dienst wechseln oder gegen ein Profil kämpfen.

Ähnliche Artikel