Yer sayyorasi uchun Smart Ethernet Switch

Yer sayyorasi uchun Smart Ethernet Switch
"Siz bir necha usulda yechim yaratishingiz mumkin (muammoni hal qilishingiz), lekin eng qimmat va/yoki mashhur usul har doim ham eng samarali emas!"

Ibtido

Taxminan uch yil oldin, falokat ma'lumotlarini tiklash uchun masofaviy modelni ishlab chiqish jarayonida men darhol sezilmaydigan bitta to'siqga duch keldim - jamoa manbalarida tarmoqni virtualizatsiya qilish uchun yangi original echimlar haqida ma'lumot yo'qligi. 

Ishlab chiqilgan model uchun algoritm quyidagicha rejalashtirilgan: 

  1. Men bilan bog'langan, kompyuteri bir marta yuklashdan bosh tortgan, "tizim diski aniqlanmadi/formatlanmagan" xabarini ko'rsatgan masofaviy foydalanuvchi uni life USB yordamida yuklaydi. 
  2. Yuklash jarayonida tizim avtomatik ravishda xavfsiz shaxsiy mahalliy tarmoqqa ulanadi, u o'ziga qo'shimcha ravishda administratorning ish stantsiyasini, bu holda noutbukni va NAS tugunini o'z ichiga oladi. 
  3. Keyin men ulanaman - yoki disk bo'limlarini qayta tiklash uchun yoki u erdan ma'lumotlarni olish uchun.

Dastlab, men ushbu modelni VPN serveridan foydalanib, o'zimning nazoratim ostidagi tarmoqdagi mahalliy routerda, so'ngra ijaraga olingan VDSda amalga oshirdim. Ammo, tez-tez sodir bo'lganidek va Chisholmning birinchi qonuniga ko'ra, agar yomg'ir yog'sa, Internet-provayder tarmog'i ishlamay qoladi, keyin tadbirkorlik sub'ektlari o'rtasidagi nizolar xizmat ko'rsatuvchi provayderning "energiya" ni yo'qotishiga olib keladi...

Shuning uchun, men birinchi navbatda zarur vosita javob berishi kerak bo'lgan asosiy talablarni shakllantirishga qaror qildim. Birinchisi markazsizlashtirish. Ikkinchidan, menda bir nechta hayotiy USB-lar borligini hisobga olsak, ularning har birida alohida ajratilgan tarmoq mavjud. Xo'sh, uchinchidan, turli xil qurilmalar tarmog'iga tezkor ulanish va ularni oddiy boshqarish, shu jumladan mening noutbukim ham yuqorida aytib o'tilgan qonunning qurboni bo'lgan taqdirda.

Shunga asoslanib va ​​ikki yarim oyni bir nechta mos bo'lmagan variantlarni amaliy tadqiq qilishga sarflaganimdan so'ng, men o'z xavf-xatarim va xavf-xatarim bilan o'sha paytda menga noma'lum bo'lgan ZeroTier deb nomlangan startapning boshqa vositasini sinab ko'rishga qaror qildim. Keyinchalik afsuslanmadim.

Ushbu Yangi yil bayramlarida, o'sha esda qolarli paytdan beri kontent bilan bog'liq vaziyat o'zgarganmi yoki yo'qligini tushunishga harakat qilib, men Habrdan manba sifatida foydalanib, ushbu mavzu bo'yicha maqolalar mavjudligi uchun tanlab tekshiruv o'tkazdim. Qidiruv natijalarida "ZeroTier" so'rovi uchun u haqida faqat uchta maqola mavjud va hech bo'lmaganda qisqacha tavsifi bo'lgan bitta maqola yo'q. Va bu ularning orasida ZeroTier, Inc. asoschisi tomonidan yozilgan maqolaning tarjimasi borligiga qaramasdan. — Adam Yerymenko.

Natijalar umidsizlikka tushdi va meni ZeroTier haqida batafsilroq gapirishni boshlashga undadi, bu esa zamonaviy "izlovchilarni" men bosib o'tgan yo'ldan borishdan qutqardi.

