ELX-Software

ELX-VNetwork

Dokumentation

Vom leeren VPS zum laufenden Netz — und was zu tun ist, wenn eine Maschine nicht beitreten will.

Den Server aufsetzen

Der Server braucht eine Maschine mit öffentlicher Adresse und einem Domainnamen, der darauf zeigt. Den Rest erledigt das Installationsskript: Es legt die systemd-Einheit an, konfiguriert nginx und holt ein Zertifikat.

Auf dem Server mit Domain, als root
sudo DOMAIN=vnet.example.com sh install.sh
# danach https://vnet.example.com/admin öffnen
# als admin / admin anmelden und das Kennwort ändern
Die Domain muss vorher auflösenDas Zertifikat wird ausgestellt, indem die Kontrolle über den Namen nachgewiesen wird; der DNS-Eintrag muss also vor dem Lauf des Skripts auf den Server zeigen. Tut er es nicht, bricht das Skript genau an dieser Stelle ab, und sonst ist nichts kaputt.

Die Anforderungen sind bescheiden: Ein Kern und 512 MB Speicher tragen Dutzende verbundener Maschinen, denn der Server leitet Rahmen weiter, statt sie zu verarbeiten.

Den Client installieren

Der Client braucht zweierlei: die Adresse Ihres Servers und einen Einladungscode von ihm. Alles Übrige — Adapter, Dienst, Adresse — richtet er sich selbst ein.

Linux
sudo dpkg -i elx-vnetwork_*.deb
sudo elxvnet join -server https://vnet.example.com -invite ELX-XXXX-XXXX-XXXX
sudo systemctl enable --now elxvnet
elxvnet status
Windows, aus einer Eingabeaufforderung als Administrator
cd "C:\Program Files\ELX-VNetwork"
elxvnet join -server https://vnet.example.com -invite ELX-XXXX-XXXX-XXXX
elxvnet -service restart
Damit beginnt jede Untersuchungelxvnet status gibt den Verbindungszustand, die zugeteilte Adresse und jeden Nachbarn im Segment aus. Die meisten Fragen beantwortet diese eine Zeile, bevor irgendetwas anderes geöffnet wird.

Segmente und Einladungen

Ein Segment ist ein unabhängiges Netz. Maschinen darin sehen einander; Maschinen in verschiedenen Segmenten nicht, obwohl sie sich einen Server teilen. Ein Standort, ein Kunde oder ein Prüfstand bekommt jeweils ein eigenes.

  1. Legen Sie in der Oberfläche ein Segment an und geben Sie ihm einen Namen, den Sie in einem Jahr noch erkennen.
  2. Erzeugen Sie einen Einladungscode — einmalig verwendbar oder offen für eine Reihe von Maschinen.
  3. Installieren Sie den Client mit diesem Code.
  4. Bestätigen Sie die Maschine in der Oberfläche: Bis dahin wartet sie, statt verbunden zu sein.
Die Bestätigung ist der SchutzEin abhandengekommener Code genügt nicht, um ins Netz zu gelangen. Die Maschine erscheint in der Warteliste und bleibt dort, bis ein Mensch sie hereinlässt.

Die Mitgliedertabelle lesen

SpalteWas sie sagt
AdresseDie dauerhafte Adresse im Segment, über Neuverbindungen hinweg unverändert
VersionDie Client-Version — eine alte hier ist der Grund für die Aktualisierungsschaltfläche
OnlineWie lange diese Sitzung schon läuft; eine Zahl, die ständig zurückspringt, bedeutet eine unstete Leitung
GeschwindigkeitAktueller Durchsatz in beide Richtungen
VerkehrSummen für die Sitzung
SystemBetriebssystem, belegter Speicher und Prozessorlast, alle halbe Minute

Die Systemspalte stammt aus dem, was der Kernel ohnehin weiß; auf der entfernten Maschine wird dafür nichts zusätzlich installiert.

Das Terminal im Browser

Jede Linux-Maschine im Segment lässt sich aus der Oberfläche als Terminal öffnen. Das ist eine gewöhnliche SSH-Sitzung: Die entfernte Maschine prüft Sie selbst, mit ihren eigenen Konten und ihrer eigenen Kennwortregelung. Die Oberfläche speichert diese Zugangsdaten nicht und kann die Prüfung nicht umgehen.

Was es nicht tutEs gibt Ihnen eine Konsole, keinen Weg an der Absicherung der Maschine vorbei. Ist SSH dort abgeschaltet oder das Konto gesperrt, scheitert das Terminal genauso wie jeder andere SSH-Client.

Die Clients aktualisieren

  • Windows. Der Client aktualisiert sich selbst, ohne zu fragen.
  • Linux. Eine Maschine mit alter Version lässt sich aus der Mitgliedertabelle aktualisieren: Die Oberfläche öffnet eine SSH-Sitzung und führt die Paketaktualisierung für Sie aus.
  • Von Hand. Neues Paket herunterladen und wie zuvor installieren; Einladung und Adresse überstehen die Aktualisierung.

Benachrichtigungen

Der Server kann melden, wenn eine Maschine verschwindet oder zurückkehrt, wenn jemand auf Bestätigung wartet und wenn jemand sich nicht anmelden konnte. Die Zustellung erfolgt über Telegram, per E-Mail oder beides, mit Zeitangaben in Ihrer eigenen Zeitzone.

Was zuerst einzuschalten ist„Maschine offline“ für die Geräte, auf die es ankommt, und „wartet auf Bestätigung“. Der Rest wird nützlich, sobald das Netz groß genug ist, dass Sie nicht mehr täglich in die Oberfläche schauen.

Wenn eine Maschine sich nicht verbindet

ErscheinungWo zu suchen ist
elxvnet status zeigt keine VerbindungDie Serveradresse, das Zertifikat oder ein ausgehender Proxy, der TLS aufbricht
Verbunden, aber keine Adresse zugeteiltDie Maschine wartet noch auf Bestätigung in der Oberfläche
Adresse zugeteilt, Nachbarn antworten nichtDie lokale Firewall blockiert den virtuellen Adapter — geben Sie ihn als privates Netz frei
Windows sieht den Adapter, aber keine NetzwerkumgebungFür das Profil dieses Adapters sind Netzwerkerkennung und Dateifreigabe abgeschaltet
Die Verbindung bricht alle paar Minuten abEine Mobilfunkstrecke mit strenger Leerlaufabschaltung oder zwei Clients mit derselben Identität
Alles läuft außer einem ProtokollDieses Protokoll hängt an einem anderen Adapter — prüfen Sie Reihenfolge und Metriken der Schnittstellen
Die schnellste ProbePingen Sie einen Nachbarn über die Adresse. Antwortet die Adresse und der Name nicht, liegt es an der Namensauflösung und nicht am Netz — und das ist ein viel kleineres Übel.

In derselben Rubrik