Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Continuând povestea ZeroTier, din teoria conturată în articolul „Comutator Ethernet inteligent pentru Planeta Pământ”, trec la practica în care:

  • Creați și configurați un controler de rețea privată
  • Să creăm o rețea virtuală
  • Configurați și conectați nodurile la acesta
  • Să verificăm conexiunea la rețea dintre ele
  • Să închidem accesul la GUI al controlerului de rețea din exterior

Controlor de rețea

După cum am menționat mai devreme, pentru a crea rețele virtuale, a le gestiona și a conecta noduri, utilizatorul are nevoie de un controler de rețea, o interfață grafică (GUI) pentru care există în două forme:

Opțiuni GUI ZeroTier

  • Unul de la dezvoltatorul ZeroTier, disponibil ca soluție de cloud public SaaS cu patru planuri de abonament, inclusiv gratuit, dar limitat în dispozitive gestionate și nivel de suport
  • Al doilea este de la un dezvoltator independent, oarecum simplificat din punct de vedere al funcționalității, dar disponibil ca soluție privată open source, pentru utilizare on-premise sau pe resurse cloud.

În practica mea, le-am folosit pe amândouă și, drept urmare, m-am hotărât pe al doilea. Motivul pentru aceasta au fost avertismentele dezvoltatorului.

„Controlerele de rețea servesc ca CA pentru rețelele virtuale ZeroTier. Fișierele care conțin cheile secrete ale controlorului trebuie să fie păzite cu atenție și arhivate în siguranță. Compromisul lor permite atacatorilor neautorizați să creeze configurații de rețea frauduloase, iar pierderea lor duce la pierderea capacității de a controla și gestiona rețeaua, făcând-o efectiv inutilizabilă.

Link către documentație

Și, de asemenea, semne ale propriei IS-paranoia 🙂 

  • Chiar dacă vine Cheburnet, tot ar trebui să am acces la controlerul meu de rețea;
  • Numai eu ar trebui să folosesc controlerul de rețea. Dacă este necesar, acordarea accesului persoanelor autorizate ale acestora;
  • Ar trebui să fie posibilă restricționarea accesului la controlerul de rețea din exterior.

Nu văd prea mult rost să mă gândesc separat la modul de implementare a unui controler de rețea și a unei GUI pentru el pe resurse fizice sau virtuale locale. Nu văd prea mult rost în acest articol. Și există 3 motive pentru aceasta: 

  • vor fi mai multe scrisori decât era planificat
  • despre asta deja spuse pe GitHab GUI Developer
  • subiect al unui articol despre altul

Prin urmare, alegând calea de mai puțină rezistență, voi folosi în această poveste un controler de rețea cu un GUI bazat pe VDS creat de din șablon, dezvoltat cu amabilitate de colegii mei de la RuVDS.

Configurare inițială

După crearea unui server din șablonul specificat, utilizatorul are acces la Web-GUI al controlerului prin intermediul browserului accesând https:// :3443

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
În mod implicit, serverul conține deja un certificat TLS/SSL autosemnat pre-generat. Pentru mine este suficient, deoarece închid accesul la el din exterior. Pentru cei care doresc să folosească alte tipuri de certificate, există instrucțiuni de instalare pe GitHab al dezvoltatorului GUI.

Prima dată când un utilizator se conectează Conectare cu numele de utilizator și parola implicite admin и parola:

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Sugerează schimbarea parolei implicite cu una personalizată.

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Mă comport puțin diferit - nu schimb parola pentru un utilizator existent, ci creez una nouă - Creaza utilizator.

Setați numele noului utilizator - Nume de utilizator:
Am setat o nouă parolă - Introduceți o parolă nouă
Confirmă noua parolă - Reintrodu parola:

Caracterele introduse țin cont de majuscule și minuscule - aveți grijă!

Casetă de selectare pentru a confirma schimbarea parolei la următoarea conectare — Schimbați parola la următoarea autentificare: Eu nu marchez. 

Pentru a confirma datele introduse, apăsați Seteaza parola:

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Apoi: Mă autentificăm - Delogare cont / Conectare , deja sub acreditările noului utilizator:

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Apoi, accesați fila utilizatori - Utilizatori și ștergeți utilizatorul adminfăcând clic pe pictograma coș de gunoi din stânga numelui său.

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
În viitor, puteți schimba parola utilizatorului făcând clic fie pe numele acestuia, fie pe parola setată.

