Du schließt ein iPhone zum Laden an, und eine Minute später leitet das VPN auf deinem Mac keinen Verkehr mehr durch. Die Systemeinstellungen zeigen einen neuen Dienst namens iPhone USB, und der naheliegende Schritt ist, ihn zu löschen. Dieser Schritt ist oft falsch. Der Dienst kann der Persönliche Hotspot des Telefons sein, oder er kann eine Verbindung sein, die Xcode und Gerätewerkzeuge für die Kommunikation mit dem Telefon nutzen, und beide verhalten sich so unterschiedlich, dass die Identifikation vor dem Löschen kommen muss.

Schritt 1: Lies den Dienst, den das Telefon tatsächlich angelegt hat

Öffne die Systemeinstellungen und dann Netzwerk, und vergleiche die Dienstliste mit abgestecktem und angeschlossenem Telefon. Unter dem aktuellen macOS erscheint der Dienst als iPhone USB. Notiere, ob er aktiv ist, wo er in der Dienstreihenfolge steht und ob der Mac ihn für die Standardroute verwendet. Die Dienstreihenfolge ist wichtig, weil macOS den höchsten aktiven Dienst wählt, der ein Ziel erreichen kann, nicht den, dessen Namen du kennst.

Apples Anleitung zum Persönlichen Hotspot beschreibt den Mechanismus: Solange der Persönliche Hotspot auf dem Telefon aktiviert ist, kann eine USB-Verbindung den Mac die Mobilfunkverbindung des Telefons nutzen lassen, selbst wenn du nur laden wolltest. Das ist kein Fehler des VPN-Clients; die Routing-Tabelle folgt einem Dienst, der vor Wi-Fi hochgekommen ist.

Wenn der Dienst existiert, aber mit angeschlossenem Telefon inaktiv bleibt, siehst du höchstwahrscheinlich eine reine Ladeverbindung oder eine Geräteverbindung statt eines Hotspots. Behalte diese Unterscheidung, denn die nächsten beiden Schritte prüfen sie, statt aus dem Symbol zu raten.

Schritt 2: Prüfe, welche Route der VPN-Endpunkt nutzt

Lies die Route zur aufgelösten Adresse des VPN-Servers, nicht zu einer Website. route -n get ist schreibgeschützt und gibt die Schnittstelle und das Gateway aus, die der Kernel verwenden würde, und beide Zeilen zählen.

scutil --dns | head -20
route -n get 203.0.113.10

Die Adresse oben ist ein Platzhalter für die Dokumentation. Ersetze sie durch den Endpunkt, den dein Client anzeigt, und verwende route -n get -inet6 für einen IPv6-Endpunkt. Vergleiche die Ausgabe mit abgestecktem und angeschlossenem Telefon und füge zwischen den beiden Messungen keine Routen hinzu und entferne keine. Wechselt die Schnittstelle von en0 zur iPhone-USB-Schnittstelle, hat die Hotspot-Route die Suche gewonnen, und die äußere Verbindung des VPN läuft jetzt über Mobilfunk.

Eine Routenänderung erklärt nicht jeden Fehler. Der Client kann den Server weiterhin erreichen und später am inneren Verkehr des Tunnels scheitern, weil der neue Weg eine andere MTU hat oder der Anbieter das Protokoll blockiert. Lies den eigenen Fehler des Clients, bevor du etwas änderst: Ein äußerer Handshake-Timeout deutet auf Erreichbarkeit, ein aufgebauter Tunnel, der keinen Verkehr mehr durchlässt, auf MTU, DNS oder Richtlinie.

Schritt 3: Trenne einen Hotspot von einer Gerätekommunikationsverbindung

Xcode 15 und neuer spricht mit einem per USB angeschlossenen Gerät über einen netzwerkbasierten Kanal, der link-lokales IPv6 umfasst, sodass ein Entwickler-Mac eine zusätzliche Schnittstelle zeigen kann, die nichts mit Internetzugang zu tun hat. Apples technische Notiz TN3158 dokumentiert dieses Verhalten und warnt, dass VPN oder Sicherheitsfilterung es stören kann. Das ist die Umkehrung des Hotspot-Problems: Das VPN bricht nicht ab, weil das Telefon Internet anbietet; die Geräteverbindung bricht ab, weil das VPN sie abfängt.

