GNU/Linux >> Linux Esercitazione >  >> Linux

10 Esempi di comandi Linux brctl per bridge di rete Ethernet

brctl sta per Bridge Control.

In Linux, questo comando viene utilizzato per creare e manipolare il bridge ethernet.

Viene in genere utilizzato quando disponi di più reti Ethernet sui tuoi server e desideri combinarle e presentarle come un'unica rete logica.

Ad esempio, se hai eth0 ed eth1, puoi combinarli e presentarlo solo come br0, che a sua volta utilizzerà sia eth0 che eth1 per il traffico di rete.

In questo tutorial abbiamo trattato quanto segue:

  1. Crea un nuovo bridge Ethernet utilizzando addbr
  2. Visualizza il bridge Ethernet disponibile utilizzando lo spettacolo
  3. Elimina il bridge Ethernet esistente utilizzando delbr
  4. Aggiungi un'interfaccia al bridge esistente
  5. Aggiungi più interfacce al bridge esistente
  6. Tracciamento dell'indirizzo MAC di un Bridge
  7. Imposta il tempo di invecchiamento per l'indirizzo Mac su un bridge
  8. Imposta Spanning Tree su Ethernet Bridge
  9. Visualizza i valori dei parametri STP di un bridge
  10. Modifica i valori dei parametri del ponte

1. Crea un nuovo bridge Ethernet usando addbr

Usando brctl addbr, possiamo creare un nuovo bridge ethernet.

Nell'esempio seguente, abbiamo creato tre bridge ethernet su questo server:dev, stage e prod.

brctl addbr dev

brctl addbr stage

brctl addbr prod

Tieni presente che in questa fase questo è solo un bridge ethernet vuoto che non ha nessun'altra rete ethernet su di esso.

Tieni presente che questo brctl è leggermente diverso dal legame NIC EtherChannel Linux di cui abbiamo discusso in precedenza.

2. Visualizza Bridge Ethernet disponibile utilizzando show

Usando brctl show, possiamo visualizzare tutti i bridge Ethernet disponibili sul tuo server.

L'esempio seguente mostrerà tutte le istanze correnti dei tre bridge che abbiamo appena creato.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no
stage           8000.000000000000       no

Se noti che l'ultima colonna "interfacce" non contiene nulla. Ciò significa che a nessuno di questi bridge è ancora associato alcun dispositivo Ethernet.

In una nota correlata:9 esempi di Linux ethtool per manipolare la scheda Ethernet

3. Elimina il bridge Ethernet esistente utilizzando delbr

Usando brctl delbr, possiamo eliminare un bridge ethernet esistente.

L'esempio seguente eliminerà l'istanza "stage" del bridge ethernet.

brctl delbr stage

Come puoi vedere dal comando show, non vediamo più il bridge ethernet "stage".

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no

Tieni presente che quando un bridge è attivo (cioè attivo), puoi rimuoverlo. Devi prima abbattere il bridge e poi eliminarlo.

Inoltre, tieni presente che il precedente comando brctl era chiamato brcfg.

4. Aggiungi un'interfaccia al bridge esistente

Usando brctl addif, possiamo aggiungere un'interfaccia a un bridge ethernet esistente.

L'esempio seguente aggiungerà la rete ethernet eth0 al bridge "dev" che abbiamo appena creato.

Avvertimento:non provarlo su macchine critiche, poiché potresti perdere la connessione di rete a quella macchina quando qualcosa va storto. Provalo solo su un'istanza di prova in cui hai accesso alla console.

brctl addif dev eth0

In quanto sopra:

  • Questo renderà davvero l'eth0 un port del bridge “dev”.
  • Quindi, tutti i frame che arrivano su eth0 verranno elaborati come se stessero davvero arrivando al bridge.
  • Inoltre, quando i frame vengono inviati sul bridge "dev", utilizzerà eth0. Quando più interfacce fanno parte del bridge "dev", eth0 sarà un potenziale candidato per inviare i frame in uscita dal bridge.

