Smart Ethernet Switch por Planedo Tero

Smart Ethernet Switch por Planedo Tero
"Vi povas krei solvon (solvi problemon) en pluraj manieroj, sed la plej multekosta kaj/aŭ populara metodo ne ĉiam estas la plej efika!"

Antaŭparolo

Antaŭ ĉirkaŭ tri jaroj, en la procezo de disvolvado de fora modelo por katastrofa datuma reakiro, mi renkontis unu malhelpon, kiu ne estis tuj rimarkita - la manko de informoj pri novaj originalaj solvoj por reto virtualigo en komunumaj fontoj. 

La algoritmo por la evoluinta modelo estis planita jene: 

  1. Fora uzanto, kiu kontaktis min, kies komputilo iam rifuzis ekbruligi, montrante la mesaĝon "sistema disko ne detektita/ne formatita", ŝarĝas ĝin uzante vivan USB. 
  2. Dum la ekfunkciigo, la sistemo aŭtomate konektas al sekura privata loka reto, kiu krom si enhavas la laborstacion de la administranto, ĉi-kaze tekkomputilon, kaj NAS-nodon. 
  3. Poste mi konektas - ĉu por revivigi la diskpartojn, ĉu por ĉerpi datumojn de tie.

Komence, mi efektivigis ĉi tiun modelon uzante VPN-servilon sur loka enkursigilo en reto sub mia kontrolo, poste sur luita VDS. Sed, kiel ofte okazas kaj laŭ la unua leĝo de Chisholm, se pluvos, la reto de la interreta provizanto malaltiĝos, tiam disputoj inter komercaj entoj igos la provizanton perdi "energion"...

Tial mi decidis unue formuli la bazajn postulojn, kiujn la necesa ilo devas plenumi. La unua estas malcentralizo. Due, ĉar mi havas plurajn tiajn vivajn USB-ojn, ĉiu el ili havas apartan izolitan reton. Nu, trie, rapida konekto al la reto de diversaj aparatoj kaj simpla administrado de ili, inkluzive se mia tekkomputilo ankaŭ viktimiĝas de la supre menciita leĝo.

Surbaze de tio kaj pasiginte du monatojn kaj duonon por praktika esplorado de pluraj ne tre taŭgaj ebloj, mi, je mia propra risko kaj risko, decidis provi alian ilon de ekentrepreno tiam nekonata al mi nomata ZeroTier. Kion mi neniam bedaŭris poste.

Dum ĉi tiuj novjaraj ferioj, penante kompreni, ĉu la situacio kun enhavo ŝanĝiĝis ekde tiu memorinda momento, mi faris selekteman revizion pri la havebleco de artikoloj pri ĉi tiu temo, uzante Habr kiel fonton. Por la konsulto "ZeroTier" en la serĉrezultoj estas nur tri artikoloj mencias ĝin, kaj ne unu kun almenaŭ mallonga priskribo. Kaj ĉi tio malgraŭ tio, ke inter ili estas traduko de artikolo verkita de la fondinto de ZeroTier, Inc. — Adam Ierymenko.

La rezultoj estis seniluziigaj kaj instigis min komenci paroli pri ZeroTier pli detale, savante modernajn "serĉantojn" devi iri la saman vojon, kiun mi prenis.

Kio do vi estas?

La ellaboranto poziciigas ZeroTier kiel inteligenta Eterreto-ŝaltilo por planedo Tero. 

"Ĝi estas distribuita reta hiperviziero konstruita sur kriptografie sekura tutmonda peer-to-peer (P2P) reto. Ilo simila al kompania SDN-ŝaltilo, dizajnita por organizi virtualajn retojn super fizikaj, kaj lokaj kaj tutmondaj, kun la kapablo konekti preskaŭ ajnan aplikaĵon aŭ aparaton."

Ĉi tio estas pli de merkatika priskribo, nun pri la teknologiaj trajtoj.

▍ Kerno: 

ZeroTier Network Hypervisor estas memstara reta virtualiga motoro, kiu kopias Eterreton-reton, similan al VXLAN, aldone al tutmonda ĉifrita samulo-al-kunulo (P2P) reto.