Creați o rețea virtuală

Pentru a crea o rețea virtuală, utilizatorul trebuie să acceseze fila Adăugați rețea. Din paragraf Utilizator acest lucru se poate face prin intermediul paginii Acasă - pagina principală a Web-GUI, care afișează adresa ZeroTier a controlerului de rețea dat și conține un link către pagina de listă a rețelelor create prin intermediul acestuia.

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Pagină Adăugați rețea utilizatorul atribuie numele rețelei nou create.

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
La aplicarea datelor de intrare - Creați o rețea utilizatorul este dus la o pagină cu o listă de rețele, care arată: 

Numele retelei - numele rețelei sub formă de link, când dați clic pe care o puteți schimba 
ID de rețea - ID-ul rețelei
detaliu — link la pagina cu parametrii de rețea detaliați
configurare ușoară - link către pagină pentru o configurare ușoară
membrii - link către pagina de gestionare a nodurilor

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
Pentru setări suplimentare accesați linkul configurare ușoară. Pe pagina care se deschide, utilizatorul setează intervalul de adrese IPv4 pentru rețeaua creată. Acest lucru se poate face automat prin apăsarea butonului Generați adresa de rețea sau manual introducând masca de rețea a rețelei în câmpul corespunzător CIDR.

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
După confirmarea introducerii cu succes a datelor, trebuie să reveniți la pagina cu lista rețelelor folosind butonul Înapoi. Aceasta completează configurarea de bază a rețelei.

Conectarea gazdelor

  1. Pentru început, pe nodul pe care utilizatorul dorește să se conecteze la rețea, trebuie să instalați serviciul ZeroTier One.

    Ce este Zero Tier One?ZeroTier Unu este un serviciu care rulează pe laptopuri, desktop-uri, servere, mașini virtuale și containere care oferă conexiuni la o rețea virtuală printr-un port de rețea virtuală, similar unui client VPN. 

    Odată ce serviciul este instalat și rulat, vă puteți conecta la rețele virtuale folosind adresele lor de 16 caractere. Fiecare rețea apare ca un port de rețea virtual pe sistem care se comportă la fel ca un port Ethernet obișnuit.
    Pot fi găsite link-uri către distribuții, precum și comenzi de instalare pe pagina producatorului.

    Puteți gestiona serviciul instalat prin intermediul terminalului de linie de comandă (CLI) cu drepturi de administrator/rădăcină. Pe Windows/MacOS încă se utilizează interfața grafică. Pe Android/iOS numai prin GUI.

  2. Verificarea dacă instalarea serviciului a avut succes:

    CLI:

    zerotier-cli status

    Rezultat: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Însuși faptul de funcționare a aplicației și prezența în ea a unei linii cu Node ID cu adresa nodului.

  3. Conectarea nodului la rețea:

    CLI:

    zerotier-cli join <Network ID>

    Rezultat: 

    200 join OK

    GUI:

    Windows: faceți clic dreapta pe pictogramă ZeroTier Unu în tava de sistem și selectând elementul - Alăturați-vă rețelei.

    Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
    MacOS: Lansați aplicația ZeroTier Unu în meniul barei, dacă nu rulează deja. Faceți clic pe pictograma ⏁ și selectați Alăturați-vă rețelei.

    Android/iOS: + (plus imagine) în aplicație

    Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
    În câmpul care apare, introduceți controlerul de rețea specificat în GUI ID de rețea, și apăsați Alăturați-vă/Adăugați o rețea.

  4. Atribuirea unei adrese IP unei gazde
    Acum revenim la controlerul de rețea și pe pagina cu lista rețelelor urmărim linkul membrii. Dacă ați văzut pe ecran o imagine similară cu aceasta, înseamnă că controlerul dvs. de rețea a primit o solicitare de confirmare a conexiunii la rețea de la nodul conectat.

    Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
    Pe această pagină, lăsăm totul așa cum este deocamdată și urmăm linkul atribuire IP accesați pagina pentru alocarea unei adrese IP unui nod:

    Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
    După atribuirea adresei, făcând clic pe butonul înapoi revenim la pagina listei de noduri conectate și setăm numele - Numele membrului și bifați caseta de validare pentru autorizarea nodului în rețea - Autorizat. Apropo, această casetă de selectare este un lucru foarte util pentru deconectarea/conectarea de la rețeaua nodului în viitor.

    Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
    Salvați modificările cu un buton Reîmprospăta.

  5. Verificarea stării conexiunii la rețea a unui nod:
    Pentru a verifica starea conexiunii pe nodul în sine, rulați:
    CLI:

    zerotier-cli listnetworks

    Rezultat:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Starea rețelei ar trebui să fie OK

    Pentru a conecta nodurile rămase, repetați operațiunile 1-5 pentru fiecare dintre ele.

