Auf Ubuntu Touch werden zwei Fragen als eine gestellt: Läuft dieses Desktop-Paket, und bekommt das Telefon ein VPN. Der Container beantwortet die erste. Nichts darin beantwortet die zweite, denn ein Container hat seine eigene Sicht auf das Dateisystem, während der Netzwerk-Stack und seine Richtlinie dem Telefon gehören. Verfolgen Sie, wo jedes Teil liegt, bevor Sie einen Workflow versprechen.

Zwei Fragen, die wie eine aussehen

Eine Desktop-Anwendung in einem Container auszuführen ist eine Packaging-Leistung. Den Verbindungsmanager des Telefons dazu zu bringen, einen Tunnel aufzubauen, ihn über den Ruhezustand zu halten und zu entscheiden, was beim Abbruch geschieht, ist Plattformarbeit. Ein Installationsprogramm, das im Container durchläuft, beweist nur, dass die Abhängigkeiten dort aufgelöst wurden. Es sagt nichts darüber, ob das Telefon ein zugelassenes VPN-Plugin hat, ob der Tunnel einen Neustart übersteht oder welche Anwendungen ihn nutzen.

Halten Sie beides in jeder Bewertung in getrennten Sätzen. Sie zusammenzuziehen ist der Weg, auf dem aus einer Labordemo eine Support-Zusage wird, die niemand einhalten kann.

Was die Containergrenze tatsächlich liefert

Ein Libertine-Container ist eine beschreibbare Umgebung, die über einem Telefon mit schreibgeschütztem Basissystem liegt. Deshalb funktioniert das Installieren eines Pakets dort überhaupt, und deshalb funktioniert dieselbe Installation auf dem Basissystem nicht. Er führt Anwendungen im Vordergrund aus, integriert in das Display des Telefons, und er ist ausdrücklich kein Weg, Serversoftware zu betreiben oder einen Prozess im Hintergrund am Leben zu halten. Diese Einschränkungen zählen für einen VPN-Client, von dem erwartet wird, dass er eingeschaltet bleibt.

libertine-container-manager list
libertine-container-manager info -i <container-id>
libertine-launch -i <container-id> bash

Die Auflistung zeigt, welche Container existieren, und der info-Befehl meldet Distribution und Installationszustand. Der launch-Befehl gibt Ihnen eine Shell im Inneren, und das ist der richtige Ort, um zu prüfen, was das Paket tatsächlich installiert hat. Was er Ihnen nicht gibt, ist Befugnis über das Netzwerk des Telefons. Eine Binärdatei im Container, die einen Tunnel anlegen will, braucht eine privilegierte Schnittstelle, und diese Schnittstelle gehört zur Plattform, nicht zum Container.

Wo der Netzwerkzustand des Telefons liegt

Namen, Routen und Verbindungsprofile werden vom Netzwerkdienst des Telefons verwaltet, außerhalb jedes Containers. Ein Tunneleintrag erscheint dort nur, wenn die Plattform diesen VPN-Typ unterstützt und der Betreiber das passende Plugin installiert hat.

nmcli connection show
ip route get 10.42.0.10
ip -br addr show

Die Verbindungsliste ist die verbindliche Antwort auf die Frage, ob es ein VPN-Profil auf diesem Telefon gibt. Fehlt Ihr Tunnel in dieser Liste, wird keine Arbeit im Container ihn dort erscheinen lassen. Die Routenabfrage beantwortet eine engere Frage: welche Schnittstelle dieses Telefon für ein Ziel verwenden würde. Das ist die Prüfung, die nach jeder Änderung wiederholt werden sollte, denn ein Profil kann existieren und trotzdem nicht der Weg sein, den eine bestimmte Anwendung nimmt.

Lesen Sie einen Workflow von Anfang bis Ende

Nehmen Sie die echte Aufgabe, etwa eine private Datenbank mit einem Desktop-Client zu erreichen. Folgen Sie dann dem Ablauf: Die Anwendung startet im Container, löst den Hostnamen über den Resolver auf, den das Telefon verwendet, öffnet einen Socket, und das Routing des Telefons entscheidet, welche Schnittstelle ihn trägt. Jeder Schritt hat einen Eigentümer. Der Container besitzt die Anwendung, die Plattform besitzt Resolver und Routing, und der VPN-Endpunkt besitzt die Authentifizierung. Ein Fehler an einem Schritt ist ein Fehler dieses Schritts, nicht der ganzen Idee.

Testen Sie den privaten Hostnamen und die private Adresse getrennt. Ein Name, der zu einer öffentlichen Adresse auflöst, und eine Adresse, die in einen Tunnel geroutet wird, sind verschiedene Beobachtungen, und ihre Verwechslung erzeugt einen Bericht, der nicht reproduzierbar ist.

Was festzuhalten ist, wenn die Antwort nein lautet

Manchmal ist die ehrliche Schlussfolgerung, dass dieses Telefon in dieser Version den Workflow nicht tragen kann. Schreiben Sie das mit den Belegen auf: welche Verbindungstypen die Plattform bietet, welche Clients versucht wurden und an welchem Schritt es scheiterte.

Nennen Sie dann die akzeptierte Alternative, sei es ein anderes Gerät, eine andere Zugriffsmethode oder eine engere Aufgabe, die im Container bleibt, ohne private Netze zu berühren.

Widerstehen Sie der Versuchung, das Basissystem neu einzuhängen oder unerklärte Rechte zu vergeben, um ein altes Rezept nachzubauen. Ein Telefon, das startet, ist nicht dasselbe wie ein Telefon, über dessen Netzwerkrichtlinie Sie auch ein halbes Jahr später noch nachdenken können.

Ähnliche Artikel