Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Continuando il racconto su ZeroTier, dalla teoria esposta nell'articolo «Switch Ethernet intelligente per il pianeta Terra», passo alla pratica, in cui:

  • Creeremo e configureremo un controller di rete privato
  • Creeremo una rete virtuale
  • Configureremo e collegheremo nodi ad essa
  • Verificheremo la connettività di rete tra di loro
  • Chiuderemo l'accesso all'interfaccia grafica del controller di rete dall'esterno

Controller di rete

Come già detto in precedenza, per creare reti virtuali, gestirle e connettere nodi, l'utente ha bisogno di un controller di rete, la cui interfaccia grafica (GUI) esiste in due forme:

Opzioni ZeroTier GUI

  • Una da parte degli sviluppatori di ZeroTier, disponibile come soluzione cloud pubblica, offerta secondo il modello SaaS, con quattro piani di abbonamento, incluso uno gratuito ma limitato nel numero di dispositivi gestiti e nel livello di supporto.
  • La seconda - da uno sviluppatore indipendente, un po' semplificata nelle funzionalità, ma disponibile come soluzione open source privata, per l'uso in loco o su risorse cloud.

Nella mia pratica ho utilizzato entrambe e alla fine ho optato per la seconda. La ragione di ciò sono state le avvertenze dello sviluppatore.

«I controller di rete servono come centri di certificazione per le reti virtuali ZeroTier. I file contenenti le chiavi segrete del controller devono essere custoditi con attenzione e archiviati in modo sicuro. La loro compromissione consente a malintenzionati non autorizzati di creare configurazioni di rete fraudolente, mentre la loro perdita porta alla perdita della capacità di controllare e gestire la rete, rendendola di fatto inutilizzabile»

Link alla documentazione

E, inoltre, segni di una propria paranoia sulla sicurezza 🙂

  • Anche se arrivasse il Cheburnet, dovrei mantenere accesso al mio controller di rete;
  • Il controller di rete deve essere utilizzato solo da me, con la possibilità di fornire accesso alle mie persone di fiducia se necessario;
  • Deve esserci la possibilità di limitare l'accesso al controller di rete dall'esterno.

Non vedo particolarmente utile soffermarmi su come distribuire un controller di rete e la GUI per esso su risorse fisiche o virtuali on-premise; anche questo ha tre ragioni:

  • il numero di parole sarà maggiore di quanto previsto
  • di questo si è già parlato è stato raccontato su GitHab dello sviluppatore GUI
  • l'argomento dell'articolo è diverso

Pertanto, scegliendo la via della minore resistenza, utilizzerò in questo racconto un controller di rete con GUI basato su VDS, creato da un modello, gentilmente sviluppato dai miei colleghi di ProHoster.

Impostazione iniziale

Dopo la creazione server dal modello specificato, l'accesso al Web-GUI del controller è effettuato dall'utente tramite il browser, accedendo all'indirizzo https://:3443

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Per impostazione predefinita server è già dotato di un certificato TLS/SSL autofirmato pre-creato. Per me è sufficiente, poiché chiudo l'accesso dall'esterno. Per coloro che desiderano utilizzare altri tipi di certificati, ci sono guida all'installazione su GitHab dello sviluppatore GUI.

Al primo accesso dell'utente nel sistema Accesso con le credenziali di login e password predefinite — admin e password:

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Viene offerta la possibilità di cambiare la password predefinita con quella personalizzata

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Io procedo in modo leggermente diverso — non cambio la password dell'utente esistente, ma creo un nuovo utente — Crea utente.

Assegno un nome al nuovo utente — Nome utente:
Imposto una nuova password — Inserisci nuova password:
Confermo la nuova password — Re-inserisci password:

I caratteri inseriti sono sensibili al maiuscolo — fai attenzione!

Casella di controllo per confermare il cambio di password al prossimo accesso — Cambia password al prossimo accesso: non la spunto.

Per confermare i dati inseriti clicco su Imposta password:

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Poi: effettuo il logout — Logout / Accesso, già con le credenziali del nuovo utente:

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Poi passo alla scheda utenti — Utenti e rimuovo l'utente admin, cliccando sull'icona del cestino, che si trova a sinistra del suo nome.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
In seguito, per cambiare la password dell'utente, è possibile cliccare sul suo nome oppure su imposta password.

Creazione di una rete virtuale

