Smart Ethernet անջատիչ Երկիր մոլորակի համար

Smart Ethernet անջատիչ Երկիր մոլորակի համար
«Դուք կարող եք լուծում (խնդիր լուծել) ստեղծել մի քանի ձևով, բայց ամենաթանկ և/կամ հանրաճանաչ մեթոդը միշտ չէ, որ ամենաարդյունավետն է»:

Նախաբան

Մոտ երեք տարի առաջ, աղետից տվյալների վերականգնման հեռավոր մոդելի մշակման գործընթացում, ես հանդիպեցի մեկ խոչընդոտի, որն անմիջապես չնկատվեց՝ համայնքի աղբյուրներում ցանցի վիրտուալացման նոր օրիգինալ լուծումների մասին տեղեկատվության բացակայությունը: 

Մշակված մոդելի ալգորիթմը պլանավորվել է հետևյալ կերպ. 

  1. Հեռավոր օգտատերը, ով կապվել է ինձ հետ, ում համակարգիչը մի անգամ հրաժարվել է բեռնումից՝ ցուցադրելով «համակարգի սկավառակը չի հայտնաբերվել/ֆորմատավորված չէ» հաղորդագրությունը, բեռնում է այն՝ օգտագործելով life USB: 
  2. Բեռնման գործընթացում համակարգը ավտոմատ կերպով միանում է անվտանգ մասնավոր տեղական ցանցին, որը բացի իրենից պարունակում է ադմինիստրատորի աշխատանքային կայանը, այս դեպքում՝ նոութբուքը և NAS հանգույցը: 
  3. Հետո միանում եմ՝ կա՛մ սկավառակի բաժանմունքները վերակենդանացնելու, կա՛մ այնտեղից տվյալներ հանելու համար:

Սկզբում ես ներդրեցի այս մոդելը՝ օգտագործելով VPN սերվեր տեղական երթուղիչի վրա՝ իմ վերահսկողության տակ գտնվող ցանցում, այնուհետև վարձակալված VDS-ով: Բայց, ինչպես հաճախ է պատահում, և Չիշոլմի առաջին օրենքի համաձայն, եթե անձրև է գալիս, ինտերնետ պրովայդերի ցանցը կփակվի, ապա բիզնես սուբյեկտների միջև վեճերը կհանգեցնեն ծառայություններ մատուցողի «էներգիայի» կորստի...

Ուստի ես որոշեցի նախ ձևակերպել այն հիմնական պահանջները, որոնք պետք է համապատասխանի անհրաժեշտ գործիքին: Առաջինը ապակենտրոնացումն է։ Երկրորդ, հաշվի առնելով, որ ես ունեմ այս կյանքի USB-ներից մի քանիսը, նրանցից յուրաքանչյուրն ունի առանձին մեկուսացված ցանց: Դե, երրորդ, արագ միացում տարբեր սարքերի ցանցին և դրանց պարզ կառավարում, այդ թվում նաև այն դեպքում, երբ իմ նոութբուքը նույնպես զոհ է դառնում վերը նշված օրենքին։

Ելնելով դրանից և երկուսուկես ամիս ծախսելով մի քանի ոչ այնքան հարմար տարբերակների գործնական ուսումնասիրության վրա, ես, իմ վտանգի տակ և ռիսկով, որոշեցի փորձել մեկ այլ գործիք այն ժամանակ ինձ անհայտ ստարտափից, որը կոչվում էր ZeroTier: Ինչի համար հետո երբեք չեմ զղջացել:

Այս ամանորյա տոների ընթացքում, փորձելով հասկանալ, թե արդյոք փոխվել է իրավիճակը բովանդակության հետ կապված այդ հիշարժան պահից հետո, ես ընտրովի աուդիտ անցկացրի այս թեմայով հոդվածների առկայության համար՝ օգտագործելով Habr-ը որպես աղբյուր: Որոնման արդյունքներում «ZeroTier» հարցման համար կա միայն երեք հոդված, որը նշում է այն, և ոչ մեկը գոնե հակիրճ նկարագրությամբ: Եվ սա չնայած այն հանգամանքին, որ դրանց թվում կա մի հոդվածի թարգմանություն, որը գրել է ինքը՝ ZeroTier, Inc.-ի հիմնադիրը։ — Ադամ Իերիմենկո.

Արդյունքները հիասթափեցնող էին և ինձ դրդեցին սկսել ավելի մանրամասն խոսել ZeroTier-ի մասին՝ փրկելով ժամանակակից «փնտրողներին» նույն ճանապարհով անցնելուց, որով ես գնացի:

