Commutador Ethernet intel·ligent per al planeta Terra

Commutador Ethernet intel·ligent per al planeta Terra
"Hi ha diverses maneres de crear una solució (per resoldre un problema), però no sempre la forma més cara i / i popular és la més eficaç!"

Preàmbul

Fa uns tres anys, en el procés de desenvolupament d'un model remot de recuperació de desastres, em vaig trobar amb un obstacle que no es va notar immediatament: la manca d'informació sobre noves solucions originals per a la virtualització de xarxes en fonts comunitàries. 

L'algorisme del model desenvolupat es va planificar de la següent manera: 

  1. Un usuari remot que es va posar en contacte amb mi, l'ordinador del qual es va negar a arrencar, mostrant el missatge "disc del sistema no detectat / no formatat", el carrega mitjançant USB de vida. 
  2. Durant el procés d'arrencada, el sistema es connecta automàticament a una xarxa local privada segura, en la qual, a més de si mateix, hi ha un lloc de treball de l'administrador, en aquest cas un ordinador portàtil, i un node NAS. 
  3. A continuació, em connecto, ja sigui per reanimar particions de disc o per extreure dades d'allà.

Inicialment, vaig implementar aquest model utilitzant un servidor VPN en un encaminador local en una xarxa sota el meu control, i després en un VDS llogat. Però, com passa sovint segons la primera llei de Chisholm, aleshores passarà la pluja: la xarxa del proveïdor d'Internet "caurà", després les disputes de les entitats comercials - l'"energia" del proveïdor de serveis desapareixerà ...

Per tant, vaig decidir formar primer els requisits bàsics que ha de complir l'eina necessària. El primer és la descentralització. En segon lloc, atès que tinc diversos USB d'aquest tipus, cadascun d'ells té una xarxa aïllada separada. Bé, el tercer és una connexió ràpida a la xarxa de diversos dispositius i una gestió senzilla dels mateixos, inclòs en cas que el meu portàtil també sigui víctima de la llei esmentada anteriorment.

En base a això, i després de dedicar dos mesos i mig a la recerca pràctica de diverses opcions poc adequades, vaig decidir, sota el meu risc i risc, provar una altra eina d'una startup desconeguda per a mi aleshores anomenada ZeroTier. El que després mai es va penedir.

Durant aquestes festes d'Any Nou, intentant entendre si la situació del contingut ha canviat des d'aquell moment memorable, vaig fer una auditoria selectiva de la presència d'articles sobre aquest tema, prenent Habr com a font. A petició de "ZeroTier" als resultats de la cerca dels quals només hi ha tres articles que l'esmenten, i ni un sol, almenys amb una breu, sinó descripció. I això malgrat que entre ells hi ha la traducció d'un article escrit pel propi fundador de ZeroTier, Inc. — Adam Ierymenko.

Els resultats van ser decebedors i em van impulsar a començar a parlar de ZeroTier amb més detall, estalviant als "buscadors" moderns d'haver de seguir la mateixa ruta que jo.

Aleshores, què ets?

El desenvolupador posiciona ZeroTier com un commutador Ethernet intel·ligent per al planeta Terra. 

"Aquest és un hipervisor de xarxa distribuït construït sobre una xarxa global peer-to-peer (P2P) segura criptogràficament. Similar a un commutador SDN corporatiu, una eina dissenyada per organitzar xarxes virtuals sobre les físiques, tant locals com globals, amb la possibilitat de connectar gairebé qualsevol aplicació o dispositiu".

Això és més una descripció de màrqueting, ara sobre les característiques tecnològiques.

▍Nucli: 

El ZeroTier Network Hypervisor és un motor de virtualització de xarxa autònom que emula una xarxa Ethernet similar a VXLAN a la part superior d'una xarxa global xifrada d'igual a igual (P2P).

Els protocols utilitzats a ZeroTier són originals, encara que semblants en aparença a VXLAN i IPSec, i consten de dues capes conceptualment separades però estretament relacionades: VL1 i VL2.

Enllaç a la documentació

▍VL1 és una capa bàsica de transport peer-to-peer (P2P), una mena de "cable virtual".

"Un centre de dades global requereix un "gabinet global" amb cables".

A les xarxes convencionals, L1 (capa OSI 1) es refereix als cables reals o ràdios sense fil que transporten dades i als xips físics del transceptor que les modulen i demodulen. VL1 és una xarxa peer-to-peer (P2P) que fa el mateix, utilitzant xifratge, autenticació i altres trucs de xarxa per organitzar cables virtuals segons sigui necessari.

A més, ho fa de manera automàtica, ràpida i sense que l'usuari iniciï un nou node ZeroTier.

Per aconseguir-ho, VL1 s'organitza de manera similar al sistema de noms de domini. Al cor de la xarxa hi ha un grup de servidors arrel d'alta disponibilitat, el paper dels quals és similar al dels servidors de noms arrel DNS. En aquests moments, els principals servidors arrel (planetaris) els gestiona el desenvolupador: ZeroTier, Inc. i es proporcionen com a servei gratuït. 

