Planet Earth üçün Smart Ethernet Switch

Planet Earth üçün Smart Ethernet Switch
"Siz bir neçə yolla həll (problemi həll edə) yarada bilərsiniz, lakin ən bahalı və/yaxud populyar üsul həmişə ən təsirli deyil!"

Başlanğıc

Təxminən üç il əvvəl, fəlakət məlumatlarının bərpası üçün uzaq bir modelin hazırlanması prosesində dərhal fərq edilməyən bir maneə ilə qarşılaşdım - icma mənbələrində şəbəkə virtualizasiyası üçün yeni orijinal həllər haqqında məlumatın olmaması. 

Hazırlanmış model üçün alqoritm aşağıdakı kimi planlaşdırılıb: 

  1. Mənimlə əlaqə saxlayan, kompüteri bir dəfə yükləməkdən imtina edən və “sistem diski aşkarlanmadı/formatlaşdırılmadı” mesajını göstərən uzaq istifadəçi onu life USB-dən istifadə edərək yükləyir. 
  2. Yükləmə prosesi zamanı sistem avtomatik olaraq özünə əlavə olaraq administratorun iş stansiyasını, bu halda noutbuku və NAS qovşağını ehtiva edən təhlükəsiz özəl yerli şəbəkəyə qoşulur. 
  3. Sonra qoşuluram - ya disk bölmələrini canlandırmaq, ya da oradan məlumat çıxarmaq üçün.

Əvvəlcə bu modeli idarə etdiyim şəbəkədəki yerli marşrutlaşdırıcıda, sonra icarəyə götürülmüş VDS-də VPN serverindən istifadə edərək həyata keçirdim. Lakin, tez-tez olur və Chisholm-un birinci qanununa görə, yağış yağarsa, internet provayderinin şəbəkəsi sıradan çıxacaq, sonra biznes subyektləri arasında mübahisələr xidmət provayderinin “enerji” itirməsinə səbəb olacaq...

Buna görə də, əvvəlcə lazımi alətin cavab verməli olduğu əsas tələbləri formalaşdırmaq qərarına gəldim. Birincisi mərkəzsizləşdirmədir. İkincisi, bir neçə belə həyat USB-nin olduğunu nəzərə alsaq, onların hər birinin ayrıca təcrid olunmuş şəbəkəsi var. Yaxşı, üçüncüsü, müxtəlif cihazların şəbəkəsinə sürətli qoşulma və onların sadə idarə edilməsi, o cümlədən dizüstü kompüterim də yuxarıda göstərilən qanunun qurbanı olarsa.

Buna əsaslanaraq və çox uyğun olmayan bir neçə variantın praktiki tədqiqatlarına iki ay yarım vaxt sərf edərək, mən öz təhlükə və riskimlə o vaxt mənə məlum olmayan ZeroTier adlı bir başlanğıcdan başqa bir aləti sınamaq qərarına gəldim. Hansı ki, sonradan heç peşman olmamışam.

Bu Yeni il tətillərində həmin yaddaqalan andan məzmunla bağlı vəziyyətin dəyişib-dəyişmədiyini anlamağa çalışaraq, mənbə kimi Habr-dan istifadə edərək, bu mövzuda məqalələrin mövcudluğu üçün seçmə yoxlama apardım. Axtarış nəticələrində "ZeroTier" sorğusu üçün onu qeyd edən yalnız üç məqalə var və ən azı qısa təsviri olan bir məqalə yoxdur. Və bu, onların arasında ZeroTier, Inc.-in yaradıcısının özünün yazdığı məqalənin tərcüməsinin olmasına baxmayaraq. — Adam Yerymenko.

Nəticələr məyus oldu və məni ZeroTier haqqında daha ətraflı danışmağa vadar etdi, müasir “axtaranları” mənim tutduğum marşrutla getmək məcburiyyətindən xilas etdi.

Bəs sən nəsən?