Այսպիսով, ինչ եք դուք:

Մշակողը դիրքավորում է ZeroTier-ը որպես խելացի Ethernet անջատիչ Երկիր մոլորակի համար: 

«Դա բաշխված ցանցի հիպերվիզոր է, որը կառուցված է գաղտնագրորեն ապահով գլոբալ հավասարակցական (P2P) ցանցի վրա: Կորպորատիվ SDN անջատիչի նման գործիք, որը նախատեսված է ֆիզիկական ցանցերի վրա վիրտուալ ցանցեր կազմակերպելու համար, ինչպես տեղական, այնպես էլ գլոբալ, գրեթե ցանկացած հավելված կամ սարք միացնելու ունակությամբ»:

Սա ավելի շատ մարքեթինգային նկարագրություն է, այժմ տեխնոլոգիական առանձնահատկությունների մասին:

▍ Միջուկ. 

ZeroTier Network Hypervisor-ը առանձին ցանցի վիրտուալացման շարժիչ է, որը նմանակում է Ethernet ցանցին, որը նման է VXLAN-ին, գլոբալ կոդավորված հավասարակցական (P2P) ցանցի վերևում:

ZeroTier-ում օգտագործվող արձանագրությունները բնօրինակ են, թեև արտաքին տեսքով նման են VXLAN-ին և IPSec-ին և բաղկացած են երկու կոնցեպտուալ առանձին, բայց սերտորեն կապված շերտերից՝ VL1 և VL2:

Հղում դեպի փաստաթղթեր

▍VL1-ը հավասարազոր (P2P) տրանսպորտային շերտ է, մի տեսակ «վիրտուալ մալուխ»:

«Գլոբալ տվյալների կենտրոնը պահանջում է մալուխների «գլոբալ պահարան»:

Սովորական ցանցերում L1-ը (OSI Layer 1) վերաբերում է իրական մալուխներին կամ անլար ռադիոհաղորդիչներին, որոնք փոխանցում են տվյալներ և ֆիզիկական հաղորդիչ սարքի չիպերը, որոնք մոդուլավորում և ապամոդուլավորում են դրանք: VL1-ը հավասարազոր (P2P) ցանց է, որն անում է նույնը՝ օգտագործելով գաղտնագրում, իսկորոշում և ցանցային այլ հնարքներ՝ անհրաժեշտության դեպքում վիրտուալ մալուխները կազմակերպելու համար:

Ավելին, այն դա անում է ավտոմատ կերպով, արագ և առանց օգտվողի մասնակցության, որը գործարկում է նոր ZeroTier հանգույց:

Դրան հասնելու համար VL1-ը կազմակերպված է դոմեյն անունների համակարգի նման: Ցանցի հիմքում բարձր հասանելի արմատական ​​սերվերների խումբ է, որոնց դերը նման է DNS արմատային անունների սերվերների դերին: Այս պահին հիմնական (մոլորակային) արմատային սերվերները գտնվում են մշակողի՝ ZeroTier, Inc.-ի հսկողության տակ։ և տրամադրվում են որպես անվճար ծառայություն։ 

Այնուամենայնիվ, հնարավոր է ստեղծել հատուկ արմատային սերվերներ (luns), որոնք թույլ են տալիս.

  • նվազեցնել կախվածությունը ZeroTier, Inc. ենթակառուցվածքից; Հղում դեպի փաստաթղթեր
  • բարձրացնել արտադրողականությունը՝ նվազագույնի հասցնելով ձգձգումները. 
  • շարունակեք աշխատել նորմալ ռեժիմով, եթե ինտերնետ կապը կորչում է:

Սկզբում հանգույցները գործարկվում են առանց միմյանց հետ անմիջական կապերի: 

VL1-ի յուրաքանչյուր գործընկեր ունի եզակի 40-բիթանոց (10 տասնվեցական) ZeroTier հասցե, որը, ի տարբերություն IP հասցեների, գաղտնագրված նույնացուցիչ է, որը չի պարունակում երթուղային տեղեկատվություն: Այս հասցեն հաշվարկվում է հանրային/մասնավոր բանալիների զույգի հանրային մասից: Հանգույցի հասցեն, հանրային բանալին և մասնավոր բանալին միասին կազմում են նրա ինքնությունը:

Member ID: df56c5621c  
            |
            ZeroTier address of node

Ինչ վերաբերում է կոդավորմանը, սա առանձին հոդվածի պատճառ է։

Հղում դեպի փաստաթղթեր

