Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Fortsetzung der Geschichte über ZeroTier, basierend auf der im Artikel „Intelligenter Ethernet-Switch für den Planeten Erde", ich gehe weiter zur Praxis, in der:

  • Lassen Sie uns einen privaten Netzwerkcontroller erstellen und konfigurieren
  • Lassen Sie uns ein virtuelles Netzwerk erstellen
  • Lassen Sie uns Knoten konfigurieren und damit verbinden
  • Lassen Sie uns die Netzwerkkonnektivität zwischen ihnen überprüfen
  • Lassen Sie uns den Zugriff auf die GUI des Netzwerkcontrollers von außen blockieren

Netzwerk-Controller

Wie bereits erwähnt, benötigt der Benutzer zum Erstellen, Verwalten und Verbinden virtueller Netzwerke einen Netzwerkcontroller, dessen grafische Oberfläche (GUI) in zwei Formen existiert:

ZeroTier-GUI-Optionen

  • Eines vom Entwickler ZeroTier, verfügbar als Public-Cloud-SaaS-Lösung mit vier Abonnementplänen, darunter kostenlos, aber begrenzt in der Anzahl der verwalteten Geräte und im Support-Level
  • Die zweite stammt von einem unabhängigen Entwickler, ist in der Funktionalität etwas vereinfacht, aber als private Open-Source-Lösung für den Einsatz vor Ort oder auf Cloud-Ressourcen verfügbar.

In meiner Praxis habe ich beides verwendet und mich schließlich für das zweite entschieden. Grund dafür waren die Warnungen des Entwicklers.

„Netzwerkcontroller dienen als Zertifizierungsstellen für virtuelle ZeroTier-Netzwerke. Dateien, die geheime Schlüssel des Controllers enthalten, müssen sorgfältig geschützt und sicher archiviert werden. Ihre Kompromittierung ermöglicht es unbefugten Angreifern, betrügerische Netzwerkkonfigurationen zu erstellen, und ihr Verlust führt zum Verlust der Fähigkeit, das Netzwerk zu kontrollieren und zu verwalten, was es effektiv unbrauchbar macht.“

Link zur Dokumentation

Und auch Anzeichen Ihrer eigenen Cybersicherheitsparanoia :) 

  • Selbst wenn Cheburnet kommt, muss ich immer noch Zugriff auf meinen Netzwerkcontroller haben;
  • Nur ich sollte den Netzwerkcontroller verwenden. Gegebenenfalls Gewährung des Zugangs zu Ihren autorisierten Vertretern;
  • Es sollte möglich sein, den Zugriff auf den Netzwerkcontroller von außen einzuschränken.

In diesem Artikel sehe ich keinen Sinn darin, gesondert darauf einzugehen, wie ein Netzwerkcontroller und die GUI dafür auf physischen oder virtuellen Ressourcen vor Ort bereitgestellt werden. Und dafür gibt es auch 3 Gründe: 

  • Es wird mehr Briefe geben als geplant
  • darüber schon erzählt auf GUI-Entwickler GitHab
  • Das Thema des Artikels dreht sich um etwas anderes

Daher werde ich in dieser Geschichte den Weg des geringsten Widerstands wählen und einen Netzwerkcontroller mit einer auf VDS basierenden GUI verwenden, erstellt von von Vorlage, freundlicherweise entwickelt von meinen Kollegen von RuVDS.

Ersteinrichtung

Nach dem Erstellen eines Servers aus der angegebenen Vorlage erhält der Benutzer über einen Browser Zugriff auf den Web-GUI-Controller, indem er auf https:// zugreift. :3443

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Standardmäßig enthält der Server bereits ein vorgeneriertes selbstsigniertes TLS/SSL-Zertifikat. Das reicht mir, da ich den Zugriff von außen sperre. Für diejenigen, die andere Arten von Zertifikaten verwenden möchten, gibt es diese Installationsanleitung auf GUI-Entwickler GitHab.