Tərtibatçı ZeroTier-i Yer planeti üçün ağıllı Ethernet açarı kimi yerləşdirir. 

“Bu, kriptoqrafik cəhətdən təhlükəsiz qlobal peer-to-peer (P2P) şəbəkəsinin üzərində qurulmuş paylanmış şəbəkə hipervizorudur. Korporativ SDN keçidinə bənzər alət, demək olar ki, hər hansı bir tətbiqi və ya cihazı qoşmaq imkanı ilə həm yerli, həm də qlobal fiziki şəbəkələr üzərində virtual şəbəkələri təşkil etmək üçün nəzərdə tutulmuşdur.

Bu, daha çox marketinq təsviridir, indi texnoloji xüsusiyyətlər haqqında.

▍Kernel: 

ZeroTier Network Hypervisor qlobal şifrələnmiş peer-to-peer (P2P) şəbəkəsinin üstündə VXLAN-a bənzər Ethernet şəbəkəsini təqlid edən müstəqil şəbəkə virtuallaşdırma mühərrikidir.

ZeroTier-də istifadə olunan protokollar orijinaldır, baxmayaraq ki, görünüş baxımından VXLAN və IPSec-ə bənzəyir və konseptual olaraq ayrı, lakin bir-biri ilə sıx əlaqəli iki təbəqədən ibarətdir: VL1 və VL2.

Sənədlərə keçid

▍VL1 əsas peer-to-peer (P2P) nəqliyyat qatıdır, bir növ “virtual kabel”dir.

"Qlobal məlumat mərkəzi kabellərin "qlobal şkafını" tələb edir."

Adi şəbəkələrdə L1 (OSI Layer 1) məlumatları daşıyan faktiki kabellərə və ya simsiz radiolara və onu modulyasiya edən və demodulyasiya edən fiziki ötürücü cihaz çiplərinə aiddir. VL1 virtual kabelləri lazım olduqda təşkil etmək üçün şifrələmə, autentifikasiya və digər şəbəkə hiylələrindən istifadə edərək eyni şeyi edən həmyaşıdlar arası (P2P) şəbəkəsidir.

Üstəlik, o, bunu avtomatik, tez və yeni ZeroTier qovşağını işə salan istifadəçinin iştirakı olmadan edir.

Buna nail olmaq üçün VL1 domen adı sisteminə bənzər şəkildə təşkil edilmişdir. Şəbəkənin mərkəzində rolu DNS kök ad serverlərininkinə bənzəyən yüksək əlçatan kök serverlər qrupudur. Hazırda əsas (planetar) kök serverlər tərtibatçının nəzarəti altındadır - ZeroTier, Inc. və pulsuz xidmət kimi təqdim olunur. 

Bununla belə, sizə imkan verən xüsusi kök serverləri (luns) yaratmaq mümkündür:

  • ZeroTier, Inc infrastrukturundan asılılığı azaltmaq; Sənədlərə keçid
  • gecikmələri minimuma endirməklə məhsuldarlığı artırmaq; 
  • İnternet bağlantısı kəsildikdə normal işləməyə davam edin.

Əvvəlcə qovşaqlar bir-biri ilə birbaşa əlaqə olmadan işə salınır. 

VL1-dəki hər bir həmyaşıdın unikal 40-bit (10 hexadecimal) ZeroTier ünvanı var, IP ünvanlarından fərqli olaraq, heç bir marşrutlaşdırma məlumatı olmayan şifrələnmiş identifikatordur. Bu ünvan açıq/özəl açar cütlüyünün ictimai hissəsindən hesablanır. Düyün ünvanı, açıq açar və şəxsi açar birlikdə onun şəxsiyyətini təşkil edir.

Member ID: df56c5621c  
            |
            ZeroTier address of node

Şifrələməyə gəlincə, bu, ayrı bir məqalə üçün bir səbəbdir.

Sənədlərə keçid

