Un bridge è un dispositivo che separa due o più segmenti di rete all'interno di una rete logica. Un bridge è un gradino sopra l'Hub (per impostazione predefinita, un bridge Linux funge da Switch):esamina la destinazione del pacchetto prima dell'invio. Se l'indirizzo di destinazione non è sull'altro lato del bridge, il pacchetto viene eliminato. Considerando che un hub è il più semplice dei dispositivi di rete, qualsiasi pacchetto di dati proveniente da una porta viene inviato a tutte le altre porte. Spetta quindi al computer ricevente decidere se accettare o meno il pacchetto. Di solito, gli hub vengono utilizzati su reti di piccole dimensioni in cui la quantità di dati che attraversa la rete non è molto elevata. Per il mio esperimento sull'hypervisor Xen, volevo fare in modo che il bridge Linux fungesse da Hub anziché da Switch. Ecco come ho ottenuto lo stesso risultato:
Come trovare l'elenco dei bridge Linux creati sull'host
Innanzitutto, dobbiamo trovare l'elenco dei bridge Linux creati sull'host e creare quello corrispondente come Hub. Esegui il comando seguente per trovare l'elenco dei bridge Linux sull'host:
[root@centos-1 ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes xenbr0 8000.feffffffffff no vif33.0 vif31.0 vif19.0 vif0.0 peth0
Come fare in modo che un bridge funga da hub?
Esegui i comandi seguenti per fare in modo che il bridge funga da hub. Qui, impostazione impostazione a 0 , stai creando bridge per dimenticare tutti gli indirizzi MAC che vede e reagire come un hub.
brctl stp <bridge name> off brctl setageing <bridge name> 0 brctl setfd <bridge name> 0
Esempio:dall'elenco di bridge sopra, vorrei creare xenbr0 ponte come hub.
[root@centos-1 ~]# brctl stp xenbr0 off [root@centos-1 ~]# brctl setageing xenbr0 0 [root@centos-1 ~]# brctl setfd xenbr0 0
Come verificare che il bridge agisca come Hub?
Scenario:considera 3 VM in esecuzione sull'host Linux. Ora inizia a eseguire il ping da VM1 a VM2. Su VM3, esegui tcpdump per vedere i pacchetti ICMP che fluiscono da VM1 a VM2.
Come invertire l'hub sopra in un bridge Linux
Ora per invertire l'impostazione precedente sull'host fisico, esegui semplicemente il comando seguente:
brctl setageing <bridge name> 300
Esempio:
[root@centos-1 ~]# brctl setageing xenbr0 300
Ora per verificarlo di nuovo, considera le stesse 3 VM in esecuzione sull'host Linux. Ora inizia a eseguire il ping da VM1 a VM2. Su VM3, esegui tcpdump e non saresti in grado di vedere i pacchetti ICMP che fluiscono da VM1 a VM2.