Xo'sh, siz nimasiz?

Ishlab chiquvchi ZeroTier-ni Yer sayyorasi uchun aqlli Ethernet kaliti sifatida joylashtiradi. 

“Bu kriptografik jihatdan xavfsiz global peer-to-peer (P2P) tarmog'i ustiga qurilgan taqsimlangan tarmoq gipervizori. Korporativ SDN kalitiga o'xshash vosita, deyarli har qanday dastur yoki qurilmani ulash imkoniyatiga ega bo'lgan mahalliy va global jismoniy tarmoqlar orqali virtual tarmoqlarni tashkil qilish uchun mo'ljallangan.

Bu ko'proq marketing tavsifi, endi texnologik xususiyatlar haqida.

▍Yadro: 

ZeroTier Network Hypervisor - bu global shifrlangan peer-to-peer (P2P) tarmog'i ustidagi VXLANga o'xshash chekilgan tarmog'ini taqlid qiluvchi mustaqil tarmoq virtualizatsiya mexanizmi.

ZeroTier-da qo'llaniladigan protokollar originaldir, garchi tashqi ko'rinishi bo'yicha VXLAN va IPSec-ga o'xshash va ikkita kontseptual jihatdan alohida, lekin bir-biriga yaqin bo'lgan qatlamlardan iborat: VL1 va VL2.

Hujjatlarga havola

▍VL1 - asosiy peer-to-peer (P2P) transport qatlami, o'ziga xos "virtual kabel".

"Global ma'lumotlar markazi kabellarning "global shkafi" ni talab qiladi."

An'anaviy tarmoqlarda L1 (OSI Layer 1) ma'lumotlarni tashuvchi haqiqiy kabellar yoki simsiz radiolar va ularni modulyatsiya qiluvchi va demodulyatsiya qiluvchi jismoniy qabul qiluvchi qurilma chiplariga ishora qiladi. VL1 - bu xuddi shunday ishni bajaradigan peer-to-peer (P2P) tarmog'i bo'lib, kerak bo'lganda virtual kabellarni tartibga solish uchun shifrlash, autentifikatsiya va boshqa tarmoq hiylalaridan foydalanadi.

Bundan tashqari, u buni avtomatik, tez va yangi ZeroTier tugunini ishga tushiradigan foydalanuvchi ishtirokisiz amalga oshiradi.

Bunga erishish uchun VL1 domen nomlari tizimiga o'xshash tarzda tashkil etilgan. Tarmoqning markazida roli DNS ildiz nomi serverlari roliga o'xshash yuqori darajada mavjud bo'lgan ildiz serverlar guruhi joylashgan. Ayni paytda asosiy (sayyoraviy) ildiz serverlar ishlab chiquvchining nazorati ostida - ZeroTier, Inc. va bepul xizmat sifatida taqdim etiladi. 

Biroq, sizga quyidagilarga imkon beruvchi maxsus ildiz serverlarini (luns) yaratish mumkin:

  • ZeroTier, Inc. infratuzilmasiga qaramlikni kamaytirish; Hujjatlarga havola
  • kechikishlarni minimallashtirish orqali hosildorlikni oshirish; 
  • Internet aloqasi uzilgan bo'lsa, odatdagidek ishlashni davom eting.

Dastlab, tugunlar bir-biriga to'g'ridan-to'g'ri ulanishsiz ishga tushiriladi. 

