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

Durante i primi cinque passaggi descritti nell'articolo Powered by ZeroTier. Guida pratica per costruire reti virtuali. Parte 1 abbiamo collegato con una rete virtuale tre nodi geograficamente distanti tra loro. Uno di questi è situato nella rete fisica, mentre gli altri due si trovano in due data center distanti.  

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 2
Non ci è voluto molto tempo, anche se ciascuno di questi nodi è stato aggiunto alla rete uno alla volta. E se bisogna connettere non solo uno, ma tutti i nodi presenti nella rete fisica alla rete virtuale di ZeroTier? Questo è un compito che mi sono trovato ad affrontare quando ho iniziato a pensare a come organizzare l'accesso dalla rete virtuale a una stampante di rete e a un router. 

Ho provato a utilizzare il metodo descritto sopra — non è risultato né veloce né così semplice ovunque. Ad esempio, non puoi semplicemente connettere una stampante di rete. Mikrotik — ZeroTier non lo supporta. Cosa fare? Dopo aver cercato a lungo su Google e analizzato la materia, sono giunto alla conclusione che dovevo creare un ponte di rete.

Ponte di rete (anche bridge dall'inglese bridge) — dispositivo di rete di secondo livello del modello OSI, progettato per unire segmenti (sottoreti) di una rete informatica in un'unica rete.

Voglio condividere in questo articolo la storia di come l'ho fatto. 

Cosa ci costerebbe costruire un ponte…

Per cominciare, io, come amministratore, dovevo decidere quale nodo della rete avrebbe dovuto fungere da ponte. Dopo aver esaminato le opzioni, ho capito che qualsiasi dispositivo informatico capace di creare un ponte tra le interfacce di rete potrebbe funzionare. Potrebbe essere un router — un dispositivo sotto OpenWRT o l'hardware della serie RUT della Teltonika, oppure un normale server o computer. 

Inizialmente, ovviamente, ho considerato l'uso di un router con OpenWRT a bordo. Ma considerando il fatto che il Mikrotik esistente mi soddisfa completamente, sebbene non supporti l'integrazione con ZeroTier, e non voglio complicarmi la vita con soluzioni strane, ho deciso di utilizzare un computer come ponte di rete. Precisamente, un Raspberry Pi 3 Model B sempre collegato alla rete fisica, in esecuzione con l'ultima versione di Raspbian — un sistema operativo basato su Debian Buster.

Per organizzare un bridge, è necessario che il dispositivo disponga di un'interfaccia di rete non utilizzata da altri servizi. Nel mio caso, l'Ethernet principale era già utilizzata, quindi ho creato una seconda interfaccia. Ho usato un adattatore USB-Ethernet basato sul chipset RTL8152 di Realtek per questo compito.

Dopo aver collegato l'adattatore a una porta USB disponibile, aggiornato e riavviato il sistema:

sudo apt update && sudo apt upgrade -y
sudo reboot

ho verificato se il sistema riconosceva l'adattatore USB Ethernet:

sudo lsusb

Analizzando i dati ricevuti

Bus 001 Device 004: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ho notato con piacere che il Device 004 è proprio il mio adattatore.

Successivamente, ho verificato quale interfaccia di rete fosse assegnata a questo adattatore:

dmesg | grep 8152

[    2.400424] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: registered new interface driver r8152
[    6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[    8.808282] r8152 1-1.3:1.0 eth1: carrier on

, che eth1 🙂 E adesso posso configurarlo e creare il bridge di rete. 

Ecco cosa ho fatto seguendo l'algoritmo indicato di seguito:

  • Ho installato i pacchetti per la gestione del ponte di rete:
    sudo apt-get install bridge-utils
  • Ho installato ZeroTier ONE:
     
    curl -s https://install.zerotier.com | sudo bash
  • Ho connesso a una rete ZeroTier esistente:
    sudo zerotier-cli join
  • Ho eseguito il comando per disabilitare la gestione degli indirizzi IP e delle route di ZeroTier:
    sudo zerotier-cli set  allowManaged=0

Poi nel mio controller di rete:

In Reti ho cliccato su dettagli, ho trovato e sono andato al link v4AssignMode e ho disabilitato l'assegnazione automatica degli indirizzi IP, deselezionando la casella Auto-assign from IP Assignment Pool

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 2
Dopo di che ho autorizzato il nodo in connessione, assegnando un nome e selezionando le caselle Autorizzato e Active Bridge. Non ho assegnato un indirizzo IP.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 2
Poi sono tornato a configurare il ponte di rete sul nodo, per il quale ho aperto in modifica tramite terminale il file di configurazione delle interfacce di rete:

sudo nano /etc/network/interfaces

Dove ho aggiunto le seguenti righe

auto eth1
allow-hotplug eth1
iface eth1 inet manual

auto br0
allow-hotplug br0
iface br0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
        bridge_ports eth1 ztXXXXXXXX
        bridge_fd 0
        bridge_maxage 0

Dove eth1 — adattatore USB Ethernet collegato, a cui non ho assegnato un indirizzo IP.
br0 — un ponte di rete creato con un indirizzo IP statico assegnato dall'intervallo degli indirizzi della mia rete fisica.
ztXXXXXXXX — il nome dell'interfaccia virtuale ZeroTier, che ho ottenuto con il comando:

sudo ifconfig

Dopo aver inserito le informazioni, ho salvato il file di configurazione e riavviato i servizi di rete con il comando:

sudo /etc/init.d/networking restart

Per verificare il funzionamento del ponte, ho eseguito il comando:

sudo brctl show   

Dai dati ricevuti, il bridge è attivo.

nome del bridge	bridge id		STP abilitato	interfacce
br0		8000.00e04c360769	no		eth1
							ztXXXXXXXX

Successivamente, sono passato al controller di rete per impostare la rotta.

Per fare ciò, nella lista dei nodi della rete, ho cliccato sul link Assegnazione IP del ponte di rete. Poi nella finestra aperta ho cliccato su Managed routes. Sono passato a una nuova pagina, dove come Obiettivo ha indicato 0.0.0.0/0, e come Gateway — l'indirizzo IP del ponte di rete dall'intervallo degli indirizzi della rete dell'organizzazione, impostato in precedenza. Nel mio caso 192.168.0.10

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 2
Ho confermato i dati inseriti e ho iniziato a verificare la connettività di rete dei nodi, pingando dal nodo della rete fisica al nodo della rete virtuale e viceversa.

Ecco tutto!

A differenza del prototipo da cui sono state fatte le schermate, ho indirizzi IP per i nodi della rete virtuale che appartengono allo stesso intervallo degli indirizzi IP dei nodi fisici. Utilizzando una connessione bridge tra le reti, questo modello è possibile, a patto che non si sovrappongano agli indirizzi forniti dal server DHCP.

Non intendo approfondire la configurazione del bridge di rete sui nodi con MS Windows e altri distribuzioni Linux in questo articolo — ci sono molte risorse disponibili online su questo tema. Per quanto riguarda la configurazione sul controller di rete, è identica a quella descritta sopra.

Voglio solo sottolineare che Raspberry PI è uno strumento economico e conveniente per unire rete con ZeroTier, e non solo come soluzione fissa. Ad esempio, i fornitori di servizi possono utilizzare un bridge di rete preconfigurato basato su Raspberry PI per unire rapidamente la rete fisica del cliente servito a quelle virtuali basate su ZeroTier.

Concludo questa parte del racconto. Attendo domande, feedback e commenti, poiché sarà su queste basi che costruirò il contenuto del prossimo articolo. Nel frattempo, vi invito a provare a organizzare la vostra rete virtuale utilizzando un controller di rete privato con GUI basato su VDS del marketplace su sito RUVDS. Inoltre, tutti i nuovi clienti possono usufruire di un periodo di prova gratuito di 3 giorni!

-> 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 2

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