Durante i primi cinque passaggi descritti nell'articolo 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.
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 o , 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 rebootHo controllato se il sistema vede l'adattatore USB Ethernet:
sudo lsusbAnalizzando 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 hubHo 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 - ZeroTier ONE:
curl -s https://install.zerotier.com | sudo bash - 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

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.

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/interfacesDove 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 ifconfigDopo aver inserito le informazioni, ho salvato il file di configurazione e riavviato i servizi di rete con il comando:
sudo /etc/init.d/networking restartPer 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
ztXXXXXXXXSuccessivamente, 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

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. RUVDS. Inoltre, tutti i nuovi clienti hanno diritto a un periodo di prova gratuito di 3 giorni!
->
->
->
Fonte: habr.com