Հաղորդակցություն հաստատելու համար գործընկերները նախ փաթեթներ են ուղարկում «վերև» արմատային սերվերների ծառի վրա, և երբ այդ փաթեթները շարժվում են ցանցով, նրանք սկսում են պատահական առաջընթաց ալիքների ստեղծումը ճանապարհին: Ծառն անընդհատ փորձում է «ինքնուրույն փլուզվել»՝ իր կողմից պահպանված երթուղու քարտեզի համար օպտիմալացնելու համար:

Գործընկեր-to-peer կապի հաստատման մեխանիզմը հետևյալն է.

Smart Ethernet անջատիչ Երկիր մոլորակի համար

  1. A հանգույցը ցանկանում է փաթեթ ուղարկել B հանգույցին, բայց քանի որ նա չգիտի ուղիղ ուղին, այն ուղարկում է դեպի վերև դեպի հանգույց R (լուսին, օգտագործողի արմատային սերվեր):
  2. Եթե ​​R հանգույցն ուղիղ կապ ունի B հանգույցի հետ, ապա փաթեթն ուղարկում է այնտեղ: Հակառակ դեպքում, այն ուղարկում է փաթեթը դեպի վերև՝ նախքան մոլորակային արմատներին հասնելը: Մոլորակային արմատները գիտեն բոլոր հանգույցների մասին, ուստի փաթեթը ի վերջո կհասնի B հանգույցին, եթե այն առցանց է:
  3. R հանգույցը նաև A հանգույցին ուղարկում է «ռեզվու» կոչվող հաղորդագրություն, որը պարունակում է հուշումներ այն մասին, թե ինչպես կարող է այն հասնել B հանգույցին: Մինչդեռ արմատային սերվերը, որն ուղարկում է փաթեթը դեպի B հանգույց, ուղարկում է «ռեզվու»՝ տեղեկացնելով նրան, թե ինչպես կարող է հասնել: հասնել հանգույց Ա.
  4. A և B հանգույցները ստանում են իրենց հանդիպման հաղորդագրությունները և փորձում են փորձնական հաղորդագրություններ ուղարկել միմյանց՝ փորձելով խախտել ճանապարհին հանդիպած NAT-ը կամ պետական ​​պատերը: Եթե ​​սա աշխատում է, ապա ուղիղ կապ է հաստատվում, և փաթեթներն այլևս չեն գնում հետ ու առաջ:

Եթե ​​ուղիղ կապ չի կարող հաստատվել, կապը կշարունակվի ռելեի միջոցով, իսկ ուղիղ միացման փորձերը կշարունակվեն մինչև հաջող արդյունքի հասնելը: 

VL1-ն ունի նաև այլ հնարավորություններ՝ ուղղակի կապ հաստատելու համար, ներառյալ LAN գործընկերների հայտնաբերումը, սիմետրիկ IPv4 NAT-ի անցման պորտի կանխատեսումը և բացահայտ պորտի քարտեզագրումը, օգտագործելով uPnP և/կամ NAT-PMP, եթե առկա է տեղական ֆիզիկական LAN-ում:

→ Հղում դեպի փաստաթղթեր

▍VL2-ը VXLAN-ի նման Ethernet ցանցի վիրտուալացման արձանագրություն է՝ SDN կառավարման գործառույթներով: ՕՀ-ի և հավելվածների համար ծանոթ հաղորդակցման միջավայր...

Ի տարբերություն VL1-ի, VL2 ցանցերի (VLANs) ստեղծումը և հանգույցների միացումը դրանց, ինչպես նաև կառավարումը պահանջում է օգտագործողի անմիջական մասնակցությունը։ Նա կարող է դա անել՝ օգտագործելով ցանցային վերահսկիչ: Ըստ էության, դա սովորական ZeroTier հանգույց է, որտեղ վերահսկիչի գործառույթները վերահսկվում են երկու եղանակով՝ կա՛մ ուղղակիորեն՝ փոխելով ֆայլերը, կա՛մ, ինչպես մշակողը խստորեն խորհուրդ է տալիս՝ օգտագործելով հրապարակված API: 

ZeroTier վիրտուալ ցանցերի կառավարման այս մեթոդը այնքան էլ հարմար չէ սովորական մարդու համար, ուստի կան մի քանի GUI.
 

  • Մեկը մշակողի ZeroTier-ից, որը հասանելի է որպես հանրային ամպային SaaS լուծում չորս բաժանորդագրության պլաններով, ներառյալ անվճար, բայց սահմանափակ կառավարվող սարքերի քանակով և աջակցության մակարդակով:
  • Երկրորդը անկախ ծրագրավորողից է՝ որոշ չափով պարզեցված ֆունկցիոնալությամբ, բայց հասանելի է որպես մասնավոր բաց կոդով լուծում՝ տեղում կամ ամպային ռեսուրսների վրա օգտագործելու համար:

VL2-ն իրականացվում է VL1-ի վերևում և տեղափոխվում է դրանով: Այնուամենայնիվ, այն ժառանգում է VL1 վերջնակետի կոդավորումը և նույնականացումը, ինչպես նաև օգտագործում է իր ասիմետրիկ բանալիները՝ ստորագրելու և հավատարմագրերը հաստատելու համար: VL1-ը թույլ է տալիս իրականացնել VL2՝ առանց անհանգստանալու գոյություն ունեցող ֆիզիկական ցանցի տոպոլոգիայի մասին: Այսինքն՝ կապի և երթուղավորման արդյունավետության հետ կապված խնդիրները VL1 խնդիրներն են։ Կարևոր է հասկանալ, որ VL2 վիրտուալ ցանցերի և VL1 ուղիների միջև կապ չկա: Լարային LAN-ում VLAN մուլտիպլեքսավորման նման, երկու հանգույցները, որոնք կիսում են բազմաթիվ ցանցային անդամակցություններ, դեռևս կունենան միայն մեկ VL1 (վիրտուալ մալուխ) ուղի իրենց միջև:

Յուրաքանչյուր VL2 ցանց (VLAN) նույնականացվում է 64-բիթանոց (16 տասնվեցական) ZeroTier ցանցի հասցեով, որը պարունակում է վերահսկիչի 40-բիթանոց ZeroTier հասցեն և այդ վերահսկիչի կողմից ստեղծված ցանցը նույնացնող 24-բիթանոց համար:

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

Երբ հանգույցը միանում է ցանցին կամ պահանջում է ցանցի կազմաձևման թարմացում, այն ուղարկում է ցանցի կազմաձևման հարցման հաղորդագրություն (VL1-ի միջոցով) ցանցի վերահսկիչին: Այնուհետև վերահսկիչն օգտագործում է հանգույցի VL1 հասցեն, որպեսզի գտնի այն ցանցում և ուղարկի համապատասխան վկայականները, հավատարմագրերը և կազմաձևման տեղեկությունները: VL2 վիրտուալ ցանցերի տեսանկյունից VL1 ZeroTier հասցեները կարելի է համարել հսկայական գլոբալ վիրտուալ անջատիչի միացքի համարներ:

Ցանցային կարգավարների կողմից տվյալ ցանցի անդամ հանգույցներին տրված բոլոր հավատարմագրերը ստորագրված են վերահսկիչի գաղտնի բանալիով, որպեսզի ցանցի բոլոր մասնակիցները կարողանան ստուգել դրանք: Հավատարմագրերն ունեն վերահսկիչի կողմից գեներացված ժամանակի դրոշմներ, որոնք թույլ են տալիս համեմատական ​​համեմատություն՝ առանց հյուրընկալողի տեղական համակարգի ժամացույցին մուտք գործելու: 

Հավատարմագրերը տրվում են միայն իրենց սեփականատերերին, այնուհետև ուղարկվում են հասակակիցներին, ովքեր ցանկանում են շփվել ցանցի այլ հանգույցների հետ: Սա թույլ է տալիս ցանցին մասշտաբել հսկայական չափերի՝ առանց հանգույցների վրա մեծ քանակությամբ հավատարմագրեր քեշավորելու կամ ցանցի վերահսկիչի հետ անընդհատ կապվելու անհրաժեշտության:

ZeroTier ցանցերն աջակցում են բազմակի տարածմանը պարզ հրապարակման/բաժանորդագրման համակարգի միջոցով:

Հղում դեպի փաստաթղթեր

Երբ հանգույցը ցանկանում է ստանալ բազմակի հեռարձակում որոշակի բաշխիչ խմբի համար, այն գովազդում է այդ խմբի անդամակցությունը ցանցի մյուս անդամներին, որոնց հետ հաղորդակցվում է, և ցանցի վերահսկիչին: Երբ հանգույցը ցանկանում է ուղարկել multicast, այն միաժամանակ մուտք է գործում իր վերջին հրապարակումների քեշը և պարբերաբար լրացուցիչ հրապարակումներ է պահանջում:

