Ciò non ha richiesto molto tempo, sebbene ciascuno di questi nodi sia stato aggiunto alla rete uno per uno. Ma cosa succede se è necessario connettere non solo uno, ma tutti i nodi della rete fisica alla rete virtuale ZeroTier? Questo compito è nato un giorno in cui ero perplesso dal problema dell'organizzazione dell'accesso da una rete virtuale a una stampante e un router di rete.
Ho provato ad utilizzare il metodo sopra descritto, ma non è stato rapido e non è stato facile ovunque. Ad esempio, una stampante di rete: non puoi semplicemente collegarla. Mikrotik - ZeroTier non supporta. Cosa fare? Dopo aver cercato molto su Google e analizzato l'hardware, sono giunto alla conclusione che è necessario organizzare un bridge di rete.
Ponte di rete (anche ponte dall'inglese bridge) è un dispositivo di rete di secondo livello del modello OSI, progettato per combinare segmenti (sottoreti) di una rete di computer in un'unica rete.
Voglio condividere la storia di come ho fatto questo in questo articolo..
Quanto ci costa costruire un ponte...
Per cominciare, come amministratore, dovevo decidere quale nodo della rete avrebbe funzionato da ponte. Dopo aver studiato le opzioni, mi sono reso conto che potrebbe essere qualsiasi dispositivo informatico in grado di organizzare un ponte tra le interfacce di rete. Può diventare come un router: un dispositivo eseguendo OpenWRT o Attrezzatura della serie RUT di Teltonika, così come un normale server o computer.
Inizialmente, ovviamente, avevo considerato l'utilizzo di un router con OpenWRT a bordo. Ma dato che il Mikrotik esistente mi si addice perfettamente, anche se non supporta l'integrazione con ZeroTier, e non voglio davvero pervertire e "ballare con un tamburello", ho deciso di utilizzare un computer come bridge di rete. Si tratta cioè di un Raspberry Pi 3 Modello B costantemente connesso alla rete fisica su cui è installata l'ultima versione di Raspbian, un sistema operativo basato su Debian Buster.
Per poter organizzare un bridge, sul dispositivo deve essere disponibile un'interfaccia di rete che non viene utilizzata da altri servizi. Nel mio caso la rete Ethernet principale era già in uso, quindi ne ho organizzata una seconda. Per questo compito è stato utilizzato un adattatore USB-Ethernet basato sul chipset RTL8152 di Realtek.
Dopo aver collegato l'adattatore a una porta USB libera, aver aggiornato e riavviato il sistema:
Ho controllato se il sistema vede l'adattatore Ethernet USB:
sudo lsusb
Dopo aver analizzato i dati ottenuti
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
Mi ha fatto piacere notare che il dispositivo 004 è solo il mio adattatore.
Successivamente, ho chiarito quale interfaccia di rete è 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
Si è scoperto eth1 🙂 E ora posso configurarlo e il bridge di rete.
Quello che in realtà ho fatto è stato seguire l'algoritmo seguente:
Pacchetti di gestione del bridge di rete installati:
Eseguito il comando per disabilitare l'indirizzo IP ZeroTier e la gestione del percorso:
sudo zerotier-cli set <networkID> allowManaged=0
Successivamente sul controller di rete:
В Reti cliccato su dettaglio, ho trovato e seguito il collegamento v4AssignMode e disabilitato l'assegnazione automatica degli indirizzi IP deselezionando la casella di controllo Assegnazione automatica dal pool di assegnazione IP
Successivamente, ho autorizzato il nodo connesso impostando il nome e selezionando le caselle di controllo Autorizzato и Ponte attivo. Non ho assegnato un indirizzo IP.
Quindi è tornato a configurare il bridge di rete sul nodo, per il quale ha aperto il file di configurazione dell'interfaccia di rete per la modifica tramite terminale:
Где eth1 — un adattatore Ethernet USB collegato a cui non è stato assegnato un indirizzo IP. br0— viene creato un bridge di rete con un indirizzo IP permanente assegnato dall'intervallo di indirizzi della mia rete fisica. ztXXXXXXXXX — il nome dell'interfaccia virtuale ZeroTier, riconosciuta dal comando:
sudo ifconfig
Dopo aver inserito le informazioni, ho salvato il file di configurazione e ricaricato i servizi di rete con il comando:
sudo /etc/init.d/networking restart
Per verificare la funzionalità del bridge, ho eseguito il comando:
sudo brctl show
Secondo i dati ricevuti, il ponte è rialzato.
bridge name bridge id STP enabled interfaces
br0 8000.00e04c360769 no eth1
ztXXXXXXXX
Successivamente sono passato al controller di rete per impostare il percorso.
Perché ho seguito il collegamento nell'elenco dei nodi della rete? Assegnazione IP ponte di rete. Successivamente, nella finestra che si apre, fai clic su Percorsi gestiti. Sono andato a una nuova pagina, dove come Target ho 0.0.0.0 / 0, ma come Gateway — Indirizzo IP del bridge di rete dall'intervallo di indirizzi della rete dell'organizzazione, specificato in precedenza. Nel mio caso 192.168.0.10
Confermò i dati inseriti e cominciò a verificare la connettività di rete dei nodi, effettuando il ping del nodo della rete virtuale dal nodo della rete fisica e viceversa.
È tutto!
Tuttavia, a differenza del prototipo da cui sono stati presi gli screenshot, gli indirizzi IP dei nodi della rete virtuale appartengono allo stesso intervallo degli indirizzi IP dei nodi di quella fisica. Questo modello è possibile nel bridging di reti, l'importante è che non si sovrappongano agli indirizzi distribuiti dal server DHCP.
In questo articolo non parlerò separatamente della creazione di un bridge di rete sul lato host che esegue MS Windows e altre distribuzioni Linux: Internet è piena di materiale su questo argomento. Per quanto riguarda le impostazioni lato controller di rete, sono identiche a quelle sopra descritte.
Voglio solo sottolineare che Raspberry PI è uno strumento economico e conveniente per connettere le reti con ZeroTier e non solo come soluzione stazionaria. Gli outsourcer, ad esempio, possono utilizzare un bridge di rete preconfigurato basato su Raspberry PI per unire rapidamente la rete fisica del cliente servito con quelle virtuali basate su ZeroTier.
Vorrei concludere questa parte della storia. Attendo con ansia domande, risposte e commenti, perché è sulla base di essi che costruirò il contenuto del prossimo articolo. Nel frattempo ti suggerisco di provare a organizzare la tua rete virtuale utilizzando un controller di rete privato con una GUI basata su VDS dal marketplace in poi sito web RUVDS. Inoltre, tutti i nuovi clienti hanno un periodo di prova gratuito di 3 giorni!