Tanmateix, és possible crear servidors arrel personalitzats (lunes) que us permetin:

  • reduir la dependència de la infraestructura de ZeroTier, Inc.; Enllaç a la documentació
  • augmentar la productivitat minimitzant els retards; 
  • continuar treballant com de costum en cas de pèrdua de connexió a Internet.

Inicialment, els nodes s'inicien sense connexions directes entre si. 

Cada parell de VL1 té una adreça ZeroTier única de 40 bits (10 dígits hexadecimals), que, a diferència de les adreces IP, és un identificador xifrat que no conté informació de ruta. Aquesta adreça es calcula a partir de la part pública del parell de claus pública/privada. L'adreça d'un node, la clau pública i la clau privada junts formen la seva identitat.

Member ID: df56c5621c  
            |
            ZeroTier address of node

Pel que fa al xifratge, aquesta és una ocasió per a un article separat.

Enllaç a la documentació

Per establir la comunicació, els companys primer envien paquets "amunt" de l'arbre del servidor arrel i, a mesura que aquests paquets viatgen per la xarxa, inicien la creació aleatòria d'enllaços directes al llarg del camí. L'arbre està constantment intentant "col·lapsar-se" per optimitzar-se per a l'esquema de ruta que emmagatzema.

El mecanisme per configurar una connexió peer-to-peer és el següent:

Commutador Ethernet intel·ligent per al planeta Terra

  1. El node A vol enviar un paquet al node B, però com que no coneix el camí directe, l'envia aigües amunt al node R (la lluna, el servidor arrel de l'usuari).
  2. Si el node R té una connexió directa amb el node B, reenvia el paquet allà. En cas contrari, envia el paquet aigües amunt abans d'arribar a les arrels planetàries.Les arrels planetàries coneixen tots els nodes, de manera que finalment el paquet arribarà al node B si està en línia.
  3. El node R també envia un missatge anomenat "rendezvous" al node A que conté pistes sobre com pot arribar al node B. Mentrestant, el servidor arrel, que reenvia el paquet al node B, envia un "rendezvous" informant-lo de com pot arribar al node B. B. Node A.
  4. Els amfitrions A i B reben els seus missatges de trobada i tracten d'enviar-se missatges de sonda entre ells per intentar infringir el NAT o els tallafocs amb estat que troben al llarg del camí. Si això funciona, s'estableix una connexió directa i els paquets ja no són "jardins".

Si falla una connexió directa, la comunicació continuarà mitjançant relé i els intents de connexió directa continuaran fins que s'aconsegueixi un resultat satisfactori. 

VL1 també té altres funcions per a l'establiment de connexió directa, com ara el descobriment d'iguals de LAN, predicció de ports per a la travessa de NAT IPv4 simètrics i mapeig de ports explícit mitjançant uPnP i/o NAT-PMP si està disponible a la LAN física local.

→ Enllaç a la documentació

▍VL2: protocol de virtualització de xarxa Ethernet semblant a VXLAN amb funcions de gestió SDN. Entorn de comunicació conegut per al sistema operatiu i les aplicacions...

A diferència de VL1, crear xarxes VL2 (VLAN) i connectar-hi nodes, així com gestionar-les, requereix la participació directa de l'usuari. Ho pot fer amb l'ajuda d'un controlador de xarxa. De fet, es tracta d'un node ZeroTier normal, on les funcions del controlador es gestionen de dues maneres: directament, canviant fitxers o, com recomana el desenvolupador, utilitzant l'API publicada. 

Aquesta manera de gestionar les xarxes virtuals ZeroTier no és molt convenient per a un simple profà, de manera que hi ha diverses GUI:
 

  • Un del desenvolupador ZeroTier, disponible com a solució de núvol públic SaaS amb quatre plans de subscripció, inclosos els gratuïts, però limitats en dispositius gestionats i nivell de suport.
  • El segon és d'un desenvolupador independent, una mica simplificat en funcionalitat, però disponible com a solució privada de codi obert, per a ús local o recursos al núvol.

La capa VL2 s'implementa a sobre de VL1 i és transportada per ella. En fer-ho, hereta el xifratge i l'autenticació del punt final VL1 i utilitza les seves claus asimètriques per a la signatura i la validació de credencials. VL1 us permet implementar VL2 sense preocupar-vos en absolut per la topologia de xarxa física existent. És a dir, els problemes amb la connectivitat i l'eficiència de l'encaminament són tasques del nivell VL1. És important entendre que no hi ha connexió entre les xarxes virtuals VL2 i els camins VL1. De manera similar a la multiplexació de VLAN en una LAN per cable, dos amfitrions que comparteixen múltiples membres de la xarxa encara només tindran un camí VL1 (cable virtual) entre ells.