Per creare una rete virtuale, l'utente deve passare alla scheda Aggiungi rete. Da questo punto User è possibile farlo tramite la pagina Home — la pagina principale del Web-GUI, dove viene visualizzato l'indirizzo ZeroTier di questo controller di rete e c'è un link alla pagina dell'elenco delle reti create tramite esso.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Nella pagina Aggiungi rete l'utente assegna un nome alla rete appena creata.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Applicando i dati inseriti — Crea rete l'utente arriva alla pagina con l'elenco delle reti, dove sono indicati:

Nome rete — il nome della rete in forma di link, su cui è possibile fare clic per modificarlo
ID rete — identificativo della rete
dettaglio — link alla pagina con i dettagli della rete
installazione facile — link alla pagina per un'impostazione semplice
membri — link alla pagina di gestione dei nodi

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Per ulteriori impostazioni, seguire il link installazione facile. Nella pagina aperta, l'utente imposta l'intervallo degli indirizzi IPv4 per la rete da creare. Questo può essere fatto automaticamente premendo il pulsante Genera indirizzo di rete oppure manualmente, inserendo nel campo corrispondente la maschera di rete CIDR.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Una volta confermata l'immissione dei dati, è necessario tornare alla pagina con l'elenco delle reti tramite il pulsante Indietro. A questo punto, la configurazione principale della rete può considerarsi completata.

Connessione dei nodi di rete

  1. Per iniziare, sul nodo che l'utente desidera connettere alla rete, è necessario installare il servizio ZeroTier One.Cos'è ZeroTier One?ZeroTier One è un servizio che funziona su laptop, computer desktop, server, macchine virtuali e container, e fornisce connessioni a una rete virtuale tramite una porta di rete virtuale, similmente a un client VPN. Dopo aver installato e avviato il servizio, è possibile connettersi alle reti virtuali utilizzando i loro indirizzi a 16 cifre. Ogni rete appare come una porta di rete virtuale nel sistema, che si comporta come una normale porta Ethernet.
    I collegamenti ai pacchetti e i comandi di installazione possono essere trovati nella pagina del produttore. È possibile gestire il servizio installato tramite il terminale della riga di comando (CLI) con diritti di amministratore/root. In Windows/MacOS anche tramite interfaccia grafica. In Android/iOS solo tramite GUI.
  2. Verifica del successo dell'installazione del servizio:CLI:
    zerotier-cli status

    Risultato:

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Il semplice fatto che l'applicazione sia in esecuzione e che ci sia una riga con Node ID con l'indirizzo del nodo.

  3. Connessione del nodo alla rete:CLI:
    zerotier-cli join

    Risultato:

    200 join OK

    GUI:

    Windows: facendo clic con il tasto destro sull'icona ZeroTier One nella tray di sistema e selezionando l'opzione — Unisciti alla rete.

    Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
    MacOS: Apri l'applicazione ZeroTier One nel menu bar, se non è già avviata. Clicca sull'icona ⏁ e seleziona Unisciti alla rete.

    Android/iOS: + (immagine del segno più) nell'app

    Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
    Nel campo che appare, inserisci quanto indicato nella GUI del controller di rete ID rete, e premi Unisciti / Aggiungi rete.

  4. Assegnazione dell'indirizzo IP al nodo
    Ora torniamo al controller di rete e nella pagina con l'elenco delle reti seguiamo il link membri. Se sullo schermo appare un'immagine simile a questa, significa che il tuo controller di rete ha ricevuto la richiesta di conferma della connessione alla rete dal nodo in fase di connessione.Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
    Su questa pagina lasciamo tutto com'è e seguiamo il link Assegnazione IP andiamo alla pagina di destinazione del nodo con l'indirizzo IP:Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
    Dopo aver assegnato l'indirizzo, premi il pulsante Retro torniamo alla pagina dell'elenco dei nodi connessi e diamo un nome — Nome membro e selezioniamo la casella di controllo per autorizzare il nodo nella rete — Autorizzato. A proposito, questa casella di controllo è molto comoda per disconnettere/riconnettere il nodo dalla rete in seguito.Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
    Salviamo le modifiche utilizzando il pulsante Aggiorna.
  5. Verifica dello stato di connessione del nodo alla rete:
    Per controllare lo stato di connessione sul nodo stesso eseguiamo:
    CLI:
    zerotier-cli listnetworks

    Risultato:

    200 elenco reti
    200 elenco reti 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATO ethernet_32774 10.10.10.2/24

    GUI:

    Lo stato della rete dovrebbe essere OK

    Per collegare gli altri nodi ripetiamo le operazioni da 1 a 5 per ognuno di essi.

 

Verifica della connettività di rete dei nodi

