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 alla costruzione di reti virtuali. Parte 1 abbiamo collegato tre nodi geograficamente distanti tra loro mediante una rete virtuale. Uno di essi è situato in una rete fisica, mentre gli altri due si trovano in due centri dati separati.  

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. Ma come fare se si devono collegare alla rete virtuale ZeroTier non uno, ma tutti i nodi presenti nella rete fisica? Questa sfida si è posta una volta davanti a me, quando ho iniziato a pensare a come organizzare l'accesso dalla rete virtuale alla stampante di rete e al router. 

Ho provato a utilizzare il metodo sopra descritto, ma non è stato veloce e non semplice ovunque. Per esempio, non puoi semplicemente collegare una stampante di rete. Mikrotik non è supportato da ZeroTier. Cosa fare? Dopo aver cercato molto e analizzato la materia, sono giunto alla conclusione che è necessario organizzare un ponte di rete.

Ponte di rete (anche bridge dal termine inglese bridge) è un 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 su come ho fatto questo. 

Cosa ci vuole per costruire un ponte…

Per iniziare, come amministratore, dovevo decidere quale nodo della rete avrebbe funzionato come ponte. Esaminando le opzioni, ho capito che potrebbe essere qualsiasi dispositivo informatico in grado di organizzare un ponte tra le interfacce di rete. Può essere un router - un dispositivo basato su OpenWRT o l'hardware della serie RUT di Teltonika, così come un normale server o computer. 

Inizialmente, stavo considerando l'uso di un router con OpenWRT installato. Ma considerando che il Mikrotik esistente mi soddisfa pienamente, anche se non supporta l'integrazione con ZeroTier, non voglio complicarmi inutilmente, quindi ho deciso di usare un computer come ponte di rete. In particolare, un Raspberry Pi 3 Model B sempre connesso alla rete fisica e in esecuzione con l'ultima versione di Raspbian, un sistema operativo basato su Debian Buster.

Per organizzare il bridge, deve essere disponibile un'interfaccia di rete non utilizzata da altri servizi sul dispositivo. Nel mio caso, l'Ethernet principale era già in uso, quindi ne ho creato un'altra. Ho utilizzato un adattatore USB-Ethernet basato sul chipset RTL8152 di Realtek per questo compito.

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

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

Ho controllato se il sistema vede 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 soddisfazione che il Device 004 è proprio il mio adattatore.

Ho quindi verificato quale interfaccia di rete è stata assegnata a questo adattatore:

dmesg | grep 8152

[    2.400424] usb 1-1.3: Nuovo dispositivo USB trovato, idVendor=0bda, idProduct=8152, bcdDevice=20.00
[    6.363837] usbcore: registrato un nuovo driver dell'interfaccia r8152
[    6.669986] r8152 1-1.3:1.0 eth1: v1.09.9
[    8.808282] r8152 1-1.3:1.0 eth1: carrier on

È emerso eth1 🙂 Ora posso configurarlo e il bridge di rete. 

Ecco cosa ho fatto seguendo il seguente algoritmo:

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

Poi sul mio controller di rete:

In Reti ho cliccato su dettaglio, ho trovato e sono andato al link v4AssignMode e ho disattivato 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 connesso, assegnando un nome e selezionando le caselle Autorizzato e Active Bridge. Non ho assegnato nessun indirizzo IP.

Powered by ZeroTier. Guida pratica alla costruzione di reti virtuali. Parte 2
Poi sono tornato alla configurazione del bridge di rete sul nodo, aprendo per modificare 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 — l'adattatore USB Ethernet collegato, a cui non ho assegnato 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 scoperto 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 ponte è 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ò, nell'elenco dei nodi di rete, ho seguito il link Assegnazione IP del ponte di rete. Poi nella finestra aperta ho cliccato su Rotte gestite. Sono passato a una nuova pagina, dove come Target 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 controllare la connettività di rete dei nodi, pingando da un nodo della rete fisica a un nodo della rete virtuale e viceversa.

Ecco tutto!

A differenza del prototipo da cui sono stati presi gli screenshot, gli indirizzi IP dei nodi della rete virtuale sono nello stesso intervallo degli indirizzi IP dei nodi della rete fisica. Con un collegamento a ponte delle reti, questo modello è possibile, a patto che non si sovrappongano con gli indirizzi forniti dal server DHCP.

Non parlerò della configurazione del ponte di rete sul nodo gestito da MS Windows e da altre distribuzioni Linux in questo articolo — ci sono molte risorse online a riguardo. Per quanto riguarda la configurazione del controller di rete — è identica a quella descritta sopra.

Voglio solo sottolineare che il Raspberry PI è uno strumento economico e versatile per unire reti con ZeroTier, e non solo come soluzione stazionaria. Ad esempio, i fornitori di servizi possono utilizzare un ponte di rete preconfigurato basato su Raspberry PI per unire rapidamente la rete fisica del cliente servito con le reti virtuali basate su ZeroTier.

Con questo concludo questa parte della narrazione. Attendo domande, opinioni e commenti — poiché sarà proprio su questa base 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. sito RUVDS. Inoltre, tutti i nuovi clienti hanno diritto a 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