Rabitə qurmaq üçün həmyaşıdlar əvvəlcə paketləri kök serverlər ağacına “yuxarı” göndərir və bu paketlər şəbəkədə hərəkət etdikcə, onlar yol boyu təsadüfi irəliləmə kanallarının yaradılmasına başlayırlar. Ağac saxladığı marşrut xəritəsi üçün özünü optimallaşdırmaq üçün daim “öz-özünə çökməyə” çalışır.

Peer-to-peer əlaqəsinin qurulması mexanizmi aşağıdakı kimidir:

Planet Earth üçün Smart Ethernet Switch

  1. A qovşağı paketi B qovşağına göndərmək istəyir, lakin birbaşa yolu bilmədiyi üçün onu yuxarı istiqamətə R Node-yə (ay, istifadəçinin kök serveri) göndərir.
  2. R nodeunun B node ilə birbaşa əlaqəsi varsa, paketi oraya yönləndirir. Əks halda, o, planetar köklərə çatmazdan əvvəl paketi yuxarı axınına göndərir.Planet kökləri bütün qovşaqları bilir, ona görə də paket onlayn olarsa, sonda B node-nə çatacaq.
  3. R qovşağı, həmçinin A qovşağına onun B qovşağına necə çata biləcəyinə dair göstərişləri ehtiva edən "görüş" adlı bir mesaj göndərir. Bu arada, paketi B qovşağına yönləndirən kök server ona necə ola biləcəyi barədə məlumat verən "görüş" göndərir. A qovşağına çatmaq.
  4. A və B qovşaqları görüş mesajlarını alır və yol boyu rast gəlinən hər hansı NAT və ya statuslu firewallları pozmaq cəhdi ilə bir-birlərinə test mesajları göndərməyə çalışırlar. Bu işləyirsə, o zaman birbaşa əlaqə qurulur və paketlər artıq irəli-geri getmir.

Birbaşa əlaqə qurmaq mümkün olmadıqda, əlaqə rele vasitəsilə davam edəcək və uğurlu nəticə əldə olunana qədər birbaşa əlaqə cəhdləri davam edəcək. 

VL1, həmçinin, yerli fiziki LAN-da mövcud olduqda, uPnP və/yaxud NAT-PMP-dən istifadə edərək, LAN həmyaşıdlarının kəşfi, simmetrik IPv4 NAT keçidi üçün port proqnozu və açıq port xəritələşdirilməsi daxil olmaqla, birbaşa əlaqə yaratmaq üçün digər xüsusiyyətlərə malikdir.

→ Sənədlərə keçid

▍VL2 SDN idarəetmə funksiyalarına malik VXLAN-a bənzər Ethernet şəbəkəsi virtuallaşdırma protokoludur. ƏS və proqramlar üçün tanış ünsiyyət mühiti...

VL1-dən fərqli olaraq, VL2 şəbəkələrinin (VLAN) yaradılması və onlara qovşaqların qoşulması, eləcə də onları idarə etmək istifadəçinin birbaşa iştirakını tələb edir. O, şəbəkə nəzarətçisindən istifadə edərək bunu edə bilər. Əslində, bu, nəzarətçi funksiyalarının iki yolla idarə olunduğu adi ZeroTier qovşağıdır: ya birbaşa, faylları dəyişdirməklə, ya da tərtibatçının qəti şəkildə tövsiyə etdiyi kimi, dərc edilmiş API-dən istifadə etməklə. 

ZeroTier virtual şəbəkələrini idarə etməyin bu üsulu adi insan üçün çox əlverişli deyil, ona görə də bir neçə GUI var:
 

  • Developer ZeroTier-dən biri, pulsuz, lakin idarə olunan cihazlar və dəstək səviyyəsində məhdud olan dörd abunə planı ilə SaaS ictimai bulud həlli kimi mövcuddur.
  • İkincisi, funksionallıq baxımından bir qədər sadələşdirilmiş, lakin yerli və ya bulud resurslarında istifadə üçün özəl açıq mənbə həlli kimi mövcud olan müstəqil tərtibatçıdandır.

