ELX-Software

ELX-VNetwork

Documentazione

Da un VPS vuoto alla rete funzionante — e cosa fare quando una macchina non vuole entrare.

Allestire il server

Al server serve una macchina con indirizzo pubblico e un nome di dominio che punti a essa. Il resto lo fa lo script di installazione: registra l'unità systemd, configura nginx e ottiene un certificato.

Sul server con dominio, da root
sudo DOMAIN=vnet.example.com sh install.sh
# poi aprite https://vnet.example.com/admin
# entrate come admin / admin e cambiate la password
Il dominio deve risolversi primaIl certificato viene rilasciato dimostrando il controllo del nome: il record DNS deve quindi puntare al server prima che lo script parta. Se non è così, lo script si ferma esattamente a quel passo e nient'altro si rompe.

Le richieste sono modeste: un core e 512 MB di memoria reggono decine di macchine collegate, perché il server inoltra le trame invece di elaborarle.

Installare il client

Al client servono due cose: l'indirizzo del vostro server e un codice d'invito da esso. Tutto il resto — scheda, servizio, indirizzo — se lo predispone da sé.

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, da un prompt di amministratore
cd "C:\Program Files\ELX-VNetwork"
elxvnet join -server https://vnet.example.com -invite ELX-XXXX-XXXX-XXXX
elxvnet -service restart
Da qui comincia ogni verificaelxvnet status stampa lo stato del collegamento, l'indirizzo assegnato e tutti i vicini del segmento. La maggior parte delle domande trova risposta in quella sola riga, prima di aprire qualsiasi altra cosa.

Segmenti e inviti

Un segmento è una rete indipendente. Le macchine che vi stanno dentro si vedono; quelle di segmenti diversi no, pur condividendo un server. Un sito, un cliente o un banco di prova ne ricevono ciascuno uno.

  1. Create un segmento nell'interfaccia e dategli un nome che riconoscerete ancora fra un anno.
  2. Generate un codice d'invito — a uso singolo o aperto per un lotto di macchine.
  3. Installate il client con quel codice.
  4. Approvate la macchina nell'interfaccia: fino ad allora attende invece di essere collegata.
L'approvazione è la protezioneUn codice sfuggito non basta a entrare nella rete. La macchina compare nell'elenco d'attesa e vi resta finché un essere umano non la fa entrare.

Leggere la tabella dei membri

ColonnaCosa dice
IndirizzoL'indirizzo permanente nel segmento, immutato da un collegamento all'altro
VersioneLa versione del client — una vecchia qui è la ragione del pulsante di aggiornamento
In lineaDa quanto dura questa sessione; un numero che riparte di continuo indica una linea instabile
VelocitàIl flusso attuale nei due sensi
TrafficoI totali della sessione
SistemaSistema operativo, memoria occupata e carico del processore, ogni mezzo minuto

La colonna del sistema viene da ciò che il kernel sa già; sulla macchina remota non si installa nulla in più per ottenerla.

Il terminale del browser

Qualsiasi macchina Linux del segmento si apre come terminale dall'interfaccia. È una normale sessione SSH: è la macchina remota ad autenticarvi, con i propri account e le proprie regole sulle password. L'interfaccia non conserva quelle credenziali e non può aggirare la verifica.

Cosa non faVi dà una console, non un modo per aggirare la protezione della macchina. Se lì SSH è disattivato o l'account è bloccato, il terminale fallirà esattamente come qualunque altro client SSH.

Aggiornare i client

  • Windows. Il client si aggiorna da solo, senza chiedere nulla.
  • Linux. Una macchina rimasta a una versione vecchia si aggiorna dalla tabella dei membri: l'interfaccia apre una sessione SSH ed esegue l'aggiornamento del pacchetto al posto vostro.
  • A mano. Scaricate il nuovo pacchetto e installatelo come prima; invito e indirizzo sopravvivono all'aggiornamento.

Avvisi

Il server può segnalare che una macchina è sparita o è tornata, che qualcuno attende approvazione e che qualcuno ha sbagliato la password. La consegna avviene via Telegram, per posta elettronica o in entrambi i modi, con gli orari nel vostro fuso.

Cosa attivare per primo«Macchina non in linea» per le apparecchiature che contano, e «in attesa di approvazione». Il resto diventa utile quando la rete è grande abbastanza da non farvi più guardare l'interfaccia ogni giorno.

Quando una macchina non si collega

SintomoDove guardare
elxvnet status non mostra alcun collegamentoL'indirizzo del server, il certificato, oppure un proxy in uscita che intercetta il TLS
Collegato, ma nessun indirizzo assegnatoLa macchina attende ancora l'approvazione nell'interfaccia
Indirizzo assegnato, i vicini non rispondonoIl firewall locale blocca la scheda virtuale — dichiaratela come rete privata
Windows vede la scheda ma non le risorse di retePer il profilo di quella scheda sono disattivate la scoperta della rete e la condivisione dei file
Il collegamento cade ogni pochi minutiUna linea mobile con timeout d'inattività severo, oppure due client installati con la stessa identità
Funziona tutto tranne un protocolloQuel protocollo è legato a un'altra scheda — verificate ordine e metriche delle interfacce
La prova più rapidaFate un ping a un vicino usando l'indirizzo. Se l'indirizzo risponde e il nome no, il problema è la risoluzione dei nomi e non la rete — ed è un guaio molto minore.

Nella stessa sezione