Das Kontrollkästchen sieht wie die ganze Entscheidung aus, und unter Android ist es das nicht. Dasselbe angehakte Paket bedeutet „nur diese App nutzt das VPN“ bei einer Nur-einschließen-Basis und „diese App umgeht das VPN“ bei einer Basis „Ausgewählte ausschließen“. Leute installieren einen Client, finden eine Liste namens Erlaubte Apps, haken das eine Paket an, das ihnen wichtig ist, und gehen mit einer Richtlinie weg, die das Gegenteil tut. Den Client zu wechseln hilft selten; die Basis zu wählen, bevor man die Liste anfasst, hilft.

Die Basis ist die Richtlinie, nicht das Kontrollkästchen

Unter Androids VpnService konfiguriert ein Client das Routing pro App mit addAllowedApplication oder addDisallowedApplication. Ersteres beschränkt den Tunnel auf die gelisteten Pakete, Letzteres tunnelt alles außer ihnen. Clients verpacken beides in eine Oberfläche, die fast identisch aussehen kann, und manche benennen den Abschnitt nach der Liste statt nach dem Modus, sodass die Abschnittsüberschrift allein nicht verrät, welche Basis aktiv ist.

Lesen Sie die Modussteuerung über der Liste, nicht die Überschrift. Im ursprünglichen OpenVPN for Android-Client hat die Liste der erlaubten Apps sowohl eine Nur-einschließen- als auch eine Ausgewählte-ausschließen-Basis, und ein gebrandeter Build kann beide anders formulieren und dabei dieselben zwei Verhaltensweisen beibehalten. Ein Screenshot aus einem anderen Client oder aus einer älteren Version desselben ist kein Beleg für den Modus, in dem Sie sich befinden.

What the client showsWhat a checked app gets
Allowed apps, include-only baselineThe app uses the tunnel; unchecked apps do not
Allowed apps, exclude-selected baselineThe app bypasses the tunnel; everything else uses it
No list configuredClient or profile default, commonly all apps

Diese Tabelle ist der ganze Mythos. Eine App anzuhaken ist eine Aussage über ein Paket; die Basis entscheidet, ob die Aussage „schließe sie ein“ oder „schließe sie aus“ lautet.

Erst der Modus, dann das Paket

Arbeiten Sie in dieser Reihenfolge, denn eine Auswahl unter einer Basis kann einen Moduswechsel überleben und ihre Wirkung stillschweigend umkehren:

  1. Ermitteln Sie das echte Paket und ob es die Kopie des persönlichen oder des Arbeitsprofils ist.
  2. Öffnen Sie die App-Auswahl-Einstellungen für genau das VPN-Profil, mit dem Sie sich verbinden.
  3. Legen Sie die Basis fest, deren Bedeutung „nur ausgewählte Apps nutzen das VPN“ ist.
  4. Schließen Sie das gewünschte Paket ein und lassen Sie nicht betroffene Apps außerhalb des Satzes.
  5. Verbinden Sie neu, damit der Client die Schnittstelle mit der neuen Liste neu aufbaut.

Das Profil zählt genauso viel wie das Paket. Ein Client kann mehrere Profile halten, und die Auswahl pro App gehört zu dem, mit dem Sie tatsächlich verbinden; ein Profil zu bearbeiten, das Sie nie nutzen, ändert nichts. Auf einem verwalteten Gerät ist das Arbeitsprofil ein separater Nutzer mit einer eigenen Kopie der App und einer eigenen Richtlinie, sodass die persönliche Instanz im Tunnel nichts über die Arbeitsinstanz aussagt.

Verbinden Sie neu, bevor Sie das Ergebnis beurteilen

VpnService liest die App-Listen, wenn die Tunnelschnittstelle aufgebaut wird. Ein laufender Tunnel übernimmt eine Listenänderung nicht unbedingt, und Clients unterscheiden sich darin, ob sie automatisch neu aufbauen oder darauf warten, dass Sie trennen und erneut verbinden.

Wenn die Änderung nichts zu bewirken scheint, testen Sie die Neuverbindung, bevor Sie die Liste anzweifeln. Stellen Sie dann eine frische Anfrage, statt eine bereits geöffnete Seite neu zu laden: Eine App, die eine bestehende Verbindung hält, ist ein schlechtes Testobjekt, und das Ergebnis, das Sie sehen, kann zur alten Schnittstelle gehören.

Ihr Ablauf kann die App verlassen

Eine App kann an einen Browser zur Anmeldung, an einen Dokumentbetrachter oder an ein Freigabeziel übergeben. Unter einer Nur-einschließen-Basis liegen diese Helfer außerhalb des Tunnels, sodass ein Ablauf auf halber Strecke scheitern kann, obwohl die erste App korrekt konfiguriert war. Schließen Sie den Helfer nur ein, wenn der Ablauf ihn wirklich braucht, und fügen Sie ihn bewusst hinzu, statt ihn während einer Demo zu entdecken.

Die Auswahl pro App ersetzt auch nicht die eigene Routenrichtlinie der Verbindung. Das Profil muss weiterhin die Zielpräfixe und Adressfamilien tragen, die die App nutzt, und das Gateway muss den Dienst weiterhin zulassen. Eine korrekt gelistete App mit unerreichbarem Ziel sieht aus wie eine falsch konfigurierte Liste.

Testen Sie beide Seiten, dann schreiben Sie die Richtlinie auf

Testen Sie eine frische Anfrage in der eingeschlossenen App und eine in einer App, die draußen bleiben soll. Vergleichen Sie die Ausgangsadresse und den Zugriff auf eine private Ressource und wiederholen Sie das nach einer Neuverbindung. Nutzt Ihre Organisation Androids Richtlinie zum Blockieren von Verbindungen ohne VPN, kann eine ausgeschlossene App vollständig blockiert werden, statt direkt zu gehen; das ist die arbeitende Richtlinie, kein Fehler, den man umgehen sollte.

Notieren Sie den Modus, die Paketnamen mit ihrem Profil, welche Apps umgehen sollen, welche Adressfamilien der Tunnel trägt und was passieren soll, wenn der Tunnel down ist. Kann der Client den Ablauf nicht sauber ausdrücken, wählen Sie einen breiteren freigegebenen App-Satz oder eine Richtlinie für verwaltete Profile, statt Firewall-Regeln auf Root-Ebene zu bearbeiten, was nicht Teil von Androids unterstütztem Per-App-Mechanismus ist.

Ähnliche Artikel