
Terugkomend op het verhaal over ZeroTier, van de theorie uiteengezet in het artikel «Intelligent Ethernet-switch voor de aarde», ga ik over naar de praktijk, waarin:
- We gaan een privé netwerkcontroller creëren en configureren
- We gaan een virtueel netwerk creëren
- We gaan de knooppunten configureren en verbinden
- We controleren de netwerkverbinding tussen hen
- We sluiten de toegang tot de GUI van de netwerkcontroller van buitenaf af
Netwerkcontroller
Zoals eerder vermeld, heeft de gebruiker een netwerkcontroller nodig voor het creëren van virtuele netwerken, hun beheer en het verbinden van knooppunten, waarvan de grafische interface (GUI) in twee versies bestaat:
Opties voor ZeroTier GUI
- Een van de ontwikkelaar van ZeroTier, beschikbaar als publieke cloudoplossing die wordt aangeboden in een SaaS-model, met vier abonnementsplannen, waaronder een gratis, maar beperkt in het aantal te beheren apparaten en het niveau van ondersteuning.
- De tweede — van een onafhankelijke ontwikkelaar, enigszins vereenvoudigd in functionaliteit, maar beschikbaar als privé open source oplossing, voor gebruik on-premise of op cloudbronnen.
In mijn ervaring heb ik beide gebruikt en uiteindelijk heb ik toch voor de tweede gekozen. De reden hiervoor was de waarschuwing van de ontwikkelaar.
«Netwerkcontrollers fungeren als certificeringscentra voor ZeroTier virtuele netwerken. Bestanden die geheimen sleutels van de controller bevatten, moeten zorgvuldig worden beschermd en veilig worden gearchiveerd. Hun compromis maakt het voor ongeautoriseerde aanvallers mogelijk om frauduleuze netwerconfiguraties te creëren, en verlies leidt tot het verlies van controle en beheer van het netwerk, waardoor het feitelijk onbruikbaar wordt»
En ook, tekenen van mijn eigen IB-paranoia 🙂
- Zelfs als CheburNet komt — ik moet toegang tot mijn netwerkcontroller behouden;
- Alleen ik mag de netwerkcontroller gebruiken. Indien nodig, geef ik toegang aan mijn vertrouwde personen;
- Er moet een mogelijkheid zijn om de toegang tot de netwerkcontroller van buitenaf te beperken.
Ik zie weinig zin om apart in te gaan op hoe de netwerkcontroller en de GUI daarvoor op on-premise fysieke of virtuele bronnen te implementeren, en daar zijn ook 3 redenen voor:
- het aantal woorden zal meer zijn dan ik had gepland
- hierover is al gesproken is verteld op GitHab van de GUI-ontwikkelaar
- het onderwerp van het artikel is anders
Daarom, door de weg van de minste weerstand te kiezen, zal ik in dit verhaal een netwerkincontroller met een GUI op basis van VDS, gemaakt van de sjabloon, vriendelijk ontwikkeld door mijn collega's van ProHoster.
Initiële configuratie
Na aanmaak de server van de genoemde sjabloon, krijgt de gebruiker toegang tot de Web-GUI van de controller via de browser door naar httрs://:3443 te gaan

Standaard server bevat al een vooraf gemaakt zelfondertekend TLS/SSL-certificaat. Voor mij is dat voldoende, omdat ik de toegang van buitenaf beperk. Voor degenen die andere soorten certificaten willen gebruiken, zijn er installatiehandleiding is beschikbaar op GitHab van de GUI-ontwikkelaar.
Bij de eerste aanmelding van de gebruiker in het systeem Inloggen met de standaard inloggegevens en wachtwoord — admin en password:

Het biedt de mogelijkheid om het standaardwachtwoord te wijzigen in een gebruikersspecifiek wachtwoord

Ik doe het iets anders — ik wijzig het wachtwoord van de bestaande gebruiker niet, maar maak een nieuwe aan — Maak gebruiker aan.
Geef een nieuwe gebruikersnaam op — gebruikersnaam:
Geef een nieuw wachtwoord op — Voer nieuw wachtwoord in:
Bevestig het nieuwe wachtwoord — Her-enter wachtwoord:
De ingevoerde tekens zijn hoofdlettergevoelig — wees voorzichtig!
Checkbox voor bevestiging van wachtwoordwijziging bij de volgende aanmelding — Wijzig wachtwoord bij volgende aanmelding: laat ik niet aangevinkt.
Om de invoergegevens te bevestigen druk ik op Stel wachtwoord in:

Daarna: log ik opnieuw in — Uitloggen / Inloggen, al met de inloggegevens van de nieuwe gebruiker:

Vervolgens ga ik naar het tabblad gebruikers — Gebruikers en verwijder de gebruiker admin, door op het prullenbakpictogram te klikken, dat zich links van zijn naam bevindt.

