Dy laboratorë mund të modelojnë të njëjtën topologji VPN dhe të dështojnë në mënyra krejt të ndryshme: njëri jeton në hapësira emrash rrjeti, tjetri në rrugët e vetë hostit. Versioni me hapësira emrash mban çdo ndërfaqe, rrugë dhe socket në një kontekst që mund ta fshini, ndërsa versioni me host niset më shpejt dhe lë gjendje pas. Pikërisht kjo gjendje e mbetur është arsyeja pse laboratori i dytë është i vështirë për t'u përsëritur një muaj më vonë. Krahasoni fillimisht pastrimin, sepse ai vendos nëse eksperimentin mund ta kryeni dy herë.

Dy mënyra për të ndërtuar të njëjtin laborator dhe kur fiton secili

Në një laborator rrugësh të hostit ju shtoni një ndërfaqe tuneli dhe rrugë në makinën ku punoni, kështu që eksperimenti ndan fatin me shell-in tuaj, me menaxherin e paketave dhe me çdo lidhje tjetër. Në një laborator hapësirash emrash çdo rol merr stivën e vet të ndërfaqeve, adresave, rrugëve dhe socket-eve, dhe fshirja e hapësirës së emrit i heq të gjitha. Asnjë model nuk është më i saktë, sepse përgjigjen pyetjeve të ndryshme. Zgjidhni hapësirat e emrave kur tema është rrugëtimi dhe përcjellja, dhe një laborator me host kur tema është si integrohet një klient desktopi.

AspectNamespace labHost-route lab
IsolationFull stack per roleShares the host stack
CleanupDelete named namespacesManual route and rule removal
RealismStrong for routingNeeded for GUI clients

Përzierja e të dyjave është gabimi i zakonshëm: një laborator hapësirash emrash i testuar kundër një klienti që ekziston vetëm në host nuk provon asgjë për asnjërën nga dy rregullimet. Vendosni çfarë pyetje po bëni përpara se të krijoni lidhjen e parë.

Një kontekst për rol, i lidhur me qëllim

Krijoni një hapësirë emri për çdo rol dhe zhvendosni çdo skaj të çdo çifti veth në kontekstin që e zotëron. Katër komandat e para mjaftojnë për të parë formën:

ip netns add client
ip netns add gateway
ip link add veth-c type veth peer name veth-g
ip link set veth-c netns client

Jepini laboratorit intervale që nuk mbivendosen me asgjë në host, dhe shkruani përpara fillimit cila hapësirë emri zotëron cilën adresë. Një laborator që funksionon ka nevojë për dy rrugë të ndara: një të jashtme që pika fundore VPN të arrijë palën e vet, dhe një rrugë kthimi për burimin që mbrohet. Modelojini si dy vendime, sepse një laborator që ndërton vetëm gjysmën dalëse kalon një provë shtrëngimi duarsh dhe dështon në një provë aplikacioni.

Roli i përcjelljes është vendi ku laboratorët bëhen interesantë

Një rol duhet të përcjellë, që do të thotë të aktivizoni përcjelljen brenda asaj hapësire emri dhe të shtoni rregullin që kërkon dizajni. Gjendja e përcjelljes është për çdo hapësirë emri, prandaj cilësimi i hostit është i parëndësishëm për laboratorin dhe cilësimi i laboratorit nuk rrjedh nga jashtë, siç përshkruan dokumentacioni për hapësirat e emrave të rrjetit. WireGuard dokumenton se një ndërfaqe dhe socket-i i saj i jashtëm mund të jetojnë në hapësira emrash të ndryshme, që është një truk i dobishëm dhe një mënyrë e shkëlqyer për të hutuar veten. Mos supozoni se zhvendosja e një ndërfaqeje zhvendos çdo pjesë të lidhjes në të njëjtën mënyrë.

Kontrolloni numëruesin e përcjelljes pas një pakete testuese, sepse një rregull që nuk përputhej kurrë dhe një rregull që e hodhi poshtë duken njësoj në tabelën e rrugëve. Vetëm numëruesit i ndajnë.

Regjistroni një vijë bazë, pastaj thyeni një rrugë

Filloni duke regjistruar çfarë ekziston, me kontekstin e shkruar pranë çdo rreshti. Lexoni hapësirat e emrave, pastaj rrugën që do të merrte një destinacion testimi brenda njërës prej tyre, pastaj numëruesit në lidhjen që e mbart atë:

ip netns list
ip -n client route get 10.0.0.5
ip -n gateway -s link show veth-g

Komanda e tretë është ajo që njerëzit e kapërcejnë, dhe pikërisht aty jetojnë provat: numëruesit e hodhën dhe gabimeve ju thonë nëse një paketë arriti fare te roli i përcjelljes. Regjistroni të njëjtat tre pamje pas një ndryshimi, dhe lëreni diff-in të jetë prova në vend të kujtesës tuaj. Pastaj thyeni saktësisht një gjë, ose duke fshirë një rrugë ose duke shtuar një rregull refuzimi në rrugën e përcjelljes, dhe konfirmoni simptomën që parashikuat: një shtrëngim duarsh i përfunduar pa përgjigje, ose një dështim zgjidhjeje në vend të një afati kohor. Një laborator që tregon vetëm sukses mëson shumë pak.

Pastrimi është ai që e bën ekzekutimin tjetër të përsëritshëm

Mbajeni pastrimin të kufizuar te burimet që emërtuat, sepse një rivendosje e përgjithshme e murit të zjarrit ose heqja e një rrugë hosti nuk është riprodhueshmëri, është një incident i dytë. Ruani topologjinë, komandat e sakta dhe vëzhgimet që prisnit, në mënyrë që ekzekutimi tjetër të riprodhojë të njëjtin dështim në vend që të hamendësojë cili kontekst mbante gjendjen e mëparshme. Pa atë regjistrim laboratori është një histori, jo një procedurë.

Përdorni kredenciale të gjeneruara lokalisht për laboratorin dhe mbani llogaritë e prodhimit larg shembujve të përbashkët. Pastaj fshini çdo hapësirë emri dhe konfirmoni se pamja e hostit nuk ka ndryshuar, që është e gjithë arsyeja për zgjedhjen e këtij modeli. Një laborator që nuk mund ta hiqni pastër është një ndryshim hosti me hapa shtesë.

Artikuj të ngjashëm