VL1 dagi har bir peer noyob 40 bitli (10 o'n oltilik) ZeroTier manziliga ega, IP manzillardan farqli o'laroq, marshrutlash ma'lumotlarini o'z ichiga oluvchi shifrlangan identifikatordir. Bu manzil umumiy/maxfiy kalit juftligining umumiy qismidan hisoblanadi. Tugun manzili, ochiq kalit va shaxsiy kalit birgalikda uning identifikatorini tashkil qiladi.

Member ID: df56c5621c  
            |
            ZeroTier address of node

Shifrlashga kelsak, bu alohida maqola uchun sababdir.

Hujjatlarga havola

Aloqa o'rnatish uchun tengdoshlar avval paketlarni ildiz serverlar daraxtiga "yuqoriga" yuboradilar va bu paketlar tarmoq bo'ylab harakatlanar ekan, ular yo'l davomida tasodifiy yo'naltiruvchi kanallarni yaratishni boshlaydilar. Daraxt o'zi saqlaydigan marshrut xaritasi uchun o'zini optimallashtirish uchun doimo "o'z-o'zidan qulab tushishga" harakat qiladi.

Peer-to-peer aloqasini o'rnatish mexanizmi quyidagicha:

Yer sayyorasi uchun Smart Ethernet Switch

  1. A tugun B tuguniga paket jo'natmoqchi, lekin u to'g'ridan-to'g'ri yo'lni bilmagani uchun uni yuqori oqimga R tuguniga (oy, foydalanuvchining ildiz serveri) yuboradi.
  2. Agar R tugun B tugun bilan to'g'ridan-to'g'ri aloqaga ega bo'lsa, u paketni u erga yo'naltiradi. Aks holda, u sayyora ildizlariga yetmasdan oldin paketni yuqori oqimga yuboradi.Sayyora ildizlari barcha tugunlar haqida biladi, shuning uchun paket oxir-oqibat onlayn bo'lsa, B tuguniga etib boradi.
  3. R tugun, shuningdek, A tuguniga B tuguniga qanday erishish mumkinligi haqida maslahatlarni o'z ichiga olgan "uchrashuv" deb nomlangan xabarni yuboradi. Shu bilan birga, paketni B tuguniga yo'naltiruvchi ildiz server "uchrashuv" yuboradi A tuguniga yetib boring.
  4. A va B tugunlari uchrashuv xabarlarini oladi va yo'lda duch kelgan har qanday NAT yoki davlat xavfsizlik devorini buzishga urinishda bir-birlariga test xabarlarini yuborishga harakat qiladi. Agar bu ishlayotgan bo'lsa, to'g'ridan-to'g'ri ulanish o'rnatiladi va paketlar endi oldinga va orqaga ketmaydi.

Agar to'g'ridan-to'g'ri ulanish o'rnatilmasa, aloqa o'rni orqali davom etadi va to'g'ridan-to'g'ri ulanishga urinishlar muvaffaqiyatli natijaga erishilgunga qadar davom etadi. 

VL1 shuningdek, to'g'ridan-to'g'ri ulanishni o'rnatish uchun boshqa xususiyatlarga ega, jumladan LAN tengdoshlarini aniqlash, nosimmetrik IPv4 NAT ning o'tish uchun portni bashorat qilish va mahalliy jismoniy LANda mavjud bo'lsa, uPnP va/yoki NAT-PMP yordamida aniq portni xaritalash.

→ Hujjatlarga havola

▍VL2 SDN boshqaruv funksiyalariga ega boʻlgan VXLAN-ga oʻxshash Ethernet tarmogʻini virtualizatsiya qilish protokoli. OT va ilovalar uchun tanish aloqa muhiti...

VL1 dan farqli o'laroq, VL2 tarmoqlarini (VLAN) yaratish va ularga tugunlarni ulash, shuningdek ularni boshqarish foydalanuvchining bevosita ishtirokini talab qiladi. U buni tarmoq boshqaruvchisi yordamida amalga oshirishi mumkin. Aslini olganda, bu oddiy ZeroTier tugunidir, unda kontroller funktsiyalari ikki usulda boshqariladi: to'g'ridan-to'g'ri, fayllarni o'zgartirish orqali yoki ishlab chiquvchi qat'iy tavsiya qilganidek, nashr etilgan API yordamida. 

ZeroTier virtual tarmoqlarini boshqarishning ushbu usuli oddiy odam uchun unchalik qulay emas, shuning uchun bir nechta GUI mavjud:
 

  • ZeroTier ishlab chiquvchisidan biri, to‘rtta obuna rejalari, jumladan bepul, lekin boshqariladigan qurilmalar soni va qo‘llab-quvvatlash darajasi bilan cheklangan umumiy bulutli SaaS yechimi sifatida mavjud.
  • Ikkinchisi mustaqil ishlab chiquvchidan, funksionalligi biroz soddalashtirilgan, lekin mahalliy yoki bulutli resurslarda foydalanish uchun ochiq manbali xususiy yechim sifatida mavjud.

VL2 VL1 tepasida amalga oshiriladi va u orqali tashiladi. Biroq, u VL1 so'nggi nuqtasining shifrlanishi va autentifikatsiyasini meros qilib oladi, shuningdek, hisob ma'lumotlarini imzolash va tekshirish uchun uning assimetrik kalitlaridan foydalanadi. VL1 mavjud jismoniy tarmoq topologiyasi haqida qayg'urmasdan VL2 ni amalga oshirish imkonini beradi. Ya'ni, ulanish va marshrutlash samaradorligi bilan bog'liq muammolar VL1 muammolaridir. VL2 virtual tarmoqlari va VL1 yo'llari o'rtasida hech qanday aloqa yo'qligini tushunish muhimdir. Simli LANdagi VLAN multiplekslashiga o'xshab, bir nechta tarmoq a'zoligini baham ko'radigan ikkita tugun hali ham ular orasida faqat bitta VL1 (virtual kabel) yo'liga ega bo'ladi.

Har bir VL2 tarmog'i (VLAN) 64 bitli (16 o'n oltilik) ZeroTier tarmoq manzili bilan aniqlanadi, unda kontrollerning 40 bitli ZeroTier manzili va ushbu kontroller tomonidan yaratilgan tarmoqni identifikatsiya qiluvchi 24 bitli raqam mavjud.

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

