
Tęsiant pasakojimą apie ZeroTier, iš teorijos, išdėstytos straipsnyje “Išmanusis eterneto jungiklis, skirtas planetai Žemei“, pereinu prie praktikos, kurioje:
- Sukurkime ir sukonfigūruokime privataus tinklo valdiklį
- Sukurkime virtualų tinklą
- Sukonfigūruokime ir prijungkime prie jo mazgus
- Patikrinkime tinklo ryšį tarp jų
- Užblokuokime prieigą prie tinklo valdiklio GUI iš išorės
Tinklo valdiklis
Kaip minėta anksčiau, norint sukurti virtualius tinklus, juos valdyti, taip pat prijungti mazgus, vartotojui reikia tinklo valdiklio, kurio grafinė sąsaja (GUI) yra dviejų formų:
ZeroTier GUI parinktys
- Vienas iš kūrėjo ZeroTier, prieinamas kaip viešasis debesies SaaS sprendimas su keturiais prenumeratos planais, įskaitant nemokamus, bet ribotą valdomų įrenginių skaičių ir palaikymo lygį.
- Antrasis yra nepriklausomo kūrėjo, šiek tiek supaprastinto funkcionalumo, bet prieinamas kaip privatus atvirojo kodo sprendimas, skirtas naudoti vietoje arba debesies ištekliais.
Savo praktikoje naudojau abu ir dėl to galiausiai apsistojau ties antruoju. To priežastis buvo kūrėjo įspėjimai.
„Tinklo valdikliai tarnauja kaip „ZeroTier“ virtualių tinklų sertifikavimo institucijos. Failai su slaptaisiais valdiklio raktais turi būti kruopščiai saugomi ir saugiai archyvuojami. Jų kompromisas leidžia neteisėtiems užpuolikams sukurti nesąžiningas tinklo konfigūracijas, o jų praradimas praranda galimybę valdyti ir valdyti tinklą, todėl jis tampa netinkamas naudoti.
Be to, jūsų pačių kibernetinio saugumo paranojos požymiai :)
- Net jei Cheburnet ateis, aš vis tiek turiu turėti prieigą prie savo tinklo valdiklio;
- Tik aš turėčiau naudoti tinklo valdiklį. Jei reikia, prieigos suteikimas Jūsų įgaliotiems atstovams;
- Turėtų būti įmanoma apriboti prieigą prie tinklo valdiklio iš išorės.
Šiame straipsnyje nematau prasmės atskirai nagrinėti, kaip įdiegti tinklo valdiklį ir jo grafinę sąsają vietiniuose fiziniuose ar virtualiuose ištekliuose. Ir taip pat yra 3 priežastys:
- laiškų bus daugiau nei planuota
- apie tai jau pasakojo GUI kūrėjas GitHab
- straipsnio tema yra apie ką kitą
Todėl, pasirinkdamas mažiausio pasipriešinimo kelią, šiame pasakojime naudosiu tinklo valdiklį su grafine sąsaja, pagrįsta VDS, sukurtas iš šablono, maloniai sukurtą mano kolegų iš ProHoster.
Pradiniai nustatymai
Po sukūrimo serveris Iš nurodyto šablono vartotojas per naršyklę gauna prieigą prie žiniatinklio grafinės sąsajos valdiklio adresu http:// :3443

Pagal nutylėjimą serverio jau yra iš anksto sugeneruotas, pasirašytas TLS/SSL sertifikatas. Man to pakanka, nes neleidžiu išorinės prieigos prie jo. Tiems, kurie nori naudoti kitų tipų sertifikatus, yra montavimo instrukcijos GUI kūrėjas GitHab.
Kai vartotojas prisijungia pirmą kartą Prisijungti su numatytuoju prisijungimo vardu ir slaptažodžiu - admin и slaptažodis:

Siūloma pakeisti numatytąjį slaptažodį į pasirinktinį

Aš tai darau šiek tiek kitaip - nekeičiu esamo vartotojo slaptažodžio, o sukuriu naują - Sukurti vartotoją.
Nustačiau naujo vartotojo vardą - Vartotojo vardas:
Nustačiau naują slaptažodį - Įveskite naują slaptažodį:
Patvirtinu naują slaptažodį - Pakartokite slaptažodį:
Įvedami didžiosios ir mažosios raidės – būkite atsargūs!
Pažymėkite langelį, kad patvirtintumėte slaptažodžio keitimą kito prisijungimo metu - Keiskite slaptažodį kito prisijungimo metu: Aš nešvenčiu.
Norėdami patvirtinti įvestus duomenis, paspauskite Nustatyti slaptažodį:

Tada: Prisijungiu iš naujo - Atsijungti / Prisijungti, jau pagal naujojo vartotojo kredencialus:

Tada einu į vartotojų skirtuką - vartotojai ir ištrinti vartotoją adminspustelėdami šiukšliadėžės piktogramą, esančią jo vardo kairėje.

