GNU/Linux >> Tutoriels Linux >  >> Linux

10 exemples de commande Linux brctl pour le pont réseau Ethernet

brctl signifie Bridge Control.

Sous Linux, cette commande est utilisée pour créer et manipuler un pont Ethernet.

Ceci est généralement utilisé lorsque vous avez plusieurs réseaux Ethernet sur vos serveurs et que vous souhaitez les combiner et les présenter comme un seul réseau logique.

Par exemple, si vous avez eth0 et eth1, vous pouvez les combiner et le présenter simplement comme br0, qui utilisera à son tour eth0 et eth1 pour le trafic réseau.

Dans ce didacticiel, nous avons abordé les éléments suivants :

  1. Créer un nouveau pont Ethernet à l'aide d'addbr
  2. Afficher le pont Ethernet disponible à l'aide de show
  3. Supprimer le pont Ethernet existant à l'aide de delbr
  4. Ajouter une interface à un pont existant
  5. Ajouter plusieurs interfaces au pont existant
  6. Suivi de l'adresse MAC d'un pont
  7. Définir le temps de vieillissement pour l'adresse Mac sur un pont
  8. Configurer Spanning Tree sur un pont Ethernet
  9. Afficher les valeurs des paramètres STP d'un pont
  10. Modifier les valeurs des paramètres de pont

1. Créer un nouveau pont Ethernet à l'aide d'addbr

En utilisant brctl addbr, nous pouvons créer un nouveau pont Ethernet.

Dans l'exemple suivant, nous avons créé trois ponts Ethernet sur ce serveur :dev, stage et prod.

brctl addbr dev

brctl addbr stage

brctl addbr prod

Veuillez noter qu'à ce stade, il s'agit simplement d'un pont Ethernet vide qui n'a aucun autre réseau Ethernet dessus.

Veuillez noter que ce brctl est un peu différent de la liaison Linux EtherChannel NIC dont nous avons parlé plus tôt.

2. Afficher le pont Ethernet disponible à l'aide de show

En utilisant brctl show, nous pouvons voir tous les ponts Ethernet disponibles sur votre serveur.

L'exemple suivant affichera toutes les instances actuelles des trois ponts que nous venons de créer.

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

Si vous remarquez que la dernière colonne "interfaces" n'a rien dessus. Cela signifie qu'aucun de ces ponts n'a encore de périphérique Ethernet associé.

Sur une note connexe :9 exemples Linux ethtool pour manipuler une carte Ethernet

3. Supprimer le pont Ethernet existant à l'aide de delbr

En utilisant brctl delbr, nous pouvons supprimer un pont Ethernet existant.

L'exemple suivant supprimera l'instance "stage" du pont Ethernet.

brctl delbr stage

Comme vous le voyez dans la commande show, nous ne voyons plus le pont Ethernet "stage".

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

Veuillez noter que lorsqu'un pont est actif (c'est-à-dire en place), vous pouvez le supprimer. Vous devez d'abord faire tomber le pont, puis le supprimer.

Veuillez également noter que la commande brctl précédente était appelée brcfg.

4. Ajouter une interface au pont existant

En utilisant brctl addif, nous pouvons ajouter une interface à un pont Ethernet existant.

L'exemple suivant ajoutera le réseau Ethernet eth0 au pont "dev" que nous venons de créer.

Avertissement :N'essayez pas ceci sur des machines critiques, car vous risquez de perdre la connexion réseau à cette machine en cas de problème. Essayez ceci uniquement sur une instance de test où vous avez accès à la console.

brctl addif dev eth0

Dans ce qui précède :

  • Cela fera vraiment de eth0 un port du pont "dev".
  • Ainsi, toutes les trames qui arrivent sur eth0 seront traitées comme si elles arrivaient réellement au pont.
  • De plus, lorsque les trames sont envoyées sur le pont "dev", il utilisera eth0. Lorsque plusieurs interfaces font partie du pont "dev", alors eth0 sera un candidat potentiel pour envoyer les trames sortantes du pont.

Après avoir ajouté le pont eth0 à "dev", la commande brctl show affichera ce qui suit.

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

Comme vous le voyez dans la sortie ci-dessus, la dernière colonne "interfaces" comment a eth0 pour le pont "dev".

Remarque :Si quelque chose ne va pas lors de l'ajout d'eth0 au pont "dev", exécutez la commande suivante à partir de la console pour supprimer le pont dev.

# brctl delbr dev

Notez également que si vous essayez d'ajouter l'interface de bouclage au pont, vous obtiendrez la commande d'argument invalide suivante.# brctl addif dev lo
can't add lo to bridge dev :Invalid argument

Comme vous pouvez l'imaginer, vous ne pouvez pas ajouter au pont une interface qui n'existe pas sur le système.

# brctl addif dev eth2
interface eth2 does not exist!

5. Ajouter plusieurs interfaces au pont existant

Dans l'exemple ci-dessus, nous avons ajouté un seul périphérique Ethernet (eth0) au pont.

Mais, l'idée même d'utiliser un pont est d'ajouter plus d'interfaces au pont.

Dans l'exemple suivant, nous ajoutons à la fois eth0 et eth1 au pont "dev".

# brctl addif dev eth0 eth1

Comme vous le voyez dans la sortie suivante, pour le pont de développement, nous voyons deux lignes. Dans la dernière colonne "interfaces", nous voyons à la fois eth0 et eth1 pour le pont Ethernet "dev".

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