Agar tugun tarmoqqa qo'shilsa yoki tarmoq konfiguratsiyasini yangilashni so'rasa, u tarmoq boshqaruvchisiga tarmoq konfiguratsiyasi so'rovi xabarini (VL1 orqali) yuboradi. Keyin nazoratchi tugunning VL1 manzilini tarmoqda topish va unga tegishli sertifikatlar, hisobga olish ma'lumotlari va konfiguratsiya ma'lumotlarini yuborish uchun foydalanadi. VL2 virtual tarmoqlari nuqtai nazaridan, VL1 ZeroTier manzillarini ulkan global virtual kalitdagi port raqamlari deb hisoblash mumkin.

Tarmoq kontrollerlari tomonidan ma'lum bir tarmoqning a'zo tugunlariga berilgan barcha hisobga olish ma'lumotlari nazoratchining maxfiy kaliti bilan imzolanadi, shunda barcha tarmoq ishtirokchilari ularni tekshirishlari mumkin. Hisob ma'lumotlarida kontroller tomonidan yaratilgan vaqt belgilari mavjud bo'lib, ular xostning mahalliy tizim soatiga kirishga hojat qoldirmasdan nisbiy taqqoslash imkonini beradi. 

Hisob ma'lumotlari faqat ularning egalariga beriladi va keyin tarmoqdagi boshqa tugunlar bilan bog'lanishni istagan tengdoshlariga yuboriladi. Bu tugunlarda katta hajmdagi hisob ma'lumotlarini keshlash yoki doimiy ravishda tarmoq boshqaruvchisiga murojaat qilmasdan tarmoqni ulkan o'lchamlarga o'tkazish imkonini beradi.

ZeroTier tarmoqlari oddiy nashr/obuna tizimi orqali multicast tarqatishni qo‘llab-quvvatlaydi.

Hujjatlarga havola

Agar tugun ma'lum bir tarqatish guruhi uchun multicast eshittirishni olishni xohlasa, u o'zi aloqa qilayotgan tarmoqning boshqa a'zolariga va tarmoq boshqaruvchisiga ushbu guruhga a'zolikni e'lon qiladi. Agar tugun multicast yuborishni xohlasa, u bir vaqtning o'zida so'nggi nashrlar keshiga kiradi va vaqti-vaqti bilan qo'shimcha nashrlarni so'raydi.

