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.
sudo DOMAIN=vnet.example.com sh install.sh
# danach https://vnet.example.com/admin öffnen
# als admin / admin anmelden und das Kennwort ändern
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.
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
cd "C:\Program Files\ELX-VNetwork"
elxvnet join -server https://vnet.example.com -invite ELX-XXXX-XXXX-XXXX
elxvnet -service restart
elxvnet 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.
- Legen Sie in der Oberfläche ein Segment an und geben Sie ihm einen Namen, den Sie in einem Jahr noch erkennen.
- Erzeugen Sie einen Einladungscode — einmalig verwendbar oder offen für eine Reihe von Maschinen.
- Installieren Sie den Client mit diesem Code.
- Bestätigen Sie die Maschine in der Oberfläche: Bis dahin wartet sie, statt verbunden zu sein.
Die Mitgliedertabelle lesen
| Spalte | Was sie sagt |
|---|---|
| Adresse | Die dauerhafte Adresse im Segment, über Neuverbindungen hinweg unverändert |
| Version | Die Client-Version — eine alte hier ist der Grund für die Aktualisierungsschaltfläche |
| Online | Wie lange diese Sitzung schon läuft; eine Zahl, die ständig zurückspringt, bedeutet eine unstete Leitung |
| Geschwindigkeit | Aktueller Durchsatz in beide Richtungen |
| Verkehr | Summen für die Sitzung |
| System | Betriebssystem, 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.
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.
Wenn eine Maschine sich nicht verbindet
| Erscheinung | Wo zu suchen ist |
|---|---|
elxvnet status zeigt keine Verbindung | Die Serveradresse, das Zertifikat oder ein ausgehender Proxy, der TLS aufbricht |
| Verbunden, aber keine Adresse zugeteilt | Die Maschine wartet noch auf Bestätigung in der Oberfläche |
| Adresse zugeteilt, Nachbarn antworten nicht | Die lokale Firewall blockiert den virtuellen Adapter — geben Sie ihn als privates Netz frei |
| Windows sieht den Adapter, aber keine Netzwerkumgebung | Für das Profil dieses Adapters sind Netzwerkerkennung und Dateifreigabe abgeschaltet |
| Die Verbindung bricht alle paar Minuten ab | Eine Mobilfunkstrecke mit strenger Leerlaufabschaltung oder zwei Clients mit derselben Identität |
| Alles läuft außer einem Protokoll | Dieses Protokoll hängt an einem anderen Adapter — prüfen Sie Reihenfolge und Metriken der Schnittstellen |