Later kan het wachtwoord van de gebruiker worden gewijzigd door ofwel op zijn naam ofwel op wachtwoord instellen te klikken.
Het aanmaken van een virtueel netwerk
Om een virtueel netwerk te creëren, moet de gebruiker naar het tabblad Netwerk toevoegen. Dit kan worden gedaan via de pagina User — de hoofdpagina van de Web-GUI, waarop het ZeroTier-adres van deze netwerkincontroller wordt weergegeven en een link naar de lijst met netwerken die via deze zijn gemaakt. Home de gebruiker geeft een naam voor het nieuw te creëren netwerk op.

Op de pagina Netwerk toevoegen Bij het toepassen van de ingevoerde gegevens —

Maak netwerk komt de gebruiker op de pagina met de lijst van netwerken, waarop staan vermeld: Netwerknaam
— de netwerknaam in de vorm van een link, waarlangs deze kan worden gewijzigd Netwerk ID
— de netwerkidentificatie detail
detail — link naar de pagina met gedetailleerde netwerkparameters
gemakkelijke setup — link naar de pagina voor eenvoudige configuratie
leden — link naar de pagina voor het beheren van knooppunten

Voor verdere configuratie gaan we naar de link gemakkelijke setup. Op de geopende pagina kan de gebruiker het bereik van IPv4-adressen voor het te creëren netwerk instellen. Dit kan automatisch door op de knop te drukken Genereer netwerkadres of handmatig door het invoeren van het subnetmasker in het bijbehorende veld CIDR.

Bij bevestiging van succesvolle invoer van gegevens moet men terugkeren naar de pagina met de lijst van netwerken met de knop Terug. Hiermee kan de basisconfiguratie van het netwerk als voltooid worden beschouwd.
Verbinden van netwerk knooppunten
- Om te beginnen moet op het knooppunt dat de gebruiker aan het netwerk wil verbinden de service ZeroTier One worden geïnstalleerd.Wat is ZeroTier One?ZeroTier One is een service die werkt op laptops, desktops, servers, virtuele machines en containers en die verbindingen met een virtueel netwerk mogelijk maakt via een virtuele netwerkpoort, vergelijkbaar met een VPN-cliënt. Na installatie en activering van de service kan men verbinding maken met de virtuele netwerken door gebruik te maken van hun 16-cijferige adressen. Elk netwerk verschijnt als een virtuele netwerkpoort in het systeem, die zich gedraagt zoals een gewone Ethernet-poort.
Links naar distributies en ook installatiecommando's kunnen worden gevonden op de pagina van de fabrikant. De geïnstalleerde service kan worden beheerd via de opdrachtregelterminal (CLI) met administratieve/root-rechten. In Windows/MacOS ook via een grafische interface. In Android/iOS alleen via GUI. - Controleren van de succesvolle installatie van de service:CLI:
zerotier-cli statusResultaat:
200 info ebf416fac1 1.4.6 ONLINE
GUI:Het feit dat de applicatie werkt en dat er een regel is met Node ID met het adres van het knooppunt.
- Een knooppunt aan het netwerk verbinden:CLI:
zerotier-cli joinResultaat:
200 join OKGUI:
Windows: door met de rechtermuisknop op het pictogram ZeroTier One in het systeemvak te klikken en de optie te kiezen — Netwerk verbinden.

MacOS: Start de applicatie ZeroTier One in het bar menu, als deze nog niet is gestart. Klik op het pictogram ⏁ en kies Netwerk verbinden.Android/iOS: + (plus afbeelding) in de applicatie

Voer in het geopende veld het door de GUI van de netwerkmachine opgegeven netwerk-ID in — de netwerkidentificatie, en druk op Netwerk verbinden / Netwerk toevoegen. - Een IP-adres toewijzen aan het knooppunt
Keer nu terug naar de netwerkmachine en ga op de pagina met de lijst van netwerken naar de link leden. Als je op het scherm een afbeelding ziet die hierop lijkt, betekent dit dat je netwerkmachine een verzoek om verbinding met het netwerk van het knooppunt dat wordt verbonden heeft ontvangen.
Op deze pagina laten we alles zoals het is en gaan we naar de link IP-toewijzing we gaan naar de bestemmingspagina van het IP-adres:
Na het toewijzen van het adres, op de knop Achterzijde terug naar de lijst met verbonden knooppunten en geef de naam op — Ledennaam en vink het selectievakje aan voor de autorisatie van het knooppunt in het netwerk — Geautoriseerd. Overigens is dit selectievakje een handig hulpmiddel om in de toekomst knooppunten van het netwerk af of aan te schakelen.
Sla de wijzigingen op met de knop Vernieuwen. - Controleer de status van de verbinding van het knooppunt met het netwerk:
Om de verbindingsstatus op het knooppunt te controleren, voer uit:
CLI:zerotier-cli listnetworksResultaat:
200 listnetworks
200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24
GUI:De status van het netwerk moet OK zijn
Herhaal de stappen 1-5 voor elk van de andere knooppunten om ze te verbinden.
Controle van netwerkaansluitingen van knooppunten
Ik doe dit door het uitvoeren van het commando ping op het apparaat dat met het netwerk is verbonden en waar ik momenteel mee werk.