Remarque :Si une interface Ethernet particulière fait déjà partie d'un pont, vous ne pouvez pas l'ajouter à un autre pont.

Fondamentalement, un réseau ne peut faire partie que d'un seul pont. Sinon, nous recevrons le message d'erreur suivant lorsque nous essaierons de l'ajouter à un autre pont.

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

6. Suivi de l'adresse MAC d'un pont

En utilisant brctl showmacs, nous pouvons voir toutes les adresses MAC apprises d'un pont.

Dans l'exemple suivant, à partir de maintenant, voici les deux adresses mac qui se sont connectées au pont Ethernet "prod". Ces données continueront de changer en fonction de l'état actuel de ce qui est connecté au pont.

# 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. Définir le temps de vieillissement pour l'adresse Mac sur un pont

Dans l'exemple suivant, nous définissons le délai de vieillissement de l'adresse mac sur 120 secondes sur le pont Ethernet "dev".

brctl setaging dev 120

Dans ce qui précède :

  • dev est le nom du pont où nous définissons cette valeur
  • 120 correspond à des secondes
  • Ainsi, si aucune trame n'est vue pour le pont "dev" dans les 120 secondes, le pont "dev" supprimera l'adresse mac de la base de données de transfert.

8. Configurer Spanning Tree sur un pont Ethernet

En utilisant brctl stp, nous pouvons configurer le spanning tree sur le pont Ethernet.

Mais par défaut, le spanning tree n'est pas activé lorsque nous créons un pont.

Spanning Tree est utile lorsque vous avez plusieurs ponts sur votre réseau, et ils peuvent tous collaborer pour trouver le chemin le plus court entre deux Ethernets.

Dans l'exemple suivant, nous activons le spanning tree sur le pont Ethernet "dev".

Nous pouvons utiliser on ou yes pour activer le spanning tree. Ainsi, les deux commandes suivantes feront exactement la même chose.

brctl stp dev on

brctl stp dev yes

Comme vous le voyez dans la sortie d'affichage suivante, les valeurs de la colonne "STP activé" pour le pont "dev" sont désormais "oui".

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

Pour désactiver le Spanning Tree sur votre pont Ethernet, procédez comme suit :

# brctl stp dev off

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

9. Afficher les valeurs des paramètres STP d'un pont

STP signifie Spanning Tree Protocol.

Une fois que vous avez activé stp sur votre pont, vous pouvez utiliser showstp comme indiqué ci-dessous pour afficher toutes les valeurs des paramètres stp de votre pont.

Ce qui suit affichera le paramètre stp et sa valeur actuelle pour le pont "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. Modifier les valeurs des paramètres de pont

Les valeurs par défaut des paramètres Spanning Tree pour un pont spécifique peuvent être modifiées. Vous pouvez également modifier d'autres valeurs de paramètres du pont que vous avez créé.

Toutes les commandes set suivantes mentionnées dans le tableau ci-dessous commencent par brctl. Par exemple :

brctl setageing dev 100

Le tableau suivant affiche les commandes set disponibles pour brctl. La valeur de temps est en secondes.

commande brctl Description
configuration du temps de pont Définir le temps de vieillissement
setbridgeprio bridge prior Définir la priorité du pont (entre 0 et 65535)
setfd bridge time Définir le délai de transfert du pont
heure du pont sethello Définir l'heure d'accueil
setmaxage bridge time Définir l'âge maximum des messages
setgcint bridge time Définir l'intervalle de récupération de place en secondes
Pont Sethashel int Définir l'élasticité du hachage
sethashmax bridge int Définir le hachage max
setmclmc bridge int Définir le nombre de derniers membres multicast
setmcrouter bridge int Définir le routeur multidiffusion
setmcsnoop bridge int Définir la surveillance multidiffusion
setmcsqc bridge int Définir le nombre de requêtes de démarrage multidiffusion
setmclmi bridge time Définir l'intervalle du dernier membre de multidiffusion
setmcmi bridge time Définir l'intervalle d'adhésion à la multidiffusion
temps de pont setmcqpi Définir l'intervalle de demande de multidiffusion
temps de pont setmcqi Définir l'intervalle de requête multidiffusion
temps de pont setmcqri Définir l'intervalle de réponse aux requêtes multidiffusion
temps de pont setmcqri Définir l'intervalle de requête de démarrage multidiffusion
coût du port du pont setpathcost Définir le coût du chemin
setportprio bridge port prior Définir la priorité du port (entre 0 et 255)
setportmcrouter bridge port int Définir le routeur de multidiffusion du port
Pont Sethashel int Définir la valeur d'élasticité du hachage

.


Linux
  1. 12 exemples de commandes IP pour les utilisateurs Linux

  2. Commande Linux killall pour les débutants (8 exemples)

  3. 7 Exemples de commandes Linux df

  4. 17 Exemples de commandes hpacucli pour Linux sur des serveurs HP

  5. Exemples de commandes dsniff sous Linux

Commande de localisation Linux pour les débutants (8 exemples)

16 exemples pratiques de commande Linux LS pour les débutants

Explication de la commande Linux mv pour les débutants (8 exemples)

15+ exemples pour la commande Linux cURL

10 exemples de commande Linux ss pour surveiller les connexions réseau

Exemples de commandes Linux ifconfig