Zwee gréng Verbindungsikone gesinn aus wéi e Verglach a sinn meeschtens en Zoufall. Wann d’Testufro kéng vun den zwee Tunnelen hätt kënnen notzen, beschreift d’Resultat am beschten een vun hinnen an am schlëmmsten keen. Gëff all Observatioun e Netzwierkkontext, en intendséierten Destinatioun an eng Erwaardung, déi virum Test geschriwwe gouf. Op enger Linux-Maschinn, déi s du selwer geréiersch, sinn benannte Netzwierk-Nummraim dee bëllegste Wee, déi Trennung ze kafen.

Zwee gréng Luuchte sinn kee Verglach

En Nummraum trennt Routingstabellen, Interfaceën an den Zoustand vum Netzwierkstapel, sou datt eng Ufro, déi an engem ugefaang gouf, net roueg den Tunnel vun engem aneren ausléine kann. Wat en net trennt, ass eng CPU, eng physesch Uplink oder den Numm-Opléiser-Daemon, deen um Host leeft. Genau an dëser leschter Lück schloe meescht vun dësen Tester feel, ouni datt et een neut. Eng Sich, déi den Nummraum verléisst an den Opléiser vum Host freet, gëtt eng Äntwert zréck, déi näischt mam getesteten Tunnel ze dinn huet.

Dës Prozedur setzt zwee schonn ugeluecht a guttgeheescht Testnummraim vir, mat funktionéierender baussenzeger Konnektivitéit a ënnerstëtzten Cliente. Si schaaft näischt, mellt näischt un a ersetzt keng Konfiguratioun. Separat virtuell Maschinne bleiwen déi éierlech Wiel, wann e Client eng komplett Desktop-Sessioun brauch oder refuséiert, dobaussen ze lafen.

Fixéier d’Erwaardung virum éischte Laf

Entscheet pro Kontext, wéi Erfolleg ausgesäit: den Opléiser, den Numm vum Service, déi erwaart Adress an d’Verhalen, dat verlaangt gëtt, wann den Tunnel fält. Halt déi geplangte Wäerter an hirer eegener Kolonn, well eng Opzeechnung, déi Plang an Observatioun vermëscht, ass Fiktioun mat engem Zäitstempel. D’Lëscht hei drënner ass d’Form, déi d’Opzeechnung brauch, an all Zeil muss virun der éischter Verbindung ausfëllbar sinn.

TunnelOwnerClient interface inside the namespaceProof commandRequired on disconnect
vpn-athe identity that owns profile A, recorded by nameits own tun device, never the host'sip -n vpn-a -4 route get 10.55.10.20traffic stops; no host-side fallback
vpn-ba separate owner, even when both run on one boxits own tun device in its own namespaceip -n vpn-b -4 route get 10.55.20.20verified separately, never inferred from A

D’Verkabelung vum Opléiser verdéngt hir eege Linn an där Opzeechnung, well dat ass d’Feld, dat am warscheinlechsten läit. Dateien, déi un den Nummraum gebonne sinn, wéi /etc/netns/vpn-a/resolv.conf erschéngen op hire gewéinleche Weeër, wann eng Kommando am Nummraum leeft, wéi d’iproute2-Referenz zu Nummraim et beschreift, awer d’Konfiguratioun vum Numm-Service-Ëmschalten an all lokalen Opléiser, deen et start, kënnen eng Sich nach ëmmer zréck op den Host zéien.

Een Tunnel gläichzäiteg, deen aneren ofgetrennt

Verbannt A iwwer säin existéierende Besëtzer, wärend B ënnen bleift, a kuckt duerno d’Politik, d’Routen an de gewielte Wee aus dem Administratiounskontext. Dräi vun de Kommandoen hei drënner liesen den Zoustand; nëmmen déi lescht kontaktéiert en Numm-Service, an keng vun hinnen schéckt eng Applikatiounsufro.

sudo ip -n vpn-a -4 rule show
sudo ip -n vpn-a -4 route show table all
sudo ip -n vpn-a -4 route get 10.55.10.20
sudo ip netns exec vpn-a getent ahostsv4 svc-a.lab.internal

Eng Routensich beäntwert eng hypothetesch Fro zu engem Destinatioun, sou datt si net weise kann, datt de Service Verkéier unhëlt. Halt déi zwou Zorte Beweis an getrennte Kolonnen, well eng gesond Rout nieft enger ofgeleenter Verbindung ass en reellt an dacks Resultat. Schéck duerno eng harmlos autoriséiert Ufro mat der richtege Applikatioun, gestart am Kontext vum A als säin normalen onprivilegéierte Benotzer mat intakter Zertifikatsprüfung an Applikatiounsauthentifikatioun, a schreif d’Resultat op zesumme mat der Quelladress, déi de Service gesinn huet. Trennt A iwwer säi Besëtzer of a widderhëlt déi ganz Basislinie fir B, a notéiert all Konfiguratiounsännnerung, déi s du méchs, soss sinn déi zwou Basislinien net méi vergläichbar.

Alle zwee uewen, duerno een eenzel erof

Den dauerhaften Zoustand ass deen einfachen Deel. Mat béide verbonnenen Tunnelen widderhëlt d’Sich an d’Applikatiounsufro vun all Kontext, da brécht een Tunnel of a kontrolléiert deen aneren. Verbannt Iech an ëmgedréiter Reihenfolg nei, wann d’Verbindungsreihenfolg selwer d’Fro ass.

sudo ip netns exec vpn-a tcpdump -ni any port 443 -c 5
sudo ip netns exec vpn-b getent ahostsv4 svc-b.lab.internal
sudo ip -n vpn-b -4 route get 10.55.20.20

D’Opnam entscheet Disputen, déi en Applikatiounsresultat net entscheede kann: si weist, ob d’Ufro duerch de Interface gaang ass, deen s du erwaart hues, oder duerch eppes ganz anescht. Fir all Iwwergang schreif d’Aktioun vum Besëtzer, den Zäitstempel, d’Routresultat, d’Nummresultat an d’Applikatiounsresultat op. Kuck duerno d’Ufuerderung vum sécheren Zoumaachen am betraffenen Nummraum no, well Isolatioun ass keen Noutschalter. En Nummraum hält zwee Tunnelen auserneen; en hält keen vun hinne dovun of, Verkéier ze droen, wann säi Profil seet, datt de Verkéier muss stoppen.

Wat dës Opzeechnung behaapte kann a wat net

En Duerchgang beweise déi Observatiounen fir dës Opstellung, op dësem Host, zu där Zäit. Si seet näischt iwwer zwee Cliente, déi eng Desktop-Routingtabell deelen, an näischt iwwer den Duerchgang, wärend béid Tunnelen Laascht droen. Dat sinn separat Froe mat separat Tester, a e Verglach ass just sou gutt wéi de Kontext, deen un all Zeil hänkt.

Halt d’Feeler an der Opzeechnung nieft den Erfolleger, markéiert mat wéien Tunnel deemools uewen war. Eng propper Säit, déi den Zoustand bei der Moossnam verstoppt, ass schlëmmer wéi eng ellen, déi en weist. Wat d’Opzeechnung spéider nei benotzbar mécht, ass de Kontext, net d’Punktzuel.

Zwee Tunnelen op enger Maschinn kënnen éierlech verglach ginn, awer nëmmen an esou vill Kontexter, wéi s du wierklech kontrolléiert hues. Alles wat doriwwer eraus geet, ass e Wonsch mat enger grénger Ikon niewendrun.

Ähnlech Artikelen