Wenn sich der Benutzer zum ersten Mal anmeldet Login mit Standard-Login und Passwort - Administrator и Passwort:

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Es wird empfohlen, das Standardkennwort durch ein benutzerdefiniertes zu ändern

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Ich mache es etwas anders – ich ändere nicht das Passwort eines bestehenden Benutzers, sondern erstelle ein neues – Benutzer erstellen.

Ich habe den Namen des neuen Benutzers festgelegt - Benutzername:
Ich habe ein neues Passwort festgelegt - Neues Passwort eingeben
Ich bestätige das neue Passwort - Kennwort erneut eingeben:

Bei der Eingabe von Zeichen muss die Groß-/Kleinschreibung beachtet werden – seien Sie vorsichtig!

Kontrollkästchen zur Bestätigung der Passwortänderung beim nächsten Login - Passwort beim nächsten Login ändern: Ich feiere nicht. 

Um die eingegebenen Daten zu bestätigen, drücken Sie Passwort festlegen:

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Dann: Ich melde mich erneut an - Abmelden / Login, bereits unter den Anmeldeinformationen des neuen Benutzers:

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Als nächstes gehe ich zur Registerkarte „Benutzer“ – Nutzer und löschen Sie den Benutzer Administratorindem Sie auf das Papierkorbsymbol links neben seinem Namen klicken.

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Zukünftig können Sie das Passwort des Benutzers ändern, indem Sie entweder auf seinen Namen oder auf „Passwort festlegen“ klicken.

Erstellen eines virtuellen Netzwerks

Um ein virtuelles Netzwerk zu erstellen, muss der Benutzer auf die Registerkarte gehen Netzwerk hinzufügen. Von Punkt Mitglied Dies kann über die Seite erfolgen Startseite – die Hauptseite der Web-GUI, die die ZeroTier-Adresse dieses Netzwerkcontrollers anzeigt und einen Link zur Seite mit der Liste der über sie erstellten Netzwerke enthält.

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Auf Seite Netzwerk hinzufügen Der Benutzer weist dem neu erstellten Netzwerk einen Namen zu.

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Beim Anwenden der Eingabedaten − Create Network Der Benutzer wird auf eine Seite mit einer Liste von Netzwerken weitergeleitet, die Folgendes enthält: 

Netzwerkname — Der Name des Netzwerks in Form eines Links. Wenn Sie darauf klicken, können Sie ihn ändern 
Netzwerk ID — Netzwerkkennung
Detail — Link zu einer Seite mit detaillierten Netzwerkparametern
Einfache Einstellung – Link zur Seite für eine einfache Einrichtung
Mitglieder – Link zur Knotenverwaltungsseite

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Für die weitere Einrichtung folgen Sie dem Link Einfache Einstellung. Auf der sich öffnenden Seite gibt der Benutzer einen Bereich von IPv4-Adressen für das zu erstellende Netzwerk an. Dies kann automatisch per Knopfdruck erfolgen Netzwerkadresse generieren oder manuell durch Eingabe der Netzwerkmaske in das entsprechende Feld CIDR.

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Um die erfolgreiche Dateneingabe zu bestätigen, müssen Sie über die Schaltfläche „Zurück“ zur Seite mit der Liste der Netzwerke zurückkehren. An diesem Punkt kann die grundlegende Netzwerkeinrichtung als abgeschlossen betrachtet werden.

