Trzy sposoby pracy z wieloma VPN bez zamieszania
Sekwencyjne przełączanie, jedna przestrzeń robocza na klienta i wspólna brama kosztują różne ilości koordynacji. Wybierz jedną i zapisz przekazanie.
Dwa tunele klientów, jeden laptop i karta przeglądarki, która wciąż jest zalogowana tam, gdzie nie powinna. Trudną częścią pracy w kilku sieciach prywatnych nie jest łączenie; to wiedza, do którego kontekstu należy okno, gdy przełączasz. Przestrzeń robocza odpowiada na to pytanie: jedna tożsamość, jeden zestaw aplikacji, jedna polityka resolvera i jedno miejsce, w którym patrzysz, gdy coś rozwiązuje się źle. W zły dzień to różnica między pięciominutową poprawką a wyciekiem danych.
Zdecyduj, czy praca jest jednoczesna
Jeśli odpowiedź brzmi nie, zatrzymaj się tutaj i użyj najprostszego dostępnego układu. Jedno zatwierdzone połączenie naraz, łączone i rozłączane przez klienta, który posiada profil, usuwa całą klasę awarii, zanim którakolwiek z nich może wystąpić.
To jednoczesność podnosi koszt: nakładające się prefiksy, dwie polityki resolvera i dwa zestawy stanu aplikacji trzeba rozdzielić świadomie, a nie przez czas.
Zapisz wymaganie uczciwie, bo chęć uniknięcia ponownego połączenia to nie to samo co potrzeba obu sieci naraz.
Sekwencja to najtańszy układ
Praca sekwencyjna nie wymaga dodatkowej infrastruktury, a jej tryb awarii to nieaktualna sesja, a nie konflikt routingu. Dyscyplina leży w przekazaniu: dokończ operację, zamknij to, co trzyma połączenie, rozłącz się i potwierdź następne połączenie, zanim zaczniesz pracę.
Karta przeglądarki lub terminal, który pozostaje otwarty, nie przenosi ze sobą swojego kontekstu sieciowego. Jego następne żądanie trafia tam, gdzie maszyna teraz routuje, a to może być drugi klient.
Etykietuj profile według klienta, a nie protokołu, i trzymaj właściciela poświadczeń widocznego w nazwie profilu. Profil o nazwie work2 nic nikomu nie mówi w chwili pośpiesznego przełączenia.
Zaletą tego układu jest to, że można go zaudytować. W każdej chwili istnieje jeden kontekst sieciowy, a dziennik pokazuje, kiedy się zmienił.
Przestrzeń robocza na klienta kosztuje izolację
Maszyna wirtualna lub zdalne środowisko programistyczne na klienta umieszcza klienta, aplikacje i nazwy w jednym miejscu. Przełączanie staje się zmianą okna, a nie zmianą sieci, i oba konteksty nie mogą przeciekać do siebie przez zbłąkaną trasę.
To nie jest darmowe. Utrzymujesz teraz dwa lub trzy systemy, łatając je i decydując, gdzie żyją pliki i poświadczenia. Maszyna wirtualna dociera też do internetu przez hosta, więc jej zewnętrzna ścieżka to nadal ścieżka twojego laptopa.
Sprawdź, czy klient i jakakolwiek polityka stanu urządzenia pozwalają na to środowisko, zanim zbudujesz wokół niego nawyk. Klient, który odmawia działania w maszynie wirtualnej, to fakt, który trzeba odkryć wcześnie.
Wspólna brama to infrastruktura
Oddzielny router przenoszący wybrany ruch zamienia problem w projekt sieci. Działa dobrze, gdy kilka osób potrzebuje tej samej sieci klienta, a zawodzi, gdy ktoś traktuje go jak magiczne pudełko, które trzyma każdego klienta osobno.
Jedna brama przełączająca swój aktywny tunel to jeden wspólny kontekst z kolejką, a nie kilka niezależnych sieci. Nazwij, kto może ją zmieniać, którym źródłom służy i co się dzieje, gdy dwie osoby potrzebują różnych klientów w tym samym czasie. Bez tej odpowiedzi brama staje się źródłem przerw, których nikt nie posiada. Staje się też miejscem, w którym ktoś po cichu wyłącza sprawdzenie, żeby zdążyć na termin.
Zapisz przekazanie w rejestrze
Rejestr nie musi być wyrafinowany; musi być wystarczająco konkretny, żeby ktoś inny mógł go śledzić. W Linuksie przestrzeń nazw to techniczna wersja tego samego pomysłu, z własnymi interfejsami i własną tablicą routingu.
Te polecenia tworzą przestrzeń nazw, uruchamiają w niej polecenie i pokazują, jakie połączenia klient pulpitu ma obecnie:
sudo ip netns add customer-a
sudo ip netns exec customer-a ip route
nmcli connection show --active
Aplikacje nadal trzeba uruchamiać wewnątrz przestrzeni nazw, a konfiguracja resolvera w niej to osobny plik. Izolowanie interfejsów nie izoluje schowka, agenta SSH ani zamontowanego udziału, i to są wycieki, o których ludzie zapominają.
Wybierz najmniejszy układ, który zachowuje separację, której naprawdę potrzebujesz, i utrzymuj przejście widoczne: tytuł okna, znak zachęty terminala, nazwa profilu i właściciel poświadczeń powinny być zgodne, zanim zostanie wysłane jakiekolwiek prywatne żądanie.