Ateityje galėsite pakeisti vartotojo slaptažodį spustelėdami jo vardą arba nustatytą slaptažodį.
Sukurti virtualų tinklą
Norėdami sukurti virtualų tinklą, vartotojas turi eiti į skirtuką Pridėti tinklą. Iš taško vartotojas tai galima padaryti per puslapį Pagrindinis — pagrindinis žiniatinklio GUI puslapis, kuriame rodomas šio tinklo valdiklio „ZeroTier“ adresas ir yra nuoroda į per jį sukurtų tinklų sąrašo puslapį.

Puslapyje Pridėti tinklą vartotojas naujai kuriamam tinklui priskiria pavadinimą.

Taikant įvesties duomenis − Sukurti tinklą vartotojas nukreipiamas į puslapį su tinklų sąrašu, kuriame yra:
Tinklo pavadinimas — tinklo pavadinimas nuorodos pavidalu, kurį spustelėję galite jį pakeisti
Tinklo ID — tinklo identifikatorius
detalė — nuoroda į puslapį su išsamiais tinklo parametrais
lengvas nustatymas - nuoroda į puslapį, kad būtų lengviau nustatyti
prisijungę — nuoroda į mazgo valdymo puslapį

Norėdami atlikti tolesnę sąranką, spustelėkite nuorodą lengvas nustatymas. Atsidariusiame puslapyje vartotojas nurodo kuriamo tinklo IPv4 adresų diapazoną. Tai galima padaryti automatiškai, paspaudus mygtuką Sukurkite tinklo adresą arba rankiniu būdu įvesdami tinklo tinklo kaukę į atitinkamą lauką CIDR.

Patvirtindami sėkmingą duomenų įvedimą, turite grįžti į puslapį su tinklų sąrašu, naudodami mygtuką Atgal. Šiuo metu pagrindinė tinklo sąranka gali būti laikoma baigta.
Tinklo mazgų prijungimas
- Pirma, ZeroTier One paslauga turi būti įdiegta mazge, kurį vartotojas nori prisijungti prie tinklo.Kas yra „ZeroTier One“?„ZeroTier One“. – paslauga, veikianti nešiojamuosiuose ir stacionariuose kompiuteriuose, serveriuose, virtualiose mašinose ir konteineriuose, teikianti ryšį su virtualiu tinklu per virtualaus tinklo prievadą, panašiai kaip VPN klientas. Įdiegus paslaugą ir paleidus ją, galite prisijungti prie virtualių tinklų naudodami jų 16 skaitmenų adresus. Kiekvienas tinklas sistemoje rodomas kaip virtualus tinklo prievadas, kuris veikia kaip įprastas Ethernet prievadas.
Galima rasti nuorodų į paskirstymus, taip pat diegimo komandas gamintojo puslapyjeĮdiegtą paslaugą galite valdyti per komandinės eilutės terminalą (CLI) su administratoriaus/root teisėmis. Windows/MacOS taip pat naudoja grafinę sąsają. Android/iOS tik per grafinę sąsają. - Paslaugos diegimo sėkmės patikrinimas:CLI:
zerotier-cli statusRezultatas:
200 info ebf416fac1 1.4.6 ONLINE
GUI:Pats faktas, kad programa veikia, ir eilutės su mazgo ID su mazgo adresu buvimas joje.
- Mazgo prijungimas prie tinklo:CLI:
zerotier-cli join <Network ID>Rezultatas:
200 join OKGUI:
Windows: dešiniuoju pelės mygtuku spustelėkite piktogramą „ZeroTier One“. sistemos dėkle ir pasirinkę elementą - Prisijunkite prie tinklo.

„MacOS“: Paleiskite programą „ZeroTier One“. juostos meniu, jei dar nepaleista. Spustelėkite piktogramą ⏁ ir pasirinkite Prisijunkite prie tinklo.Android/iOS: + (pliuso ženklas) programėlėje

Pasirodžiusiame lauke įveskite GUI nurodytą tinklo valdiklį Tinklo ID, ir paspauskite Prisijunkite / pridėkite tinklą. - IP adreso priskyrimas pagrindiniam kompiuteriui
Dabar grįžtame prie tinklo valdiklio ir puslapyje su tinklų sąrašu spustelėkite nuorodą prisijungę. Jei ekrane matote vaizdą, panašų į šį, tai reiškia, kad jūsų tinklo valdiklis gavo užklausą patvirtinti prisijungimą prie tinklo iš prijungto mazgo.
Šiame puslapyje paliekame viską taip, kaip yra dabar, ir sekame nuorodą IP priskyrimas eikite į puslapį, kad mazgui priskirtumėte IP adresą:
Priskyrę adresą, spustelėkite mygtuką atgal grįžkite į prijungtų mazgų sąrašo puslapį ir nustatykite pavadinimą - Nario vardas ir pažymėkite langelį, kad įgaliotumėte tinklo mazgą - Įgaliotas. Beje, šis žymimasis langelis yra labai patogus dalykas norint ateityje atsijungti/prisijungti prie pagrindinio tinklo.
Išsaugokite pakeitimus naudodami mygtuką atnaujinti. - Patikrinkite mazgo prisijungimo prie tinklo būseną:
Norėdami patikrinti ryšio būseną pačiame mazge, paleiskite:
CLI:zerotier-cli listnetworksRezultatas:
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:Tinklo būsena turi būti gerai
Norėdami sujungti likusius mazgus, pakartokite 1–5 veiksmus kiekvienam iš jų.
Tikrinamas mazgų tinklo ryšys
Aš tai darau vykdydamas komandą ping įrenginyje, prijungtame prie tinklo, kurį šiuo metu valdau.