Dopo aver aggiunto eth0 al bridge "dev", il comando brctl show mostrerà quanto segue.

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.0050568954bc       no              eth0
prod            8000.000000000000       no

Come puoi vedere dall'output sopra, l'ultima colonna "interfacce" come ha eth0 per il bridge "dev".

Nota:se qualcosa va storto durante l'aggiunta di eth0 al bridge "dev", esegui il seguente comando dalla console per eliminare il bridge dev.

# brctl delbr dev

Inoltre, nota che se provi ad aggiungere l'interfaccia di loopback al bridge, otterrai il seguente comando di argomento non valido.# brctl addif dev lo
impossibile aggiungere lo a bridge dev:argomento non valido

Come puoi immaginare, non puoi aggiungere al bridge un'interfaccia che non esiste sul sistema.

# brctl addif dev eth2
interface eth2 does not exist!

5. Aggiungi più interfacce al bridge esistente

Nell'esempio sopra, abbiamo aggiunto un solo dispositivo ethernet (eth0) al bridge.

Ma l'idea di utilizzare un bridge è aggiungere più interfacce al bridge.

Nell'esempio seguente, stiamo aggiungendo sia eth0 che eth1 al bridge "dev".

# brctl addif dev eth0 eth1

Come vedete dal seguente output, per il dev bridge vediamo due righe. Nell'ultima colonna "interfaces", vediamo sia eth0 che eth1 per bridge ethernet "dev".

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.0050568954bc       no              eth0
                                                        eth1
prod            8000.000000000000       no

Nota:se una particolare interfaccia Ethernet fa già parte di un bridge, non puoi aggiungerla a un altro bridge.

Fondamentalmente, una rete può far parte di un solo bridge. In caso contrario, verrà visualizzato il seguente messaggio di errore quando si tenta di aggiungerlo a un altro bridge.

# brctl addif prod eth1
device eth1 is already a member of a bridge; can't enslave it to bridge prod

6. Monitoraggio dell'indirizzo MAC di un Bridge

Usando brctl showmacs, possiamo vedere tutti gli indirizzi MAC appresi di un bridge.

Nell'esempio seguente, a partire da ora, i due indirizzi mac che si sono collegati al bridge ethernet “prod”. Questi dati continueranno a cambiare a seconda dello stato attuale di ciò che è collegato al bridge.

# brctl showmacs prod
port no mac addr                is local?       ageing timer
1       00:50:56:89:54:bc       yes                0.00
2       00:60:50:46:bc:40       no                 0.00

7. Imposta il tempo di invecchiamento per l'indirizzo Mac su un bridge

Nell'esempio seguente, stiamo impostando il tempo di invecchiamento dell'indirizzo mac su 120 secondi su bridge ethernet "dev".

brctl setaging dev 120

In quanto sopra:

  • dev è il nome del bridge su cui stiamo impostando questo valore
  • 120 sono secondi
  • Quindi, se un frame non viene visto per il bridge "dev" entro 120 secondi, il bridge "dev" cancellerà l'indirizzo mac dal database di inoltro.

8. Configura Spanning Tree su Ethernet Bridge

Usando brctl stp, possiamo configurare lo spanning tree su un bridge ethernet.

Ma per impostazione predefinita, lo spanning tree non è abilitato quando creiamo un bridge.

Lo spanning tree è utile quando hai più bridge sulla tua rete e tutti possono collaborare per trovare il percorso più breve tra due Ethernet.

Nell'esempio seguente, stiamo attivando lo spanning tree sul bridge ethernet "dev".

Possiamo usare on o yes per abilitare lo spanning tree. Quindi, entrambi i seguenti comandi faranno esattamente lo stesso.

brctl stp dev on

brctl stp dev yes

Come puoi vedere dal seguente output dello spettacolo, i valori nella colonna "STP abilitato" per il bridge "dev" sono ora "sì".

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       yes
prod            8000.000000000000       no