VL2 VL1-in üstündə həyata keçirilir və onun vasitəsilə daşınır. Bununla belə, o, VL1 son nöqtəsinin şifrələnməsini və autentifikasiyasını miras alır, həmçinin etimadnamələri imzalamaq və yoxlamaq üçün onun asimmetrik açarlarından istifadə edir. VL1 mövcud fiziki şəbəkə topologiyasından narahat olmadan VL2-ni həyata keçirməyə imkan verir. Yəni, əlaqə və marşrutlaşdırma səmərəliliyi ilə bağlı problemlər VL1 problemləridir. VL2 virtual şəbəkələri ilə VL1 yolları arasında heç bir əlaqənin olmadığını başa düşmək vacibdir. Simli LAN-da VLAN multipleksləşməsi kimi, çoxlu şəbəkə üzvlüyünü paylaşan iki qovşaq hələ də aralarında yalnız bir VL1 (virtual kabel) yoluna malik olacaq.

Hər bir VL2 şəbəkəsi (VLAN) nəzarətçinin 64 bitlik ZeroTier ünvanını və həmin nəzarətçi tərəfindən yaradılmış şəbəkəni müəyyən edən 16 bit nömrəni ehtiva edən 40 bitlik (24 onaltılıq) ZeroTier şəbəkə ünvanı ilə müəyyən edilir.

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

Bir qovşaq şəbəkəyə qoşulduqda və ya şəbəkə konfiqurasiyası yeniləməsini tələb etdikdə, şəbəkə nəzarətçisinə şəbəkə konfiqurasiyası sorğusu mesajını (VL1 vasitəsilə) göndərir. Sonra nəzarətçi qovşağın VL1 ünvanından istifadə edərək onu şəbəkədə tapır və ona müvafiq sertifikatlar, etimadnamələr və konfiqurasiya məlumatlarını göndərir. VL2 virtual şəbəkələri baxımından VL1 ZeroTier ünvanları nəhəng qlobal virtual keçiddə port nömrələri kimi düşünülə bilər.

Şəbəkə nəzarətçiləri tərəfindən verilmiş şəbəkənin üzv qovşaqlarına verilən bütün etimadnamələr nəzarətçinin gizli açarı ilə imzalanır ki, bütün şəbəkə iştirakçıları onları yoxlaya bilsinlər. Etibarnamələrdə nəzarətçi tərəfindən yaradılan vaxt ştampları var ki, bu da hostun yerli sistem saatına daxil olmadan nisbi müqayisəyə imkan verir. 

Etibarnamələr yalnız sahiblərinə verilir və sonra şəbəkədəki digər qovşaqlarla əlaqə qurmaq istəyən həmyaşıdlarına göndərilir. Bu, qovşaqlarda böyük miqdarda etimadnaməsini keşləşdirməyə və ya daim şəbəkə nəzarətçisi ilə əlaqə saxlamağa ehtiyac olmadan şəbəkəni nəhəng ölçülərə çatdırmağa imkan verir.

ZeroTier şəbəkələri sadə dərc/abunə sistemi vasitəsilə multicast paylamağı dəstəkləyir.

Sənədlərə keçid

Bir qovşaq müəyyən bir paylama qrupu üçün multicast yayımı almaq istədikdə, o, həmin qrupa üzvlüyünü ünsiyyətdə olduğu şəbəkənin digər üzvlərinə və şəbəkə nəzarətçisinə elan edir. Bir qovşaq multicast göndərmək istədikdə, eyni zamanda son nəşrlərin keşinə daxil olur və vaxtaşırı əlavə nəşrlər tələb edir.