Web-GUI valdiklio ekrano kopijoje galite pamatyti tris prie tinklo prijungtus mazgus:
- ZTNCUI – 10.10.10.1 — mano tinklo valdiklis su grafine sąsaja — VDS viename iš DC ProHosterNormaliam veikimui nereikia jo pridėti prie tinklo, bet aš tai padariau, nes noriu užblokuoti išorinę prieigą prie žiniatinklio sąsajos. Apie tai vėliau.
- MyComp - 10.10.10.2 - Mano darbo kompiuteris yra fizinis kompiuteris
- Atsarginė kopija – 10.10.10.3 — VDS kitoje nuolatinėje srovėje.
Todėl iš savo darbo kompiuterio aš tikrinu kitų mazgų prieinamumą komandomis:
ping 10.10.10.1Pinging 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:
Paketai: laiškų = 4, 4 = Įstojo Lost = 0 (0% nuostoliai)
Apytikslis kelionės pirmyn ir atgal laikas milisekundėmis:
Mažiausias = 2 ms, didžiausias = 14 ms, vidurkis = 6 ms
ping 10.10.10.3Pinging 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:
Paketai: laiškų = 4, 4 = Įstojo Lost = 0 (0% nuostoliai)
Apytikslis kelionės pirmyn ir atgal laikas milisekundėmis:
Mažiausias = 4 ms, didžiausias = 15 ms, vidurkis = 7 ms
Vartotojas turi teisę naudoti kitus įrankius tinklo mazgų prieinamumui patikrinti, tiek integruotus į OS, tiek tokius kaip NMAP, Advanced IP Scanner ir kt.
Mes paslepiame prieigą prie tinklo valdiklio GUI iš išorės.
Apskritai, naudodamas asmeninės paskyros užkardą, galiu sumažinti neteisėtos prieigos prie VDS, kuriame yra mano tinklo valdiklis, tikimybę. ProHosterŠi tema labiau tiktų atskiram straipsniui. Todėl čia parodysiu, kaip užtikrinti, kad prieiga prie valdiklio grafinės sąsajos būtų apribota šiame straipsnyje sukurtame tinkle.
Norėdami tai padaryti, per SSH turite prisijungti prie VDS, kuriame yra valdiklis, ir atidaryti konfigūracijos failą naudodami komandą:
nano /opt/key-networks/ztncui/.envAtidarytame faile po eilutės „HTTPS_PORT=3443“, kurioje yra prievado, kuriame atsidaro GUI, adresas, reikia pridėti papildomą eilutę su adresu, kuriuo bus atidaryta GUI - mano atveju tai yra HTTPS_HOST=10.10.10.1 .XNUMX.
Toliau išsaugosiu failą
Сtrl+C
Y
Enter
ir paleiskite komandą:
systemctl restart ztncuiIr viskas, dabar mano tinklo valdiklio GUI galima tik tinklo mazguose 10.10.10.0.24.
Vietoj išvados
Čia noriu užbaigti pirmąją praktinio vadovo, skirto kurti virtualius tinklus, pagrįstus ZeroTier, dalį. Laukiu jūsų komentarų.
Tuo tarpu, norint praleisti laiką iki kitos dalies, kurioje papasakosiu, kaip sujungti virtualų tinklą su fiziniu, kaip suorganizuoti „kelių kario“ režimą ir dar ką nors, išleidimo, siūlau pabandyti. organizuoti savo virtualų tinklą naudojant privatų tinklo valdiklį su GUI, pagrįstu VDS iš rinkos Dabar naršo ProHosterBe to, visi nauji klientai gauna nemokamą 3 dienų bandomąjį laikotarpį!
PS Taip! Aš beveik pamiršau! Galite pašalinti mazgą iš tinklo naudodami komandą šio mazgo CLI.
zerotier-cli leave <Network ID>200 leave OK
arba mazgo kliento GUI komandą Naikinti.
-> Įvadas. Teorinė dalis. Išmanusis eterneto jungiklis, skirtas planetai Žemei
-> Praktinis virtualių tinklų kūrimo vadovas. 1 dalis
-> Praktinis virtualių tinklų kūrimo vadovas. 2 dalis
Šaltinis: www.habr.com