Op de screenshot van de Web-GUI van de controller zijn drie verbonden knooppunten te zien:
- ZTNCUI — 10.10.10.1 — mijn netwerkcontroller met GUI — VDS in een van de datacenters van ProHoster. Voor normaal gebruik is het niet nodig om het aan het netwerk toe te voegen, maar ik heb dit gedaan omdat ik de toegang tot de webinterface van buitenaf wil sluiten. Daarover later meer.
- MyComp — 10.10.10.2 — mijn werkcomputer — fysieke PC
- Backup — 10.10.10.3 — VDS in een ander datacenter.
Dus vanuit mijn werkcomputer controleer ik de beschikbaarheid van de andere knooppunten met de commando's:
ping 10.10.10.1Pingen naar 10.10.10.1 met 32 bytes aan gegevens:
Antwoord van 10.10.10.1: bytes=32 tijd=14ms TTL=64
Antwoord van 10.10.10.1: bytes=32 tijd=4ms TTL=64
Antwoord van 10.10.10.1: bytes=32 tijd=7ms TTL=64
Antwoord van 10.10.10.1: bytes=32 tijd=2ms TTL=64
Pingstatistieken voor 10.10.10.1:
Pakket: Verzend = 4, Ontvangen = 4, Verloren = 0 (0% verlies),
Bij benadering rondreis tijden in milliseconden:
Minimum = 2ms, Maximum = 14ms, Gemiddeld = 6ms
ping 10.10.10.3Pingen naar 10.10.10.3 met 32 bytes aan gegevens:
Antwoord van 10.10.10.3: bytes=32 tijd=15ms TTL=64
Antwoord van 10.10.10.3: bytes=32 tijd=4ms TTL=64
Antwoord van 10.10.10.3: bytes=32 tijd=8ms TTL=64
Antwoord van 10.10.10.3: bytes=32 tijd=4ms TTL=64
Pingstatistieken voor 10.10.10.3:
Pakket: Verzend = 4, Ontvangen = 4, Verloren = 0 (0% verlies),
Bij benadering rondreis tijden in milliseconden:
Minimum = 4ms, Maximum = 15ms, Gemiddeld = 7ms
Gebruikers zijn vrij andere tools voor het controleren van de beschikbaarheid van knooppunten in het netwerk te gebruiken, zowel ingebouwd in het besturingssysteem als zoals NMAP, Advanced IP Scanner, enz.
Sluit de toegang tot de GUI van de netwerkcontroller af van buitenaf.
In feite kan ik de kans op onbevoegde toegang tot de VDS, waar mijn netwerkcontroller zich bevindt, verminderen door middel van een firewall in mijn persoonlijke ProHoster-account. Dit onderwerp verdient waarschijnlijk een apart artikel. Daarom laat ik hier zien hoe ik toegang tot de GUI van de controller kan garanderen alleen vanuit het netwerk dat ik in dit artikel heb aangemaakt.
Hiervoor moet ik, na verbinding te hebben gemaakt via SSH met de VDS waar de controller zich bevindt, het configuratiebestand openen met het commando:
nano /opt/key-networks/ztncui/.envIn het geopende bestand, onder de regel «HTTPS_PORT=3443», die het adres van de poort bevat waarop de GUI wordt geopend, moet een extra lijn worden toegevoegd met het adres waarop de GUI zal worden geopend — in mijn geval is dat HTTPS_HOST=10.10.10.1.
Vervolgens sla ik het bestand op
Ctrl+C
Y
Enter
en voer ik de opdracht uit:
systemctl restart ztncuiEn dat is alles, nu is de GUI van mijn netwerkcontroller alleen beschikbaar voor de knooppunten in het netwerk 10.10.10.0/24.
Ter afsluiting
Hiermee wil ik het eerste deel van de praktische handleiding voor het creëren van virtuele netwerken op basis van ZeroTier afsluiten. Ik kijk uit naar uw reacties.
Maar om de tijd te doden tot de publicatie van het volgende deel, waarin ik zal vertellen hoe je een virtueel netwerk kunt combineren met een fysiek netwerk, hoe je de «road warrior»-modus kunt organiseren en nog wat meer, nodig ik je uit om je eigen virtuele netwerk te creëren met behulp van een privé netwerkcontroller met GUI op basis van VDS van de marktplaats op website ProHoster. Bovendien is er voor alle nieuwe klanten een gratis proefperiode van 3 dagen!
P.S. Ja! Ik was bijna vergeten! Je kunt een knooppunt uit het netwerk verwijderen met de opdracht in de CLI van dat knooppunt.
zerotier-cli leave200 leave OK
of met de Delete-opdracht in de GUI van de client op het knooppunt.
-> Introductie. Theoretisch gedeelte. Slimme Ethernet-switch voor de planeet Aarde.
-> Praktische handleiding voor het bouwen van virtuele netwerken. Deel 1
-> Praktische handleiding voor het bouwen van virtuele netwerken. Deel 2
Bron: habr.com





