Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 2

Durante i primi cinque passaggi descritti nell'articolo Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 1 Abbiamo collegato tre nodi geograficamente distanti con una rete virtuale. Uno dei quali si trova nella rete fisica, gli altri due si trovano in due DC separati.  

Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 2
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:

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

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:
    sudo apt-get install bridge-utils
  • installato Livello Zero UNO:
     

    curl -s https://install.zerotier.com | sudo bash
  • Collegato alla rete ZeroTier esistente:
    sudo zerotier-cli join <Network ID>
  • 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

Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 2
Successivamente, ho autorizzato il nodo connesso impostando il nome e selezionando le caselle di controllo Autorizzato и Ponte attivo. Non ho assegnato un indirizzo IP.

Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 2
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:

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

Где 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

Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 2
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!

-> Introduzione. Parte teorica. Switch Ethernet intelligente per il pianeta Terra
-> Una guida pratica per costruire reti virtuali. Parte 1
-> Una guida pratica per costruire reti virtuali. Parte 2

Alimentato da ZeroTier. Una guida pratica per costruire reti virtuali. Parte 2

Fonte: habr.com

Aggiungi un commento