Viedais Ethernet slēdzis planētai Zeme

Viedais Ethernet slēdzis planētai Zeme
ā€œ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: 

  1. 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. 
  2. 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. 
  3. 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.

ā†’ Saite uz dokumentāciju

ā–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:

  • samazināt atkarÄ«bu no ZeroTier, Inc. infrastruktÅ«ras; Saite uz dokumentāciju
  • palielināt produktivitāti, samazinot kavÄ“Å”anos; 
  • 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.

ā†’ Saite uz dokumentāciju

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:

Viedais Ethernet slēdzis planētai Zeme

  1. 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).
  2. 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ē.
  3. 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.
  4. 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.

ā†’ Saite uz dokumentāciju

ā–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.

ā†’ Saite uz dokumentāciju

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?

Viedais Ethernet slēdzis planētai Zeme

Avots: www.habr.com

Pievieno komentāru