La protokoloj uzitaj en ZeroTier estas originalaj, kvankam similaj en aspekto al VXLAN kaj IPSec kaj konsistas el du koncipe apartaj, sed proksime rilataj tavoloj: VL1 kaj VL2.

Ligo al dokumentaro

▍VL1 estas baza transporta tavolo (P2P), speco de "virtuala kablo".

"Tutmonda datumcentro postulas 'tutmondan ŝrankon' de kablado."

En konvenciaj retoj, L1 (OSI-Tavolo 1) rilatas al la faktaj kabloj aŭ sendrataj radioj kiuj portas datenojn kaj la fizikajn elsendilaparatajn blatojn kiuj modulas kaj demodulas ĝin. VL1 estas peer-to-peer (P2P) reto, kiu faras la samon, uzante ĉifradon, aŭtentikigon kaj aliajn interkonektajn lertaĵojn por organizi virtualajn kablojn laŭbezone.

Krome, ĝi faras tion aŭtomate, rapide kaj sen la implikiĝo de la uzanto lanĉanta novan ZeroTier-nodon.

Por atingi tion, VL1 estas organizita simile al la domajna nomo sistemo. Ĉe la koro de la reto estas grupo de tre disponeblaj radikserviloj, kies rolo estas simila al tiu de DNS-radikaj nomserviloj. Nuntempe, la ĉefaj (planedaj) radikaj serviloj estas sub la kontrolo de la programisto - ZeroTier, Inc. kaj estas provizitaj kiel senpaga servo. 

Tamen, eblas krei kutimajn radikservilojn (lunoj), kiuj ebligas al vi:

  • redukti dependecon de ZeroTier, Inc. infrastrukturo; Ligo al dokumentaro
  • pliigi produktivecon minimumigante malfruojn; 
  • daŭre funkcias normale se la interreta konekto estas perdita.

Komence, nodoj estas lanĉitaj sen rektaj ligoj unu al la alia. 

Ĉiu kunulo sur VL1 havas unikan 40-bitan (10 deksesuma) ZeroTier-adreson, kiu, male al IP-adresoj, estas ĉifrita identigilo kiu enhavas neniujn vojinformojn. Ĉi tiu adreso estas kalkulita el la publika parto de la publika/privata ŝlosilparo. La adreso de nodo, publika ŝlosilo kaj privata ŝlosilo kune formas ĝian identecon.

Member ID: df56c5621c  
            |
            ZeroTier address of node

Koncerne ĉifradon, ĉi tio estas kialo por aparta artikolo.

Ligo al dokumentaro

Por establi komunikadon, kunuloj unue sendas pakaĵetojn "supren" la arbon de radikserviloj, kaj kiam tiuj pakaĵetoj vojaĝas tra la reto, ili iniciatas hazardan kreadon de antaŭaj kanaloj laŭ la maniero. La arbo konstante provas "kolapsi memstare" por optimumigi sin por la itinermapo kiun ĝi stokas.

La mekanismo por establado de kunul-al-kunula ligo estas kiel sekvas:

Smart Ethernet Switch por Planedo Tero

  1. Nodo A volas sendi pakaĵeton al Nodo B, sed ĉar ĝi ne konas la rektan vojon, ĝi sendas ĝin kontraŭflue al Nodo R (luno, la radika servilo de la uzanto).
  2. Se nodo R havas rektan ligon kun nodo B, ĝi plusendas la pakaĵeton tien. Alie, ĝi sendas la pakaĵeton kontraŭflue antaŭ ol atingi la planedajn radikojn.La planedaj radikoj scias pri ĉiuj nodoj, do la pakaĵeto fine atingos la nodon B se ĝi estas enreta.
  3. Nodo R ankaŭ sendas mesaĝon nomitan "rendevuo" al nodo A, enhavante sugestojn pri kiel ĝi povas atingi nodon B. Dume, la radikservilo, kiu plusendas la pakaĵeton al nodo B, sendas "rendevuon" informante ĝin pri kiel ĝi povas. atingi nodon A.
  4. Nodoj A kaj B ricevas siajn rendevuomesaĝojn kaj provas sendi testmesaĝojn unu al la alia en provo rompi ajnan NAT aŭ ŝtatajn fajromurojn renkontitajn survoje. Se ĉi tio funkcias, tiam rekta konekto estas establita, kaj pakaĵoj ne plu iras tien kaj reen.

