āRisinÄjumu (problÄmu atrisinÄt) var radÄ«t vairÄkos veidos, taÄu visdÄrgÄkÄ un/vai populÄrÄkÄ metode ne vienmÄr ir visefektÄ«vÄkÄ!ā
Preambula
ApmÄram pirms trim gadiem, izstrÄdÄjot attÄlinÄto modeli katastrofu datu atgÅ«Å”anai, saskÄros ar vienu ŔķÄrsli, kas netika uzreiz pamanÄ«ts - informÄcijas trÅ«kums par jauniem oriÄ£inÄliem tÄ«kla virtualizÄcijas risinÄjumiem kopienas avotos.
IzstrÄdÄtÄ modeļa algoritms tika plÄnots Å”Ädi:
AttÄlinÄts lietotÄjs, kurÅ” sazinÄjÄs ar mani un kura dators reiz atteicÄs palaist, parÄdot ziÅojumu āsistÄmas disks nav atrasts/nav formatÄtsā, ielÄdÄ to, izmantojot Life USB.
SÄknÄÅ”anas procesa laikÄ sistÄma automÄtiski izveido savienojumu ar droÅ”u privÄto lokÄlo tÄ«klu, kurÄ papildus atrodas administratora darbstacija, Å”ajÄ gadÄ«jumÄ klÄpjdators, un NAS mezgls.
Tad pieslÄdzos - vai nu lai atdzÄ«vinÄtu diska nodalÄ«jumus, vai lai izvilktu no turienes datus.
SÄkotnÄji es ieviesu Å”o modeli, izmantojot VPN serveri vietÄjÄ marÅ”rutÄtÄjÄ tÄ«klÄ, kuru kontrolÄju, pÄc tam Ä«rÄtÄ VDS. Bet, kÄ tas bieži notiek un saskaÅÄ ar pirmo Chisholm likumu, ja lÄ«s, interneta pakalpojumu sniedzÄja tÄ«kls pazudÄ«s, tad strÄ«di starp uzÅÄmumiem radÄ«s pakalpojuma sniedzÄja "enerÄ£ijas zudumu"...
TÄpÄc es nolÄmu vispirms formulÄt pamatprasÄ«bas, kurÄm jÄatbilst nepiecieÅ”amajam instrumentam. PirmÄ ir decentralizÄcija. OtrkÄrt, Åemot vÄrÄ, ka man ir vairÄki Å”Ädi dzÄ«ves USB, katram no tiem ir atseviŔķs izolÄts tÄ«kls. Nu, treÅ”kÄrt, Ätrs pieslÄgums dažÄdu ierÄ«Äu tÄ«klam un vienkÄrÅ”a to pÄrvaldÄ«ba, tai skaitÄ gadÄ«jumÄ, ja arÄ« mans portatÄ«vais dators kļūst par augstÄk minÄtÄ likuma upuri.
Pamatojoties uz to un pavadÄ«jis divarpus mÄneÅ”us praktiskai vairÄku ne pÄrÄk piemÄrotu variantu izpÄtei, es, riskÄjot un riskÄjot, nolÄmu izmÄÄ£inÄt citu rÄ«ku no man tobrÄ«d nezinÄma starta uzÅÄmuma ar nosaukumu ZeroTier. Ko es nekad vÄlÄk nenožÄloju.
Å ajÄs Jaungada brÄ«vdienÄs, mÄÄ£inot saprast, vai kopÅ” Ŕī neaizmirstamÄ brīža situÄcija ar saturu ir mainÄ«jusies, veicu selektÄ«vu auditu par rakstu pieejamÄ«bu par Å”o tÄmu, izmantojot Habru kÄ avotu. VaicÄjumam āZeroTierā meklÄÅ”anas rezultÄtos ir tikai trÄ«s raksti, kuros tas ir minÄts, un ne viens ar vismaz Ä«su aprakstu. Un tas neskatoties uz to, ka starp tiem ir arÄ« paÅ”a ZeroTier, Inc. dibinÄtÄja raksta tulkojums. ā Ädams Iermenko.
RezultÄti bija neapmierinoÅ”i un mudinÄja mani sÄkt runÄt par ZeroTier sÄ«kÄk, glÄbjot mÅ«sdienu "meklÄtÄjus" no nepiecieÅ”amÄ«bas iet to paÅ”u ceļu, kuru izvÄlÄjos es.
Kas tad tu esi?
IzstrÄdÄtÄjs pozicionÄ ZeroTier kÄ viedo Ethernet slÄdzi planÄtai Zeme.
āTas ir izplatÄ«ts tÄ«kla hipervizors, kas izveidots uz kriptogrÄfiski droÅ”a globÄlÄ vienÄdranga (P2P) tÄ«kla. RÄ«ks, kas lÄ«dzÄ«gs korporatÄ«vajam SDN slÄdzim, kas paredzÄts virtuÄlo tÄ«klu organizÄÅ”anai pÄr fiziskajiem tÄ«kliem, gan lokÄliem, gan globÄliem, ar iespÄju savienot gandrÄ«z jebkuru lietojumprogrammu vai ierÄ«ci.
Å is ir vairÄk mÄrketinga apraksts, tagad par tehnoloÄ£iskajÄm iezÄ«mÄm.
āKodols:
ZeroTier Network Hypervisor ir atseviŔķs tÄ«kla virtualizÄcijas dzinÄjs, kas lÄ«dzinÄs Ethernet tÄ«klam, lÄ«dzÄ«gi kÄ VXLAN, papildus globÄlajam Å”ifrÄtam vienÄdranga (P2P) tÄ«klam.
ZeroTier izmantotie protokoli ir oriÄ£inÄli, lai gan pÄc izskata lÄ«dzÄ«gi VXLAN un IPSec, un tie sastÄv no diviem konceptuÄli atseviŔķiem, bet cieÅ”i saistÄ«tiem slÄÅiem: VL1 un VL2.
āVL1 ir pamata peer-to-peer (P2P) transporta slÄnis, sava veida āvirtuÄlais kabelisā.
"GlobÄlajam datu centram ir nepiecieÅ”ams globÄls kabeļu skapis."
Parastos tÄ«klos L1 (OSI Layer 1) attiecas uz faktiskajiem kabeļiem vai bezvadu radio, kas pÄrraida datus, un fiziskÄs raiduztvÄrÄja ierÄ«ces mikroshÄmas, kas tos modulÄ un demodulÄ. VL1 ir vienÄdranga (P2P) tÄ«kls, kas veic to paÅ”u, izmantojot Å”ifrÄÅ”anu, autentifikÄciju un citus tÄ«kla trikus, lai pÄc vajadzÄ«bas sakÄrtotu virtuÄlos kabeļus.
TurklÄt tas to dara automÄtiski, Ätri un bez lietotÄja iesaistÄ«Å”anas, uzsÄkot jaunu ZeroTier mezglu.
Lai to panÄktu, VL1 tiek organizÄts lÄ«dzÄ«gi kÄ domÄna vÄrdu sistÄma. TÄ«kla centrÄ ir ļoti pieejamu saknes serveru grupa, kuras loma ir lÄ«dzÄ«ga DNS saknes nosaukumu serveru lomai. Å obrÄ«d galvenie (planÄtu) saknes serveri atrodas izstrÄdÄtÄja - ZeroTier, Inc. pÄrziÅÄ. un tiek nodroÅ”inÄti kÄ bezmaksas pakalpojums.
TomÄr ir iespÄjams izveidot pielÄgotus saknes serverus (luns), kas ļauj:
turpinÄt strÄdÄt kÄ parasti, ja tiek zaudÄts interneta savienojums.
SÄkotnÄji mezgli tiek palaisti bez tieÅ”iem savienojumiem viens ar otru.
Katram VL1 vienÄdrangam ir unikÄla 40 bitu (10 heksadecimÄlo) ZeroTier adrese, kas atŔķirÄ«bÄ no IP adresÄm ir Å”ifrÄts identifikators, kas nesatur marÅ”rutÄÅ”anas informÄciju. Å Ä« adrese tiek aprÄÄ·inÄta no publiskÄs/privÄtÄs atslÄgas pÄra publiskÄs daļas. Mezgla adrese, publiskÄ atslÄga un privÄtÄ atslÄga kopÄ veido tÄ identitÄti.
Member ID: df56c5621c
|
ZeroTier address of node
Kas attiecas uz Å”ifrÄÅ”anu, tas ir iemesls atseviŔķam rakstam.
Lai izveidotu saziÅu, partneri vispirms nosÅ«ta paketes "augÅ”up" saknes serveru kokÄ, un, kad Ŕīs paketes pÄrvietojas pa tÄ«klu, tÄs uzsÄk nejauÅ”u pÄrsÅ«tÄ«Å”anas kanÄlu izveidi. Koks nepÄrtraukti cenÅ”as āsabrukt pats no sevisā, lai optimizÄtu sevi saglabÄtajai marÅ”ruta kartei.
VienÄdranga savienojuma izveides mehÄnisms ir Å”Äds:
Mezgls A vÄlas nosÅ«tÄ«t paketi uz mezglu B, bet, tÄ kÄ tas nezina tieÅ”o ceļu, tas nosÅ«ta to augÅ”up uz mezglu R (mÄness, lietotÄja saknes serveris).
Ja mezglam R ir tieÅ”s savienojums ar mezglu B, tas pÄrsÅ«ta paketi uz turieni. PretÄjÄ gadÄ«jumÄ tÄ nosÅ«ta paketi augÅ”up pa straumi, pirms tÄ sasniedz planÄtu saknes. PlanÄtu saknes zina par visiem mezgliem, tÄpÄc pakete galu galÄ sasniegs mezglu B, ja tÄ bÅ«s tieÅ”saistÄ.
Mezgls R arÄ« nosÅ«ta uz mezglu A ziÅojumu, ko sauc par "randevous", kurÄ ir norÄdÄ«jumi par to, kÄ tas var sasniegt mezglu B. TikmÄr saknes serveris, kas pÄrsÅ«ta paketi uz mezglu B, nosÅ«ta "randevous", informÄjot to par to, kÄ tas var sasniegt. sasniegt mezglu A.
Mezgli A un B saÅem savus tikÅ”anÄs ziÅojumus un mÄÄ£ina viens otram nosÅ«tÄ«t testa ziÅojumus, mÄÄ£inot pÄrkÄpt visus ceÄ¼Ä konstatÄtos NAT vai stÄvokļu ugunsmÅ«rus. Ja tas darbojas, tiek izveidots tieÅ”s savienojums, un paketes vairs neiet uz priekÅ”u un atpakaļ.
Ja nevar izveidot tieÅ”u savienojumu, saziÅa turpinÄsies, izmantojot releju, un tieÅ”Ä savienojuma mÄÄ£inÄjumi turpinÄsies, lÄ«dz tiek sasniegts veiksmÄ«gs rezultÄts.
VL1 ir arÄ« citas funkcijas tieÅ”as savienojamÄ«bas izveidoÅ”anai, tostarp LAN vienÄdranga atklÄÅ”ana, portu prognozÄÅ”ana simetriskÄ IPv4 NAT ŔķÄrsoÅ”anai un skaidra portu kartÄÅ”ana, izmantojot uPnP un/vai NAT-PMP, ja tas ir pieejams vietÄjÄ fiziskajÄ LAN.
āVL2 ir VXLAN lÄ«dzÄ«gs Ethernet tÄ«kla virtualizÄcijas protokols ar SDN pÄrvaldÄ«bas funkcijÄm. PazÄ«stama saziÅas vide OS un lietojumprogrammÄm...
AtŔķirÄ«bÄ no VL1, VL2 tÄ«klu (VLAN) izveidei un mezglu savienoÅ”anai ar tiem, kÄ arÄ« to pÄrvaldÄ«Å”anai ir nepiecieÅ”ama tieÅ”a lietotÄja lÄ«dzdalÄ«ba. ViÅÅ” to var izdarÄ«t, izmantojot tÄ«kla kontrolleri. BÅ«tÄ«bÄ tas ir parasts ZeroTier mezgls, kurÄ kontroliera funkcijas tiek kontrolÄtas divos veidos: vai nu tieÅ”i, mainot failus, vai, kÄ izstrÄdÄtÄjs stingri iesaka, izmantojot publicÄtu API.
Å Ä« ZeroTier virtuÄlo tÄ«klu pÄrvaldÄ«bas metode nav Ä«paÅ”i Ärta vidusmÄra cilvÄkam, tÄpÄc ir vairÄkas GUI:
Viens no izstrÄdÄtÄja ZeroTier, pieejams kÄ publiska mÄkoÅa SaaS risinÄjums ar Äetriem abonÄÅ”anas plÄniem, tostarp bezmaksas, bet ierobežots pÄrvaldÄ«to ierÄ«Äu skaitÄ un atbalsta lÄ«menÄ«.
Otrais ir no neatkarÄ«ga izstrÄdÄtÄja, nedaudz vienkÄrÅ”ots funkcionalitÄtÄ, bet pieejams kÄ privÄts atvÄrtÄ pirmkoda risinÄjums lietoÅ”anai uz vietas vai mÄkoÅa resursos.
VL2 ir ieviests virs VL1 un tiek transportÄts ar to. TomÄr tas pÄrmanto VL1 galapunkta Å”ifrÄÅ”anu un autentifikÄciju, kÄ arÄ« izmanto tÄs asimetriskas atslÄgas, lai parakstÄ«tu un pÄrbaudÄ«tu akreditÄcijas datus. VL1 ļauj ieviest VL2, neuztraucoties par esoÅ”o fiziskÄ tÄ«kla topoloÄ£iju. Tas nozÄ«mÄ, ka savienojamÄ«bas un marÅ”rutÄÅ”anas efektivitÄtes problÄmas ir VL1 problÄmas. Ir svarÄ«gi saprast, ka starp VL2 virtuÄlajiem tÄ«kliem un VL1 ceļiem nav savienojuma. LÄ«dzÄ«gi kÄ VLAN multipleksÄÅ”ana vadu LAN, diviem mezgliem, kuriem ir vairÄkas dalÄ«bas tÄ«klÄ, starp tiem joprojÄm bÅ«s tikai viens VL1 (virtuÄlÄ kabeļa) ceļŔ.
Katrs VL2 tÄ«kls (VLAN) tiek identificÄts ar 64 bitu (16 heksadecimÄlo) ZeroTier tÄ«kla adresi, kas satur kontrollera 40 bitu ZeroTier adresi un 24 bitu numuru, kas identificÄ Å”Ä« kontrollera izveidoto tÄ«klu.
Network ID: 8056c2e21c123456
| |
| Network number on controller
|
ZeroTier address of controller
Kad mezgls pievienojas tÄ«klam vai pieprasa tÄ«kla konfigurÄcijas atjauninÄjumu, tas nosÅ«ta tÄ«kla konfigurÄcijas pieprasÄ«juma ziÅojumu (izmantojot VL1) tÄ«kla kontrollerim. PÄc tam kontrolieris izmanto mezgla VL1 adresi, lai to atrastu tÄ«klÄ un nosÅ«tÄ«tu tam atbilstoÅ”os sertifikÄtus, akreditÄcijas datus un konfigurÄcijas informÄciju. No VL2 virtuÄlo tÄ«klu viedokļa VL1 ZeroTier adreses var uzskatÄ«t par portu numuriem uz milzÄ«ga globÄla virtuÄlÄ slÄdža.
Visi akreditÄcijas dati, ko tÄ«kla kontrolleri izsniedz attiecÄ«gÄ tÄ«kla dalÄ«bnieku mezgliem, tiek parakstÄ«ti ar kontroliera slepeno atslÄgu, lai visi tÄ«kla dalÄ«bnieki varÄtu tos pÄrbaudÄ«t. AkreditÄcijas datiem ir kontrollera Ä£enerÄti laikspiedoli, kas ļauj relatÄ«vi salÄ«dzinÄt, nepiekļūstot resursdatora lokÄlajam sistÄmas pulkstenim.
AkreditÄcijas dati tiek izsniegti tikai to Ä«paÅ”niekiem un pÄc tam nosÅ«tÄ«ti vienaudžiem, kuri vÄlas sazinÄties ar citiem tÄ«kla mezgliem. Tas ļauj tÄ«klam mÄrogot lÄ«dz milzÄ«giem izmÄriem, bez nepiecieÅ”amÄ«bas keÅ”atmiÅÄ saglabÄt lielu daudzumu akreditÄcijas datu mezglos vai pastÄvÄ«gi sazinÄties ar tÄ«kla kontrolleri.
ZeroTier tÄ«kli atbalsta multiraides izplatÄ«Å”anu, izmantojot vienkÄrÅ”u publicÄÅ”anas/abonÄÅ”anas sistÄmu.
Ja mezgls vÄlas saÅemt multiraides apraidi noteiktai izplatÄ«Å”anas grupai, tas reklamÄ dalÄ«bu Å”ajÄ grupÄ citiem tÄ«kla dalÄ«bniekiem, ar kuriem tas sazinÄs, un tÄ«kla kontrollerim. Kad mezgls vÄlas nosÅ«tÄ«t multiraidi, tas vienlaikus piekļūst jaunÄko publikÄciju keÅ”atmiÅai un periodiski pieprasa papildu publikÄcijas.
Apraide (Ethernet ff: ff: ff: ff: ff: ff) tiek uzskatÄ«ta par multiraides grupu, kuru abonÄ visi dalÄ«bnieki. To var atspÄjot tÄ«kla lÄ«menÄ«, lai samazinÄtu trafiku, ja tas nav nepiecieÅ”ams.
ZeroTier atdarina Ä«stu Ethernet slÄdzi. Å is fakts ļauj mums veikt izveidoto virtuÄlo tÄ«klu apvienoÅ”ana ar citiem Ethernet tÄ«kliem (vadu LAN, WiFi, virtuÄlÄ aizmugures plate u.c.) datu posma lÄ«menÄ« - izmantojot parasto Ethernet tiltu.
Lai tas darbotos kÄ tilts, tÄ«kla kontrollerim ir jÄnorÄda resursdators kÄ tÄds. Å Ä« shÄma tiek ieviesta droŔības apsvÄrumu dÄļ, jo parastiem tÄ«kla resursdatoriem nav atļauts sÅ«tÄ«t trafiku no cita avota, izÅemot to MAC adresi. Mezgli, kas apzÄ«mÄti kÄ tilti, izmanto arÄ« Ä«paÅ”u multiraides algoritma režīmu, kas ar tiem mijiedarbojas agresÄ«vÄk un mÄrÄ·tiecÄ«gÄk grupas abonÄÅ”anas un visas apraides trafika un ARP pieprasÄ«jumu replikÄcijas laikÄ.
SlÄdžam ir arÄ« iespÄja izveidot publiskos un ad-hoc tÄ«klus, QoS mehÄnismu un tÄ«kla noteikumu redaktoru.
ā Mezgls:
ZeroTier One ir pakalpojums, kas darbojas klÄpjdatoros, galddatoros, serveros, virtuÄlajÄs maŔīnÄs un konteineros, kas nodroÅ”ina savienojumus ar virtuÄlo tÄ«klu, izmantojot virtuÄlÄ tÄ«kla portu, lÄ«dzÄ«gi kÄ VPN klientam.
Kad pakalpojums ir instalÄts un palaists, varat izveidot savienojumu ar virtuÄlajiem tÄ«kliem, izmantojot to 16 ciparu adreses. Katrs tÄ«kls sistÄmÄ parÄdÄs kÄ virtuÄls tÄ«kla ports, kas darbojas tÄpat kÄ parasts Ethernet ports.
ZeroTier One paÅ”laik ir pieejams Å”ÄdÄm operÄtÄjsistÄmÄm un sistÄmÄm.
OS:
Microsoft Windows - MSI instalÄtÄjs x86/x64
MacOS - PKG uzstÄdÄ«tÄjs
Apple iOS - AplikÄciju veikals
android - SpÄļu veikals
Linux - DEB/RPM
FreeBSD - FreeBSD pakotne
NAS:
Synology NAS
QNAP NAS
WD MyCloud NAS
Citi:
dokers - docker fails
OpenWRT - kopienas osta
LietotÅu iegulÅ”ana - SDK (libzt)
Apkopojot visu iepriekÅ” minÄto, es vÄlos atzÄ«mÄt, ka ZeroTier ir lielisks un Ätrs rÄ«ks fizisko, virtuÄlo vai mÄkoÅa resursu apvienoÅ”anai kopÄjÄ vietÄjÄ tÄ«klÄ, ar iespÄju to sadalÄ«t VLAN un bez viena kļūmes punkta. .
Tas arÄ« teorÄtiskajai daļai pirmÄ raksta formÄtÄ par ZeroTier for Habr - tas laikam arÄ« viss! NÄkamajÄ rakstÄ plÄnoju praktiski demonstrÄt uz ZeroTier balstÄ«tas virtuÄlÄ tÄ«kla infrastruktÅ«ras izveidi, kur kÄ tÄ«kla kontrolleris tiks izmantots VDS ar privÄtu atvÄrtÄ koda GUI veidni.
CienÄ«jamie lasÄ«tÄji! Vai savos projektos izmantojat ZeroTier tehnoloÄ£iju? Ja nÄ, kÄdus rÄ«kus jÅ«s izmantojat savu resursu tÄ«klam?