Drei Wege, mit mehreren VPNs ohne Verwirrung zu arbeiten
Sequentielles Umschalten, ein Arbeitsbereich pro Kunde und ein gemeinsames Gateway kosten unterschiedlich viel Abstimmung. Wählen Sie einen Weg und schreiben Sie die Übergabe auf.
Zwei Kundentunnel, ein Laptop und ein Browser-Tab, das noch irgendwo angemeldet ist, wo es nicht sein sollte. Das Schwierige an der Arbeit über mehrere private Netze ist nicht das Verbinden; es ist zu wissen, zu welchem Kontext ein Fenster gehört, wenn man umschaltet. Ein Arbeitsbereich beantwortet diese Frage: eine Identität, ein Satz Anwendungen, eine Resolver-Richtlinie und ein Ort, an dem nachgesehen wird, wenn etwas falsch aufgelöst wird. An einem schlechten Tag ist das der Unterschied zwischen einer Fünf-Minuten-Korrektur und einem Datenleck.
Entscheiden Sie, ob die Arbeit gleichzeitig ist
Wenn die Antwort nein ist, hören Sie hier auf und verwenden Sie die einfachste verfügbare Anordnung. Eine genehmigte Verbindung zur Zeit, verbunden und getrennt über den Client, dem das Profil gehört, beseitigt eine ganze Klasse von Fehlern, bevor einer davon auftreten kann.
Die Gleichzeitigkeit erhöht die Kosten: überlappende Präfixe, zwei Resolver-Richtlinien und zwei Sätze Anwendungszustand müssen bewusst getrennt werden, nicht durch Zeit.
Schreiben Sie die Anforderung ehrlich auf, denn ein erneutes Verbinden vermeiden zu wollen ist nicht dasselbe wie beide Netze gleichzeitig zu brauchen.
Sequentiell ist die billigste Anordnung
Sequentielles Arbeiten braucht keine zusätzliche Infrastruktur, und sein Fehlermodus ist eine veraltete Sitzung statt eines Routingkonflikts. Die Disziplin liegt in der Übergabe: Operation abschließen, schließen, was eine Verbindung hält, trennen und die nächste Verbindung bestätigen, bevor die Arbeit beginnt.
Ein Browser-Tab oder Terminal, das offen bleibt, trägt seinen Netzkontext nicht mit sich. Seine nächste Anfrage geht dorthin, wohin der Rechner jetzt routet, und das kann der andere Kunde sein.
Benennen Sie Profile nach dem Kunden statt nach dem Protokoll und halten Sie den Eigentümer der Zugangsdaten im Profilnamen sichtbar. Ein Profil namens work2 sagt niemandem etwas im Moment eines eiligen Wechsels.
Der Vorteil dieser Anordnung ist, dass sie prüfbar ist. Zu jedem Zeitpunkt gibt es einen Netzkontext, und das Protokoll zeigt, wann er sich geändert hat.
Ein Arbeitsbereich pro Kunde kostet Isolation
Eine virtuelle Maschine oder eine entfernte Entwicklungsumgebung pro Kunde bringt den Client, die Anwendungen und die Namen an einen Ort. Der Wechsel wird ein Fensterwechsel statt eines Netzwerkwechsels, und die beiden Kontexte können nicht durch eine verirrte Route ineinander lecken.
Das ist nicht kostenlos. Sie pflegen jetzt zwei oder drei Systeme, patchen sie und entscheiden, wo Dateien und Zugangsdaten leben. Die virtuelle Maschine erreicht das Internet auch über den Host, ihr äußerer Pfad ist also weiterhin der Pfad Ihres Laptops.
Prüfen Sie, ob der Client und eine etwaige Gerätezustandsrichtlinie diese Umgebung zulassen, bevor Sie die Gewohnheit darum herum aufbauen. Ein Client, der sich weigert, in einer virtuellen Maschine zu laufen, ist ein früh zu entdeckender Umstand.
Ein gemeinsames Gateway ist Infrastruktur
Ein separater Router, der ausgewählten Verkehr trägt, macht das Problem zu einem Netzwerkentwurf. Er funktioniert gut, wenn mehrere Personen dasselbe Kundennetz brauchen, und er versagt, wenn jemand ihn als Zauberkiste behandelt, die jeden Kunden getrennt hält.
Ein Gateway, das seinen aktiven Tunnel umschaltet, ist ein einziger gemeinsamer Kontext mit einer Warteschlange, nicht mehrere unabhängige Netze. Benennen Sie, wer es ändern darf, welche Quellen es bedient und was passiert, wenn zwei Personen gleichzeitig verschiedene Kunden brauchen. Ohne diese Antwort wird das Gateway zu einer Quelle von Ausfällen, die niemand besitzt. Es wird auch der Ort, an dem jemand still eine Prüfung abschaltet, um eine Frist zu halten.
Schreiben Sie die Übergabe in einen Eintrag
Der Eintrag muss nicht ausgefeilt sein; er muss konkret genug sein, dass jemand anderes ihm folgen kann. Unter Linux ist ein Namespace die technische Version derselben Idee, mit eigenen Schnittstellen und eigener Routing-Tabelle.
Diese Befehle legen einen Namespace an, führen einen Befehl darin aus und zeigen, welche Verbindungen der Desktop-Client derzeit hält:
sudo ip netns add customer-a
sudo ip netns exec customer-a ip route
nmcli connection show --active
Anwendungen müssen weiterhin innerhalb des Namespace gestartet werden, und die Resolver-Konfiguration darin ist eine eigene Datei. Schnittstellen zu isolieren isoliert nicht die Zwischenablage, den SSH-Agenten oder eine eingebundene Freigabe, und das sind die Leckagen, die Menschen vergessen.
Wählen Sie die kleinste Anordnung, die die Trennung bewahrt, die Sie tatsächlich brauchen, und halten Sie den Übergang sichtbar: Fenstertitel, Terminal-Prompt, Profilname und Eigentümer der Zugangsdaten sollten alle übereinstimmen, bevor eine private Anfrage gesendet wird.