Netzwerkknoten verbinden

  1. Zunächst muss der ZeroTier One-Dienst auf dem Knoten installiert werden, den der Benutzer mit dem Netzwerk verbinden möchte.

    Was ist ZeroTier One?ZeroTier One ist ein Dienst, der auf Laptops, Desktops, Servern, virtuellen Maschinen und Containern ausgeführt wird und über einen virtuellen Netzwerkport Verbindungen zu einem virtuellen Netzwerk bereitstellt, ähnlich einem VPN-Client. 

    Sobald der Dienst installiert und gestartet ist, können Sie über deren 16-stellige Adressen eine Verbindung zu virtuellen Netzwerken herstellen. Jedes Netzwerk erscheint als virtueller Netzwerkport im System, der sich wie ein normaler Ethernet-Port verhält.
    Es finden sich Links zu Distributionen sowie Installationsbefehle auf der Herstellerseite.

    Sie können den installierten Dienst über ein Befehlszeilenterminal (CLI) mit Administrator-/Root-Rechten verwalten. Unter Windows/MacOS auch über eine grafische Oberfläche. In Android/iOS nur mit GUI.

  2. Überprüfen Sie den Erfolg der Serviceinstallation:

    CLI:

    zerotier-cli status

    Ergebnis: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Die Tatsache, dass die Anwendung ausgeführt wird und das Vorhandensein einer Zeile mit der Knoten-ID und der Knotenadresse darin.

  3. Einen Knoten mit dem Netzwerk verbinden:

    CLI:

    zerotier-cli join <Network ID>

    Ergebnis: 

    200 join OK

    GUI:

    Windows: Klicken Sie mit der rechten Maustaste auf das Symbol ZeroTier One in der Taskleiste und Auswahl des Elements - Netzwerk beitreten.

    Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
    MacOS: Anwendung starten ZeroTier One im Barmenü, sofern nicht bereits gestartet. Klicken Sie auf das ⏁-Symbol und wählen Sie aus Netzwerk beitreten.

    Android/iOS: + (plus Bild) in der App

    Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
    Geben Sie im angezeigten Feld den in der GUI angegebenen Netzwerkcontroller ein Netzwerk ID, und drücke Netzwerk beitreten/hinzufügen.

  4. Einem Host eine IP-Adresse zuweisen
    Nun kehren wir zum Netzwerkcontroller zurück und folgen auf der Seite mit der Liste der Netzwerke dem Link Mitglieder. Wenn auf dem Bildschirm ein Bild ähnlich diesem angezeigt wird, bedeutet dies, dass Ihr Netzwerkcontroller eine Anfrage zur Bestätigung der Verbindung zum Netzwerk vom verbundenen Knoten erhalten hat.

    Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
    Auf dieser Seite lassen wir vorerst alles so wie es ist und folgen dem Link IP-Vergabe Gehen Sie zur Seite zum Zuweisen einer IP-Adresse zum Knoten:

    Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
    Klicken Sie nach der Zuweisung der Adresse auf die Schaltfläche Zurück Kehren Sie zur Seite der Liste der verbundenen Knoten zurück und legen Sie den Namen fest - Mitgliedsname und aktivieren Sie das Kontrollkästchen, um den Knoten im Netzwerk zu autorisieren - Zugelassen. Dieses Kontrollkästchen ist übrigens sehr praktisch, um in Zukunft die Verbindung zum Host-Netzwerk zu trennen bzw. eine Verbindung herzustellen.

    Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
    Speichern Sie die Änderungen mit der Schaltfläche Inspiration.

  5. Überprüfen des Verbindungsstatus des Knotens zum Netzwerk:
    Um den Verbindungsstatus auf dem Knoten selbst zu überprüfen, führen Sie Folgendes aus:
    CLI:

    zerotier-cli listnetworks

    Ergebnis:

    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:

    Der Netzwerkstatus sollte in Ordnung sein

    Um die verbleibenden Knoten zu verbinden, wiederholen Sie die Schritte 1–5 für jeden von ihnen.

Überprüfen der Netzwerkkonnektivität von Knoten