Se rekta konekto ne povas esti establita, komunikado daŭros per relajso, kaj rektaj ligprovoj daŭros ĝis sukcesa rezulto estas atingita. 

VL1 ankaŭ havas aliajn ecojn por establado de rekta konektebleco, inkluzive de LAN-kunulmalkovro, havenprognozo por krucado de simetria IPv4 NAT, kaj eksplicita havenmapado uzante uPnP kaj/aŭ NAT-PMP se havebla sur la loka fizika LAN.

→ Ligo al dokumentaro

▍VL2 estas VXLAN-simila Ethernet-reta virtualiga protokolo kun SDN-administradfunkcioj. Konata komunika medio por OS kaj aplikoj...

Male al VL1, krei VL2-retojn (VLANoj) kaj konekti nodojn al ili, same kiel administri ilin, postulas rektan partoprenon de la uzanto. Li povas fari tion uzante retan regilon. Esence, ĝi estas regula ZeroTier-nodo, kie la regulfunkcioj estas kontrolitaj en du manieroj: aŭ rekte, ŝanĝante dosierojn, aŭ, kiel la programisto forte rekomendas, uzante publikigitan API. 

Ĉi tiu metodo de administri ZeroTier virtualajn retojn ne estas tre oportuna por la averaĝa homo, do ekzistas pluraj GUI-oj:
 

  • Unu de la programisto ZeroTier, havebla kiel publika nuba SaaS-solvo kun kvar abonplanoj, inkluzive de senpagaj, sed limigitaj en la nombro da administritaj aparatoj kaj nivelo de subteno.
  • La dua estas de sendependa programisto, iom simpligita en funkcieco, sed havebla kiel privata malfermfonta solvo por uzo surloke aŭ sur nubaj rimedoj.

VL2 estas efektivigita sur VL1 kaj estas transportita per ĝi. Tamen, ĝi heredas la ĉifradon kaj aŭtentikigon de la VL1-finpunkto, kaj ankaŭ uzas siajn nesimetriajn ŝlosilojn por subskribi kaj kontroli akreditaĵojn. VL1 permesas al vi efektivigi VL2 sen zorgi pri la ekzistanta fizika reto-topologio. Tio estas, problemoj kun konektebleco kaj envojiga efikeco estas VL1-problemoj. Gravas kompreni, ke ne ekzistas rilato inter VL2 virtualaj retoj kaj VL1-vojoj. Simile al VLAN-multiplexado en kablita LAN, du nodoj kiuj dividas multoblajn retajn membrecojn daŭre havos nur unu VL1 (virtuala kablo) vojon inter ili.

Ĉiu VL2-reto (VLAN) estas identigita per 64-bita (16 deksesuma) ZeroTier retadreso, kiu enhavas la 40-bitan ZeroTier-adreson de la regilo kaj 24-bita nombro identiganta la reton kreitan fare de tiu regilo.

Network ID: 8056c2e21c123456
            |         |
            |         Network number on controller
            |
            ZeroTier address of controller

Kiam nodo aliĝas al reto aŭ petas retan agordan ĝisdatigon, ĝi sendas retan agordan peton (per VL1) al la retregilo. La regilo tiam uzas la VL1-adreson de la nodo por trovi ĝin en la reto kaj sendi al ĝi la taŭgajn atestilojn, akreditaĵojn kaj agordajn informojn. De la vidpunkto de VL2 virtualaj retoj, VL1 ZeroTier-adresoj povas esti konsiderataj kiel havenaj nombroj sur grandega tutmonda virtuala ŝaltilo.

Ĉiuj akreditaĵoj eldonitaj fare de retregiloj al membronodoj de antaŭfiksita reto estas subskribitaj per la sekreta ŝlosilo de la regilo tiel ke ĉiuj retpartoprenantoj povas kontroli ilin. La akreditaĵoj havas tempomarkojn generitajn de la regilo, permesante relativan komparon sen devi aliri la lokan sisteman horloĝon de la gastiganto. 