Cada xarxa VL2 (VLAN) s'identifica amb una adreça de xarxa ZeroTier de 64 bits (16 dígits hexadecimals), que conté l'adreça ZeroTier de 40 bits del controlador i un número de 24 bits que identifica la xarxa creada per aquest controlador.

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

Quan un node s'uneix a una xarxa o sol·licita una actualització de la configuració de la xarxa, envia un missatge de sol·licitud de configuració de xarxa (mitjançant VL1) al controlador de xarxa. Aleshores, el controlador utilitza l'adreça VL1 de l'amfitrió per trobar-la a la xarxa i enviar-li els certificats, credencials i informació de configuració corresponents. Des del punt de vista de les VLAN VL2, les adreces VL1 ZeroTier es poden considerar com números de port en un gran commutador virtual global.

Totes les credencials emeses pels controladors de xarxa als nodes membres d'una xarxa determinada es signen amb la clau secreta del controlador perquè tots els membres de la xarxa les puguin verificar. Les credencials tenen segells de temps generats pel controlador, que permeten comparacions relatives sense haver de consultar el rellotge del sistema local de l'amfitrió. 

Les credencials només s'emeten als seus propietaris i després s'envien als companys que volen comunicar-se amb altres nodes de la xarxa. Això permet que la xarxa s'escalfi a mides enormes sense necessitat d'emmagatzemar grans quantitats de credencials als nodes o contactar constantment amb el controlador de xarxa.

Les xarxes ZeroTier admeten la multidifusió mitjançant un senzill sistema de publicació/subscripció.

Enllaç a la documentació

Quan un node vol rebre una multidifusió per a un grup de distribució particular, anuncia la seva pertinença a aquest grup als altres membres de la xarxa amb la qual es comunica i al controlador de xarxa. Quan un node vol enviar una multidifusió, accedeix simultàniament a la seva memòria cau de publicacions recents i sol·licita periòdicament publicacions addicionals.

Una emissió (Ethernet ff: ff: ff: ff: ff: ff) es tracta com un grup de multidifusió al qual es subscriuen tots els membres. Es pot desactivar a nivell de xarxa per reduir el trànsit si no és necessari. 

ZeroTier emula un commutador Ethernet real. Aquest fet permet associació de les xarxes virtuals creades amb altres xarxes Ethernet (xarxa d'àrea local cablejada, WiFi, placa posterior virtual, etc.) a nivell d'enllaç de dades mitjançant un pont Ethernet convencional.

Per actuar com a pont, el controlador de xarxa ha de designar un host com un. Aquest esquema s'implementa per motius de seguretat, ja que els nodes de xarxa normals no poden enviar trànsit des de cap font que no sigui la seva adreça MAC. Els nodes designats com a ponts també utilitzen un mode d'algoritme de multidifusió especial que interactua de manera més agressiva i específica amb ells quan multicast i replica tot el trànsit de broadcast i les sol·licituds ARP. 

El commutador també té la capacitat de crear xarxes públiques i ad-hoc, un mecanisme de QoS i un editor de regles de xarxa.

▍Nus:

ZeroTier Un és un servei que s'executa en ordinadors portàtils, ordinadors de sobretaula, servidors, màquines virtuals i contenidors que proporciona connexions a una xarxa virtual mitjançant un port de xarxa virtual, similar a un client VPN. 

Un cop instal·lat i executat el servei, podeu connectar-vos a xarxes virtuals mitjançant les seves adreces de 16 caràcters. Cada xarxa apareix com un port de xarxa virtual al sistema que es comporta igual que un port Ethernet normal.

ZeroTier One està disponible actualment per als sistemes i sistemes operatius següents.

OS:

  • Microsoft Windows - Instal·lador MSI x86/x64
  • MacOS — Instal·lador de PKG
  • apple iOS - Tenda d'aplicacions
  • Android - Play Store
  • Linux - DEB/RPM
  • FreeBSD — Paquet FreeBSD

NAS:

  • Synology NAS
  • QNAP NAS
  • WD MyCloud NAS

Altres:

  • estibador - fitxer docker
  • OpenWRT - Port comunitari
  • Incrustació d'aplicacions SDK (libzt)

Per resumir tot l'anterior, destacaria que ZeroTier és una eina excel·lent i ràpida per combinar els vostres recursos físics, virtuals o en núvol en una xarxa local comuna, amb la possibilitat de dividir-la en VLAN i l'absència d'un únic punt de fallada. .

En això amb la part teòrica en el format del primer article sobre ZeroTier per a Habr, probablement tot! En el següent article, tinc la intenció de demostrar a la pràctica la creació d'una infraestructura de xarxa virtual basada en ZeroTier, on s'utilitzarà un VDS amb una plantilla GUI privada de codi obert com a controlador de xarxa. 

Benvolguts lectors! Utilitzeu la tecnologia ZeroTier als vostres projectes? Si no, quines eines utilitzeu per connectar els vostres recursos a una xarxa comuna?

Commutador Ethernet intel·ligent per al planeta Terra

Font: www.habr.com

Afegeix comentari