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.

Powiązane artykuły