Per disattivare lo spanning tree sul tuo bridge ethernet, procedi come segue:

# brctl stp dev off

# brctl show
bridge name     bridge id               STP enabled     interfaces
dev             8000.000000000000       no
prod            8000.000000000000       no

9. Visualizza i valori dei parametri STP di un ponte

STP sta per Spanning Tree Protocol.

Dopo aver abilitato stp sul tuo bridge, puoi utilizzare showstp come mostrato di seguito per visualizzare tutti i valori dei parametri stp del tuo bridge.

Di seguito verrà visualizzato il parametro stp e il suo valore corrente per il bridge "dev".

# brctl showstp dev
dev
 bridge id              000a.000000000000
 designated root        000a.000000000000
 root port                 0       path cost                  0
 max age                  19.99    bridge max age            19.99
 hello time                1.99    bridge hello time          1.99
 forward delay            14.99    bridge forward delay      14.99
 ageing time             299.95
 hello timer               0.00    tcn timer                  0.00
 topology change timer     0.00    gc timer                   0.00
 hash elasticity           4       hash max                 512
 mc last member count      2       mc init query count        2
 mc router                 1       mc snooping                1
 mc last member timer      0.99    mc membership timer      259.96
 mc querier timer        254.96    mc query interval        124.98
 mc response interval      9.99    mc init query interval    31.24
 flags

10. Modifica i valori dei parametri del ponte

È possibile modificare i valori predefiniti del parametro spanning tree per un bridge specifico. Puoi anche modificare altri valori dei parametri del bridge che hai creato.

Tutti i seguenti comandi impostati menzionati nella tabella seguente iniziano con brctl. Ad esempio:

brctl setageing dev 100

La tabella seguente mostra i comandi set disponibili per brctl. Il valore del tempo è in secondi.

comando brctl Descrizione
impostazione del tempo di ponte Imposta il tempo di invecchiamento
setbridgeprio bridge prio Imposta la priorità del bridge (tra 0 e 65535)
imposta l'ora del ponte Imposta ritardo bridge forward
ora del ponte di sethello Imposta ora di saluto
setmaxage bridge time Imposta l'età massima del messaggio
imposta l'ora del ponte Imposta l'intervallo di raccolta dei rifiuti in secondi
sethashel bridge int Imposta l'elasticità dell'hash
sethashmax bridge int Imposta hash max
setmclmc bridge int Imposta il conteggio degli ultimi membri multicast
setmcrouter bridge int Imposta router multicast
setmcsnoop bridge int Imposta snooping multicast
setmcsqc bridge int Imposta il conteggio delle query di avvio multicast
imposta l'ora del bridge Imposta l'intervallo dell'ultimo membro multicast
setmcmi bridge time Imposta intervallo di appartenenza multicast
setmcqpi bridge time Imposta intervallo interrogante multicast
setmcqi bridge time Imposta intervallo di query multicast
setmcqri bridge time Imposta intervallo di risposta alla query multicast
setmcqri bridge time Imposta l'intervallo della query di avvio multicast
setpathcost costo della porta del bridge Imposta il costo del percorso
prio porta bridge setportprio Imposta la priorità della porta (tra 0 e 255)
setportmcrouter bridge port int Imposta porta router multicast
sethashel bridge int Imposta il valore di elasticità dell'hash

.


Linux
  1. 12 Esempi di comandi IP per utenti Linux

  2. Comando killall Linux per principianti (8 esempi)

  3. 7 Esempi di comandi Linux df

  4. 17 Esempi di comandi hpacucli per Linux su server HP

  5. Esempi di comandi dsniff in Linux

Comando di localizzazione Linux per principianti (8 esempi)

16 Esempi pratici di comando Linux LS per principianti

Spiegazione del comando Linux mv per principianti (8 esempi)

Oltre 15 esempi per il comando cURL di Linux

10 esempi di comando Linux ss per monitorare le connessioni di rete

Esempi di comandi ifconfig di Linux