Yayım (Ethernet ff: ff: ff: ff: ff: ff: ff) bütün iştirakçıların abunə olduğu multicast qrupu kimi qəbul edilir. Ehtiyac olmadıqda trafiki azaltmaq üçün şəbəkə səviyyəsində deaktiv edilə bilər. 

ZeroTier real Ethernet keçidini təqlid edir. Bu fakt həyata keçirməyə imkan verir yaradılmış virtual şəbəkələrin digər Ethernet şəbəkələri ilə (simli LAN, WiFi, virtual arxa plan və s.) məlumat bağlantısı səviyyəsində birləşdirilməsi - adi Ethernet körpüsündən istifadə etməklə.

Körpü kimi fəaliyyət göstərmək üçün şəbəkə nəzarətçisi hostu belə təyin etməlidir. Bu sxem təhlükəsizlik səbəbi ilə həyata keçirilir, çünki normal şəbəkə hostlarına MAC ünvanından başqa mənbədən trafik göndərməyə icazə verilmir. Körpü kimi təyin edilmiş qovşaqlar, həmçinin qrup abunəliyi və bütün yayım trafikinin və ARP sorğularının təkrarlanması zamanı onlarla daha aqressiv və məqsədyönlü şəkildə qarşılıqlı əlaqədə olan multicast alqoritminin xüsusi rejimindən istifadə edir. 

Switch həmçinin ictimai və xüsusi şəbəkələr, QoS mexanizmi və şəbəkə qaydaları redaktoru yaratmaq imkanına malikdir.

▍Node:

Birinci səviyyə sıfır VPN müştərisinə bənzər virtual şəbəkə portu vasitəsilə virtual şəbəkəyə qoşulma təmin edən noutbuklarda, masaüstü kompüterlərdə, serverlərdə, virtual maşınlarda və konteynerlərdə işləyən xidmətdir. 

Xidmət quraşdırıldıqdan və işə salındıqdan sonra onların 16 simvoldan ibarət ünvanlarından istifadə edərək virtual şəbəkələrə qoşula bilərsiniz. Hər bir şəbəkə sistemdə adi Ethernet portu kimi davranan virtual şəbəkə portu kimi görünür.

ZeroTier One hazırda aşağıdakı OS və sistemlər üçün mövcuddur.

ƏS:

  • Microsoft Windows - MSI quraşdırıcısı x86/x64
  • MacOS - PKG quraşdırıcısı
  • Apple iOS - App Store
  • Android — Play Store
  • Linux - DEB/RPM
  • FreeBSD - FreeBSD paketi

NAS:

  • Sinologiya NAS
  • QNAP NAS
  • WD MyCloud NAS

Digərləri:

  • yükvuran - docker faylı
  • OpenWRT - icma limanı
  • Proqramın yerləşdirilməsi - SDK (libzt)

Yuxarıda göstərilənlərin hamısını ümumiləşdirmək üçün qeyd edərdim ki, ZeroTier fiziki, virtual və ya bulud resurslarınızı ümumi yerli şəbəkədə birləşdirmək üçün əla və sürətli vasitədir, onu VLAN-lara bölmək imkanı və bir uğursuzluq nöqtəsinin olmamasıdır. .

Habr üçün ZeroTier haqqında ilk məqalənin formatında nəzəri hissə üçün budur - yəqin ki, hamısı budur! Növbəti məqalədə mən ZeroTier əsasında virtual şəbəkə infrastrukturunun yaradılmasını praktikada nümayiş etdirməyi planlaşdırıram, burada şəbəkə nəzarətçisi kimi özəl açıq mənbəli GUI şablonu olan VDS istifadə olunacaq. 

Hörmətli oxucular! Layihələrinizdə ZeroTier texnologiyasından istifadə edirsinizmi? Əgər deyilsə, resurslarınızı şəbəkələşdirmək üçün hansı vasitələrdən istifadə edirsiniz?

Planet Earth üçün Smart Ethernet Switch

Mənbə: www.habr.com

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