Translyatsiya (Ethernet ff: ff: ff: ff: ff: ff: ff) barcha ishtirokchilar obuna bo'lgan multicast guruh sifatida ko'rib chiqiladi. Agar kerak bo'lmasa, trafikni kamaytirish uchun tarmoq darajasida o'chirib qo'yilishi mumkin. 

ZeroTier haqiqiy Ethernet kalitiga taqlid qiladi. Bu haqiqat bizga amalga oshirish imkonini beradi yaratilgan virtual tarmoqlarni boshqa Ethernet tarmoqlari (simli LAN, WiFi, virtual orqa panel va boshqalar) bilan ma'lumotlar havolasi darajasida birlashtirish - oddiy Ethernet ko'prigi yordamida.

Ko'prik vazifasini bajarish uchun tarmoq boshqaruvchisi xostni shunday belgilashi kerak. Ushbu sxema xavfsizlik nuqtai nazaridan amalga oshiriladi, chunki oddiy tarmoq xostlariga MAC manzilidan boshqa manbadan trafik yuborishga ruxsat berilmaydi. Ko'prik sifatida belgilangan tugunlar, shuningdek, ko'p tarmoqli algoritmning maxsus rejimidan foydalanadi, bu esa guruh obunalari va barcha translyatsiya trafigini va ARP so'rovlarini takrorlash paytida ular bilan yanada agressiv va maqsadli o'zaro ta'sir qiladi. 

Kommutator shuningdek, umumiy va vaqtinchalik tarmoqlarni, QoS mexanizmini va tarmoq qoidalari muharririni yaratish qobiliyatiga ega.

▍Tugun:

Nolinchi darajali VPN mijoziga o'xshash virtual tarmoq porti orqali virtual tarmoqqa ulanishni ta'minlovchi noutbuklar, ish stollari, serverlar, virtual mashinalar va konteynerlarda ishlaydigan xizmatdir. 

Xizmat o'rnatilgan va ishga tushirilgandan so'ng, siz virtual tarmoqlarga ularning 16 xonali manzillari orqali ulanishingiz mumkin. Har bir tarmoq tizimdagi virtual tarmoq porti sifatida namoyon bo'ladi, u oddiy Ethernet porti kabi ishlaydi.

ZeroTier One hozirda quyidagi OS va tizimlar uchun mavjud.

OS:

  • Microsoft Windows - MSI o'rnatuvchisi x86/x64
  • MacOS - PKG o'rnatuvchisi
  • Apple iOS - Uskunalar Do'koni
  • Android - Play Store
  • Linux - DEB/RPM
  • FreeBSD - FreeBSD to'plami

NAS:

  • NAS sinologiyasi
  • QNAP NAS
  • WD MyCloud NAS

Boshqalar:

  • Docker - docker fayli
  • OpenWRT - jamoat porti
  • Ilovani o'rnatish - SDK (libzt)

Yuqorida aytilganlarning barchasini umumlashtirish uchun shuni ta'kidlaymanki, ZeroTier jismoniy, virtual yoki bulutli resurslaringizni umumiy mahalliy tarmoqqa birlashtirish uchun ajoyib va ​​tezkor vosita bo'lib, uni VLAN-larga bo'lish qobiliyatiga ega va bitta nosozlik nuqtasi yo'q. .

Habr uchun ZeroTier haqidagi birinchi maqola formatidagi nazariy qism uchun - bu, ehtimol, hammasi! Keyingi maqolada men ZeroTier asosida virtual tarmoq infratuzilmasini yaratishni amalda namoyish etishni rejalashtirmoqdaman, bunda tarmoq boshqaruvchisi sifatida ochiq kodli GUI shabloniga ega VDS ishlatiladi. 

Hurmatli o'quvchilar! Loyihalaringizda ZeroTier texnologiyasidan foydalanasizmi? Agar yo'q bo'lsa, resurslaringizni tarmoq qilish uchun qanday vositalardan foydalanasiz?

Yer sayyorasi uchun Smart Ethernet Switch

Manba: www.habr.com

a Izoh qo'shish