Ich mache das, indem ich den Befehl ausführe Klingeln auf dem Gerät, das mit dem Netzwerk verbunden ist, das ich gerade verwalte.

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
Im Screenshot des Web-GUI-Controllers sehen Sie drei mit dem Netzwerk verbundene Knoten:

  1. ZTNCUI – 10.10.10.1 - mein Netzwerkcontroller mit GUI - VDS in einem der RuVDS-DCs. Für den normalen Betrieb ist es nicht erforderlich, es zum Netzwerk hinzuzufügen, aber ich habe dies getan, weil ich den Zugriff auf die Weboberfläche von außen blockieren möchte. Mehr dazu später. 
  2. MyComp – 10.10.10.2 - Mein Arbeitscomputer ist ein physischer PC
  3. Sicherung – 10.10.10.3 — VDS in einem anderen DC.

Daher überprüfe ich von meinem Arbeitscomputer aus die Verfügbarkeit anderer Knoten mit den Befehlen:

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

Der Benutzer hat das Recht, andere Tools zur Überprüfung der Verfügbarkeit von Knoten im Netzwerk zu verwenden, die sowohl in das Betriebssystem integriert sind als auch NMAP, Advanced IP Scanner usw.

Wir verbergen den Zugriff auf die GUI des Netzwerkcontrollers von außen.

Im Allgemeinen kann ich die Wahrscheinlichkeit eines unbefugten Zugriffs auf den VDS, auf dem sich mein Netzwerkcontroller befindet, mithilfe einer Firewall in meinem persönlichen RuVDS-Konto verringern. Dieses Thema ist eher für einen separaten Artikel geeignet. Daher zeige ich hier, wie Sie den Zugriff auf den GUI-Controller nur über das Netzwerk ermöglichen, das ich in diesem Artikel erstellt habe.

Dazu müssen Sie sich per SSH mit dem VDS verbinden, auf dem sich der Controller befindet, und die Konfigurationsdatei mit dem Befehl öffnen:

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

In der geöffneten Datei müssen Sie nach der Zeile „HTTPS_PORT=3443“, die die Adresse des Ports enthält, an dem die GUI geöffnet wird, eine zusätzliche Zeile mit der Adresse hinzufügen, an der die GUI geöffnet wird – in meinem Fall ist es HTTPS_HOST=10.10.10.1 .XNUMX. 

Als nächstes werde ich die Datei speichern

Сtrl+C
Y
Enter 

und führen Sie den Befehl aus:

systemctl restart ztncui

Und das war's, jetzt ist die GUI meines Netzwerkcontrollers nur für Netzwerkknoten 10.10.10.0.24 verfügbar.

Statt einer Schlussfolgerung 

Hier möchte ich den ersten Teil des praktischen Leitfadens zum Erstellen virtueller Netzwerke auf Basis von ZeroTier beenden. Ich freue mich auf Ihre Kommentare. 

Um sich in der Zwischenzeit die Zeit bis zur Veröffentlichung des nächsten Teils zu vertreiben, in dem ich Ihnen erklären werde, wie Sie ein virtuelles Netzwerk mit einem physischen verbinden, wie Sie einen „Road Warrior“-Modus organisieren und noch etwas anderes, empfehle ich Ihnen, es zu versuchen Organisieren Sie Ihr eigenes virtuelles Netzwerk mithilfe eines privaten Netzwerkcontrollers mit GUI basierend auf VDS vom Marktplatz an Webseite RUVDS. Darüber hinaus erhalten alle Neukunden eine kostenlose Testphase von 3 Tagen!

PS Ja! Ich habe es fast vergessen! Sie können einen Knoten aus dem Netzwerk entfernen, indem Sie einen Befehl in der CLI dieses Knotens verwenden.

zerotier-cli leave <Network ID>

200 leave OK

oder den Befehl „Löschen“ in der Client-GUI auf dem Knoten.

-> Einführung. Theoretischer Teil. Intelligenter Ethernet-Switch für den Planeten Erde
-> Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1
-> Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 2

Unterstützt von ZeroTier. Ein praktischer Leitfaden zum Aufbau virtueller Netzwerke. Teil 1

Source: habr.com

Kommentar hinzufügen