Verificarea conectivității la rețea a nodurilor

O fac cu comanda ping pe dispozitivul în rețea pe care îl gestionez în prezent.

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1
În captura de ecran a controlerului Web-GUI, puteți vedea trei noduri conectate la rețea:

  1. ZTNCUI-10.10.10.1 - controlerul meu de rețea cu un GUI - VDS într-unul dintre DC-urile RuVDS. Pentru munca normală, nu este nevoie să-l adaug în rețea, dar am făcut asta pentru că vreau să blochez accesul la interfața web din exterior. Mai multe despre asta mai târziu. 
  2. MyComp-10.10.10.2 - computerul meu de lucru este un computer fizic
  3. Backup - 10.10.10.3 - VDS în alt DC.

Prin urmare, de pe computerul meu de lucru, verific disponibilitatea altor noduri cu comenzile:

ping 10.10.10.1

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 14ms, Average = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 15ms, Average = 7ms

Utilizatorul are dreptul de a utiliza alte instrumente pentru verificarea disponibilității nodurilor din rețea, atât încorporate în sistemul de operare, cât și cum ar fi NMAP, Advanced IP Scanner etc.

Ascundem accesul la GUI al controlerului de rețea din exterior.

În general, pot reduce probabilitatea accesului neautorizat la VDS-ul pe care se află controlerul meu de rețea folosind firewall-ul din contul meu RuVDS. Acest subiect este mai mult pentru un articol separat. Prin urmare, aici voi arăta cum să asigure accesul la GUI al controlerului numai din rețeaua pe care am creat-o în acest articol.

Pentru a face acest lucru, conectați-vă prin SSH la VDS pe care se află controlerul, deschideți fișierul de configurare folosind comanda:

nano /opt/key-networks/ztncui/.env

În fișierul care se deschide, după linia „HTTPS_PORT=3443” care conține adresa portului pe care este deschisă GUI, trebuie să adăugați o linie suplimentară cu adresa pe care se va deschide GUI - în cazul meu este HTTPS_HOST=10.10.10.1 .XNUMX. 

Apoi, salvați fișierul

Сtrl+C
Y
Enter 

și rulați comanda:

systemctl restart ztncui

Și gata, acum GUI-ul controlerului meu de rețea este disponibil doar pentru nodurile de rețea 10.10.10.0.24.

În loc de concluzie 

În acest sens, vreau să termin prima parte a unui ghid practic pentru crearea de rețele virtuale bazate pe ZeroTier. Astept cu interes comentariile voastre. 

Între timp, pentru a trece timpul până la publicarea următoarei părți, în care vă voi spune cum să combinați o rețea virtuală cu una fizică, cum să organizați un mod „războinic rutier” și altceva, vă sugerez să încercați organizarea propriei rețele virtuale folosind un controler de rețea privat cu GUI bazat pe VDS de pe piață în continuare On-line RUVDS. Mai mult, pentru toți clienții noi există o perioadă de probă gratuită - 3 zile!

PS Da! Aproape am uitat! Puteți elimina un nod din rețea cu o comandă din CLI-ul acestui nod.

zerotier-cli leave <Network ID>

200 leave OK

sau comanda Delete din interfața clientului de pe nod.

-> Introducere. Partea teoretică. Comutator Ethernet inteligent pentru Planeta Pământ
-> Un ghid practic pentru construirea de rețele virtuale. Partea 1
-> Un ghid practic pentru construirea de rețele virtuale. Partea 2

Produs de ZeroTier. Un ghid practic pentru construirea de rețele virtuale. Partea 1

Sursa: www.habr.com

Adauga un comentariu