Zwei Beobachtungen trennen die Fälle ohne Paketmitschnitt. Erstens: Prüfe, ob die Schnittstelle eine routbare Adresse und eine Standardroute hat oder nur eine link-lokale fe80::-Adresse; nur link-lokal bedeutet, dass es keinen Internetweg gibt. Zweitens: Beende das VPN und sieh nach, ob Xcode das Gerät wieder erreicht. Wenn ja, fangen die Routen oder der Inhaltsfilter des VPN den link-lokalen Verkehr ab, und die Korrektur gehört in die Split-Tunnel- oder Filterkonfiguration, nicht in den Netzwerkbereich.

ifconfig | grep -A4 -E '^en[0-9]+:'
netstat -rn -f inet6 | head

Urteile nicht allein nach dem Schnittstellennamen. macOS legt diese Schnittstellen an und zerstört sie, während Geräte angeschlossen werden, und die en-Nummer wird zur Laufzeit vergeben, sodass derselbe Mac nach einem Neustart oder Kabelwechsel eine andere Nummer zeigen kann.

Schritt 4: Reproduziere den Fehler mit jeweils einer Variablen

Wenn du weißt, welcher Dienst beteiligt ist, reproduziere das Problem in fester Reihenfolge. Beginne mit abgestecktem Telefon und verbundenem VPN. Schließe das Telefon bei ausgeschaltetem Persönlichem Hotspot an, warte, bis sich die Netzwerkliste beruhigt hat, und führe die Routenabfrage erneut aus. Steck ab, aktiviere den Persönlichen Hotspot, schließ wieder an und wiederhole. Notiere Schnittstelle, Gateway und Clientfehler für jeden der drei Zustände, und du hast einen Vergleich statt einer Erinnerung.

Wenn das VPN nur im Hotspot-Zustand ausfällt, halte das Telefon von diesem Weg fern: Schalte den Persönlichen Hotspot beim Laden aus oder verschiebe den Dienst iPhone USB in der Dienstreihenfolge unter Wi-Fi. Wenn es in jedem angeschlossenen Zustand ausfällt, auch bei ausgeschaltetem Hotspot, sieh dir an, wie der Client einen Netzwerkwechsel behandelt. Manche Clients bauen den Tunnel ab, wenn sich der primäre Dienst ändert, und brauchen eine neue Verbindung; das ist Clientverhalten, kein Telefonfehler.

Ändere pro Versuch eine Sache. Dienst löschen, VPN-Konfiguration zurücksetzen und Client neu installieren in derselben Minute hinterlassen einen funktionierenden Mac und keine Ahnung, welche Aktion ihn repariert hat.

Schritt 5: Entscheide, was du behältst und was du überprüfst

Lass die Geräteverbindung in Ruhe. Eine Schnittstelle zu entfernen, die Xcode nutzt, repariert keine VPN-Route, und es bricht die Gerätebereitstellung bis zum nächsten Anschließen. Wenn der Hotspot-Dienst wirklich unerwünscht ist, schalte zuerst den Persönlichen Hotspot auf dem Telefon aus; das ist die dokumentierte Kontrolle, und sie übersteht einen Neustart.

Wenn du doch einen Dienst entfernst, entferne den, den du identifiziert hast, und prüfe dann zwei Dinge: Die Route zum VPN-Endpunkt ist wieder auf der erwarteten Schnittstelle, und der Tunnel leitet Verkehr zu einer internen Adresse, nicht nur ins Internet. Notiere Dienstreihenfolge und Clientversion, denn ein macOS-Update kann ändern, wie das Telefon erscheint.

Ordne dann den Fehler ein, den du tatsächlich gesehen hast. Ein Handshake-Timeout, ein MTU-Stillstand nach dem Aufbau des Tunnels und DNS-Antworten vom Anbieter sind drei verschiedene Probleme mit drei verschiedenen Korrekturen. Der USB-Dienst ist in allen drei Fällen der Auslöser; die Ursache ist er selten.

Ähnliche Artikel