Akreditaĵoj estas elsenditaj nur al siaj posedantoj kaj poste senditaj al kunuloj, kiuj volas komuniki kun aliaj nodoj en la reto. Ĉi tio permesas al la reto grimpi al grandegaj grandecoj sen la bezono konservi grandajn kvantojn da akreditaĵoj sur nodoj aŭ konstante kontakti la retregilon.

ZeroTier-retoj subtenas multirolanta distribuadon per simpla publikiga/abonsistemo.

Ligo al dokumentaro

Kiam nodo deziras ricevi plurelsendon por speciala distribugrupo, ĝi reklamas membrecon en tiu grupo al aliaj membroj de la reto kun kiu ĝi komunikas kaj al la retregilo. Kiam nodo deziras sendi multielsendon, ĝi samtempe aliras sian kaŝmemoron de lastatempaj publikaĵoj kaj periode petas pliajn publikaĵojn.

Elsendo (Ethernet ff: ff: ff: ff: ff: ff) estas traktata kiel multielsenda grupo al kiu ĉiuj partoprenantoj abonas. Ĝi povas esti malŝaltita ĉe la retonivelo por redukti trafikon se ĝi ne estas bezonata. 

ZeroTier imitas veran Ethernet-ŝaltilon. Ĉi tiu fakto permesas al ni efektivigi kombinante la kreitajn virtualajn retojn kun aliaj Eterretaj retoj (kablata LAN, WiFi, virtuala backplane, ktp.) ĉe la datumliga nivelo - uzante regulan Ethernet-ponton.

Por funkcii kiel ponto, la retregilo devas indiki gastiganton kiel tia. Ĉi tiu skemo estas efektivigita pro sekurecaj kialoj, ĉar normalaj retgastigantoj ne rajtas sendi trafikon de fonto krom sia MAC-adreso. Nodoj indikitaj kiel pontoj ankaŭ uzas specialan reĝimon de la multirolantaro-algoritmo, kiu interagas kun ili pli agreseme kaj celite dum grupaj abonoj kaj reproduktado de ĉiu elsendotrafiko kaj ARP-petoj. 

La ŝaltilo ankaŭ havas la kapablon krei publikajn kaj ad-hoc-retojn, QoS-mekanismon kaj retan regulredaktilon.

▍Nodo:

ZeroTier Unu estas servo funkcianta sur tekkomputiloj, labortabloj, serviloj, virtualaj maŝinoj kaj ujoj, kiu disponigas ligojn al virtuala reto per virtuala reta haveno, simila al VPN-kliento. 

Post kiam la servo estas instalita kaj komencita, vi povas konektiĝi al virtualaj retoj uzante iliajn 16-ciferajn adresojn. Ĉiu reto aperas kiel virtuala reta haveno en la sistemo, kiu kondutas same kiel regula Ethernet-haveno.

ZeroTier One estas nuntempe havebla por la sekvaj OS kaj sistemoj.

OS:

  • Vindozo - MSI-instalilo x86/x64
  • MacOS - PKG-instalilo
  • Apple iOS - App Store
  • android — Play Store
  • linux - DEB/RPM
  • FreeBSD - FreeBSD-pakaĵo

NAS:

  • Sinologio NAS
  • QNAP NAS
  • WD MyCloud NAS

Aliaj:

  • Docker - docker dosiero
  • OpenWRT - komunuma haveno
  • App-enigo - SDK (libzt)

Por resumi ĉion ĉi-supran, mi rimarkus, ke ZeroTier estas bonega kaj rapida ilo por kombini viajn fizikajn, virtualajn aŭ nubajn rimedojn en komunan lokan reton, kun la kapablo dividi ĝin en VLANojn kaj la foreston de ununura punkto de fiasko. .

Jen por la teoria parto en la formato de la unua artikolo pri ZeroTier por Habr - tio verŝajne estas ĉio! En la sekva artikolo, mi planas pruvi praktike la kreadon de virtuala reto-infrastrukturo bazita sur ZeroTier, kie VDS kun privata malfermfonteca GUI-ŝablono estos uzata kiel retregilo. 

Karaj legantoj! Ĉu vi uzas ZeroTier-teknologion en viaj projektoj? Se ne, kiajn ilojn vi uzas por retigi viajn rimedojn?

Smart Ethernet Switch por Planedo Tero

fonto: www.habr.com

Aldoni komenton