Lo faccio eseguendo il comando ping su un dispositivo connesso alla rete che attualmente gestisco.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1
Nello screenshot del Web-GUI del controller si possono vedere tre nodi connessi alla rete:

  1. ZTNCUI — 10.10.10.1 — il mio controller di rete con GUI — VDS in uno dei data center ProHoster. Per il funzionamento normale non è necessario aggiungerlo alla rete, ma l'ho fatto poiché voglio limitare l'accesso all'interfaccia web dall'esterno. Di questo parlerò più avanti.
  2. MyComp — 10.10.10.2 — il mio computer di lavoro — PC fisico
  3. Backup — 10.10.10.3 — VDS in un altro data center.

Pertanto, dal mio computer di lavoro verifico la disponibilità degli altri nodi con i comandi:

ping 10.10.10.1

Pingando 10.10.10.1 con 32 byte di dati:
Risposta da 10.10.10.1: byte=32 tempo=14ms TTL=64
Risposta da 10.10.10.1: byte=32 tempo=4ms TTL=64
Risposta da 10.10.10.1: byte=32 tempo=7ms TTL=64
Risposta da 10.10.10.1: byte=32 tempo=2ms TTL=64

Statistiche del ping per 10.10.10.1:
Pacchetti: Inviati = 4, Ricevuti = 4, Persi = 0 (0% di perdita),
Tempi di andata e ritorno approssimativi in millisecondi:
Minimo = 2ms, Massimo = 14ms, Medio = 6ms

ping 10.10.10.3

Pingando 10.10.10.3 con 32 byte di dati:
Risposta da 10.10.10.3: byte=32 tempo=15ms TTL=64
Risposta da 10.10.10.3: byte=32 tempo=4ms TTL=64
Risposta da 10.10.10.3: byte=32 tempo=8ms TTL=64
Risposta da 10.10.10.3: byte=32 tempo=4ms TTL=64

Statistiche del ping per 10.10.10.3:
Pacchetti: Inviati = 4, Ricevuti = 4, Persi = 0 (0% di perdita),
Tempi di andata e ritorno approssimativi in millisecondi:
Minimo = 4ms, Massimo = 15ms, Medio = 7ms

L'utente ha il diritto di utilizzare altri strumenti per verificare la disponibilità dei nodi nella rete, sia quelli integrati nel sistema operativo che strumenti come NMAP, Advanced IP Scanner, ecc.

Nascondiamo l'accesso al GUI del controller di rete dall'esterno.

In generale, per ridurre il rischio di accesso non autorizzato al VDS su cui si trova il mio controller di rete, posso utilizzare il firewall nel pannello di controllo di ProHoster. Questo argomento richiederebbe un articolo a parte. Quindi, qui mostrerò come garantire l'accesso al GUI del controller solo dalla rete che ho creato in questo articolo.

Per fare ciò, è necessario connettersi tramite SSH al VDS su cui si trova il controller, aprire il file di configurazione con il comando:

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

Nel file aperto, dopo la riga «HTTPS_PORT=3443», che contiene l'indirizzo della porta tramite cui si apre il GUI, bisogna aggiungere una riga aggiuntiva con l'indirizzo tramite cui si aprirà il GUI — nel mio caso è HTTPS_HOST=10.10.10.1.

Poi salverò il file

Ctrl+C
Y
Invio 

ed eseguirò il comando:

systemctl restart ztncui

E tutto, ora il GUI del mio controller di rete è accessibile solo dai nodi della rete 10.10.10.0.24.

In conclusione

Con questo voglio concludere la prima parte della guida pratica sulla creazione di reti virtuali basate su ZeroTier. Attendo i vostri commenti.

Nel frattempo, per passare il tempo fino alla pubblicazione della prossima parte, in cui spiegherò come unire una rete virtuale con una fisica, come organizzare una modalità «road warrior» e altro ancora, vi propongo di provare a organizzare la vostra rete virtuale con un controller di rete privato con GUI basato su VDS dal marketplace di sito ProHoster. Inoltre, per tutti i nuovi clienti è disponibile un periodo di prova gratuito di 3 giorni!

P.S. Sì! Per poco non me ne sono ricordato! È possibile rimuovere un nodo dalla rete con il comando nel CLI di quel nodo.

zerotier-cli leave

200 leave OK

oppure con il comando Delete nel GUI del client sul nodo.

-> Introduzione. Parte teorica. Switch Ethernet intelligente per il pianeta Terra
-> Guida pratica alla costruzione di reti virtuali. Parte 1
-> Guida pratica alla costruzione di reti virtuali. Parte 2

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 1

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster