Twee klanttunnels, één laptop en een browsertab die nog ergens is ingelogd waar dat niet hoort. Het moeilijke deel van werken over meerdere particuliere netwerken is niet het verbinden; het is weten bij welke context een venster hoort als je wisselt. Een werkruimte beantwoordt die vraag: één identiteit, één set applicaties, één resolverbeleid en één plek om te kijken als iets verkeerd wordt opgelost. Op een slechte dag is dat het verschil tussen een correctie van vijf minuten en een datalek.

Bepaal of het werk gelijktijdig is

Als het antwoord nee is, stop hier en gebruik de eenvoudigste beschikbare regeling. Eén goedgekeurde verbinding tegelijk, verbonden en verbroken via de client die het profiel bezit, verwijdert een hele klasse storingen voordat een ervan kan optreden.

Gelijktijdigheid is wat de kosten verhoogt: overlappende prefixen, twee resolverbeleidsregels en twee sets applicatiestatus moeten bewust worden gescheiden, niet door tijd.

Schrijf de eis eerlijk op, want een herverbinding willen vermijden is niet hetzelfde als beide netwerken tegelijk nodig hebben.

Sequentieel is de goedkoopste regeling

Sequentieel werk heeft geen extra infrastructuur nodig, en de faalmodus is een verouderde sessie in plaats van een routeringsconflict. De discipline zit in de overdracht: rond de handeling af, sluit wat een verbinding vasthoudt, verbreek de verbinding en bevestig de volgende verbinding voordat je begint te werken.

Een browsertab of terminal die open blijft, draagt zijn netwerkcontext niet met zich mee. Het volgende verzoek gaat waar de machine nu routeert, en dat kan de andere klant zijn.

Label profielen op klant in plaats van op protocol, en houd de eigenaar van de inloggegevens zichtbaar in de profielnaam. Een profiel met de naam work2 zegt niemand iets op het moment van een haastige wissel.

Het voordeel van deze regeling is dat ze controleerbaar is. Op elk moment is er één netwerkcontext, en het log laat zien wanneer die veranderde.

Een werkruimte per klant kost isolatie

Een virtuele machine of een externe ontwikkelomgeving per klant zet de client, de applicaties en de namen op één plek. Wisselen wordt een vensterwissel in plaats van een netwerkwissel, en de twee contexten kunnen niet via een verdwaalde route in elkaar lekken.

Dat is niet gratis. Je onderhoudt nu twee of drie systemen, patcht ze en beslist waar bestanden en inloggegevens leven. De virtuele machine bereikt het internet ook via de host, dus het buitenste pad is nog steeds het pad van je laptop.

Controleer of de client en enig beleid voor apparaatstatus die omgeving toestaan voordat je de gewoonte eromheen bouwt. Een client die weigert in een virtuele machine te draaien, is een feit dat je vroeg moet ontdekken.

Een gedeelde gateway is infrastructuur

Een aparte router die geselecteerd verkeer draagt, maakt het probleem tot een netwerkontwerp. Het werkt goed wanneer meerdere mensen hetzelfde klantnetwerk nodig hebben, en het faalt wanneer iemand hem behandelt als een magische doos die elke klant gescheiden houdt.

Eén gateway die zijn actieve tunnel wisselt, is één gedeelde context met een wachtrij, niet meerdere onafhankelijke netwerken. Benoem wie hem mag wijzigen, welke bronnen hij bedient en wat er gebeurt wanneer twee mensen tegelijk verschillende klanten nodig hebben. Zonder dat antwoord wordt de gateway een bron van uitval die niemand bezit. Hij wordt ook de plek waar iemand stilletjes een controle uitschakelt om een deadline te halen.

Schrijf de overdracht in een verslag

Het verslag hoeft niet geavanceerd te zijn; het moet specifiek genoeg zijn dat iemand anders het kan volgen. Op Linux is een namespace de technische versie van hetzelfde idee, met zijn eigen interfaces en routeringstabel.

Deze opdrachten maken een namespace, voeren er een opdracht in uit en laten zien welke verbindingen de desktopclient nu heeft:

sudo ip netns add customer-a
sudo ip netns exec customer-a ip route
nmcli connection show --active

Applicaties moeten nog steeds binnen de namespace worden gestart, en de resolverconfiguratie daarin is een apart bestand. Interfaces isoleren isoleert het klembord, de SSH-agent of een aangekoppelde share niet, en dat zijn de lekken die mensen vergeten.

Kies de kleinste regeling die de scheiding behoudt die je echt nodig hebt, en houd de overgang zichtbaar: venstertitel, terminalprompt, profielnaam en eigenaar van de inloggegevens moeten allemaal overeenkomen voordat een particulier verzoek wordt verzonden.

Gerelateerde artikelen