Հեռարձակումը (Ethernet ff: ff: ff: ff: ff: ff) դիտվում է որպես բազմակի հեռարձակման խումբ, որին բաժանորդագրվում են բոլոր մասնակիցները: Այն կարող է անջատվել ցանցի մակարդակում՝ երթևեկությունը նվազեցնելու համար, եթե դրա կարիքը չկա: 

ZeroTier-ը նմանակում է իրական Ethernet անջատիչին: Այս փաստը մեզ թույլ է տալիս իրականացնել ստեղծված վիրտուալ ցանցերի համատեղում այլ Ethernet ցանցերի հետ (լարային LAN, WiFi, վիրտուալ հետնամաս և այլն) տվյալների հղման մակարդակում՝ օգտագործելով սովորական Ethernet կամուրջ:

Որպես կամուրջ գործելու համար ցանցի վերահսկիչը պետք է նշանակի հոսթ որպես այդպիսին: Այս սխեման իրականացվում է անվտանգության նկատառումներից ելնելով, քանի որ նորմալ ցանցային հոսթներին չի թույլատրվում ուղարկել տրաֆիկ այլ աղբյուրից, բացի իրենց MAC հասցեից: Որպես կամուրջներ նշանակված հանգույցները նաև օգտագործում են բազմակաստ ալգորիթմի հատուկ ռեժիմ, որն ավելի ագրեսիվ և նպատակային է փոխազդում նրանց հետ խմբային բաժանորդագրությունների և հեռարձակման բոլոր տրաֆիկի և ARP հարցումների կրկնօրինակման ժամանակ: 

Switch-ն ունի նաև հանրային և ad-hoc ցանցեր ստեղծելու հնարավորություն, QoS մեխանիզմ և ցանցի կանոնների խմբագրիչ։

▍Հանգույց:

ZeroTier One նոութբուքերի, աշխատասեղանների, սերվերների, վիրտուալ մեքենաների և կոնտեյներների վրա աշխատող ծառայություն է, որն ապահովում է միացումներ վիրտուալ ցանցին վիրտուալ ցանցի պորտի միջոցով, որը նման է VPN հաճախորդի: 

Ծառայությունը տեղադրվելուց և գործարկվելուց հետո կարող եք միանալ վիրտուալ ցանցերին՝ օգտագործելով դրանց 16 նիշանոց հասցեները: Յուրաքանչյուր ցանց հայտնվում է որպես վիրտուալ ցանցային պորտ համակարգի վրա, որն իրեն պահում է այնպես, ինչպես սովորական Ethernet պորտը:

ZeroTier One-ը ներկայումս հասանելի է հետևյալ ՕՀ-ի և համակարգերի համար:

ՕՀ:

  • Microsoft Windows - MSI տեղադրող x86/x64
  • MacOS - PKG տեղադրող
  • apple iOS - App Store
  • Android — Play Store
  • Linux - DEB/RPM
  • FreeBSD- ը - FreeBSD փաթեթ

ԳԱԱ.

  • Synology NAS- ը
  • QNAP NAS
  • WD MyCloud NAS

Այլ:

  • դոկեր - docker ֆայլ
  • OpenWRT - համայնքային նավահանգիստ
  • Հավելվածի ներկառուցում - SDK (libzt)

Վերը նշված բոլորը ամփոփելու համար նշեմ, որ ZeroTier-ը հիանալի և արագ գործիք է ձեր ֆիզիկական, վիրտուալ կամ ամպային ռեսուրսները ընդհանուր տեղական ցանցի մեջ միավորելու համար՝ այն VLAN-ների բաժանելու ունակությամբ և ձախողման մեկ կետի բացակայությամբ: .

Այսքանը տեսական մասի համար՝ ZeroTier-ի մասին առաջին հոդվածի ձևաչափով Habr-ի համար, երևի այսքանը: Հաջորդ հոդվածում ես նախատեսում եմ գործնականում ցուցադրել ZeroTier-ի վրա հիմնված վիրտուալ ցանցային ենթակառուցվածքի ստեղծումը, որտեղ որպես ցանցի վերահսկիչ կօգտագործվի մասնավոր բաց կոդով GUI կաղապարով VDS: 

Հարգելի ընթերցողներ: Դուք օգտագործում եք ZeroTier տեխնոլոգիան ձեր նախագծերում: Եթե ​​ոչ, ի՞նչ գործիքներ եք օգտագործում ձեր ռեսուրսները ցանցելու համար:

Smart Ethernet անջատիչ Երկիր մոլորակի համար

Source: www.habr.com

Добавить комментарий