GNU/Linux >> LINUX-Kenntnisse >  >> Linux

10 Beispiele für Linux-brctl-Befehle für die Ethernet-Netzwerkbrücke

brctl steht für Bridge Control.

Unter Linux wird dieser Befehl verwendet, um eine Ethernet-Bridge zu erstellen und zu manipulieren.

Dies wird normalerweise verwendet, wenn Sie mehrere Ethernet-Netzwerke auf Ihren Servern haben und diese kombinieren und als ein logisches Netzwerk darstellen möchten.

Wenn Sie beispielsweise eth0 und eth1 haben, können Sie sie kombinieren und nur als br0 darstellen, was wiederum sowohl eth0 als auch eth1 für den Netzwerkverkehr verwendet.

In diesem Tutorial haben wir Folgendes behandelt:

  1. Neue Ethernet Bridge mit addbr erstellen
  2. Verfügbare Ethernet-Bridge mit show anzeigen
  3. Vorhandene Ethernet-Bridge mit delbr löschen
  4. Eine Schnittstelle zu einer bestehenden Bridge hinzufügen
  5. Mehrere Schnittstellen zu bestehender Bridge hinzufügen
  6. Nachverfolgung der MAC-Adresse einer Bridge
  7. Alterungszeit für Mac-Adresse auf einer Bridge festlegen
  8. Spanning Tree auf Ethernet Bridge einrichten
  9. STP-Parameterwerte einer Bridge anzeigen
  10. Bridge-Parameterwerte ändern

1. Erstellen Sie eine neue Ethernet-Bridge mit addbr

Mit brctl addbr können wir eine neue Ethernet-Bridge erstellen.

Im folgenden Beispiel haben wir auf diesem Server drei Ethernet-Bridges erstellt:dev, stage und prod.

brctl addbr dev

brctl addbr stage

brctl addbr prod

Bitte beachten Sie, dass dies zu diesem Zeitpunkt nur eine leere Ethernet-Bridge ist, auf der sich kein anderes Ethernet-Netzwerk befindet.

Bitte beachten Sie, dass dieses brctl etwas anders ist als das zuvor besprochene Linux EtherChannel NIC-Bonding.

2. Zeigen Sie die verfügbare Ethernet-Bridge mit show

an

Mit brctl show können wir alle verfügbaren Ethernet-Bridges auf Ihrem Server anzeigen.

Das folgende Beispiel zeigt alle aktuellen Instanzen der drei Brücken, die wir gerade erstellt haben.

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

Wenn Sie bemerken, dass die letzte Spalte „Schnittstellen“ leer ist. Das bedeutet, dass keiner dieser Bridges derzeit noch ein Ethernet-Gerät zugeordnet ist.

In diesem Zusammenhang:9 Linux-Ethtool-Beispiele zum Manipulieren einer Ethernet-Karte

3. Löschen Sie die vorhandene Ethernet-Bridge mit delbr

Mit brctl delbr können wir eine bestehende Ethernet Bridge löschen.

Das folgende Beispiel löscht die „stage“-Instanz der Ethernet-Bridge.

brctl delbr stage

Wie Sie dem show-Befehl entnehmen können, sehen wir die „stage“-Ethernet-Bridge nicht mehr.

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

Bitte beachten Sie, dass Sie eine Brücke entfernen können, wenn sie aktiv (d. h. aktiv) ist. Sie müssen zuerst die Brücke herunterfahren und dann löschen.

Bitte beachten Sie auch, dass der frühere brctl-Befehl als brcfg.

aufgerufen wurde

4. Hinzufügen einer Schnittstelle zu einer bestehenden Bridge

Mit brctl addif können wir eine Schnittstelle zu einer bestehenden Ethernet-Bridge hinzufügen.

Das folgende Beispiel fügt das Ethernet-Netzwerk eth0 zur Bridge „dev“ hinzu, die wir gerade erstellt haben.

Warnung:Versuchen Sie dies nicht auf kritischen Computern, da Sie die Netzwerkverbindung zu diesem Computer verlieren könnten, wenn etwas schief geht. Versuchen Sie dies nur auf einer Testinstanz, auf der Sie Zugriff auf die Konsole haben.

brctl addif dev eth0

Oben:

  • Das macht eth0 wirklich zu einem Port der Brücke „dev“.
  • Also werden alle Frames, die auf eth0 ankommen, so verarbeitet, als ob sie wirklich an der Bridge ankommen würden.
  • Außerdem wird eth0 verwendet, wenn die Frames auf der „dev“-Bridge gesendet werden. Wenn mehrere Schnittstellen Teil der „dev“-Bridge sind, dann ist eth0 ein potenzieller Kandidat, um die ausgehenden Frames von der Bridge zu versenden.

Nach dem Hinzufügen von eth0 zur „dev“-Bridge zeigt der Befehl brctl show Folgendes an.

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

Wie Sie der obigen Ausgabe entnehmen können, steht in der letzten Spalte „interfaces“ eth0 für „dev“ Bridge.

Hinweis:Wenn beim Hinzufügen von eth0 zur „dev“-Bridge etwas schief geht, führen Sie den folgenden Befehl von der Konsole aus, um die dev-Bridge zu löschen.

# brctl delbr dev

Beachten Sie außerdem, dass Sie beim Versuch, die Loopback-Schnittstelle zur Bridge hinzuzufügen, den folgenden ungültigen Argumentbefehl erhalten.# brctl addif dev lo
can't add lo to bridge dev:Invalid argument

Wie Sie sich vorstellen können, können Sie der Bridge keine Schnittstelle hinzufügen, die auf dem System nicht vorhanden ist.

# brctl addif dev eth2
interface eth2 does not exist!

5. Mehrere Schnittstellen zu bestehender Bridge hinzufügen

Im obigen Beispiel haben wir der Bridge nur ein Ethernet-Gerät (eth0) hinzugefügt.

Aber die ganze Idee hinter der Verwendung einer Bridge besteht darin, der Bridge weitere Schnittstellen hinzuzufügen.

Im folgenden Beispiel fügen wir sowohl eth0 als auch eth1 zur Bridge „dev“ hinzu.

# brctl addif dev eth0 eth1

Wie Sie der folgenden Ausgabe entnehmen können, sehen wir für die Entwicklungsbrücke zwei Zeilen. In der letzten Spalte „Schnittstellen“ sehen wir sowohl eth0 als auch eth1 für „dev“ Ethernet Bridge.

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

Hinweis:Wenn eine bestimmte Ethernet-Schnittstelle bereits Teil einer Bridge ist, können Sie sie nicht zu einer anderen Bridge hinzufügen.

Grundsätzlich kann ein Netzwerk nur Teil einer Bridge sein. Wenn nicht, erhalten wir die folgende Fehlermeldung, wenn wir versuchen, sie zu einer anderen Bridge hinzuzufügen.

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

6. Verfolgen der MAC-Adresse einer Bridge

Mit brctl showmacs können wir alle gelernten MAC-Adressen einer Bridge sehen.

Im folgenden Beispiel sind ab sofort die beiden Mac-Adressen, die mit der Ethernet-Bridge „prod“ verbunden sind. Diese Daten ändern sich abhängig vom aktuellen Status dessen, was mit der Brücke verbunden ist.

# 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. Alterungszeit für Mac-Adresse auf einer Bridge festlegen

Im folgenden Beispiel setzen wir die Alterungszeit der MAC-Adresse auf der „dev“-Ethernet-Bridge auf 120 Sekunden.

brctl setaging dev 120

Oben:

  • dev ist der Name der Bridge, wo wir diesen Wert setzen
  • 120 sind Sekunden
  • Wenn also innerhalb von 120 Sekunden kein Frame für „dev“-Bridge erkannt wird, löscht „dev“-Bridge die MAC-Adresse aus der Weiterleitungsdatenbank.

8. Spanning Tree auf Ethernet Bridge einrichten

Mit brctl stp können wir Spanning Tree auf Ethernet Bridge einrichten.

Aber standardmäßig ist Spanning Tree nicht aktiviert, wenn wir eine Bridge erstellen.

Spanning Tree ist hilfreich, wenn Sie mehrere Bridges in Ihrem Netzwerk haben und sie alle zusammenarbeiten können, um den kürzesten Pfad zwischen zwei Ethernets zu finden.

Im folgenden Beispiel aktivieren wir den Spanning Tree auf der „dev“-Ethernet-Bridge.

Wir können entweder on oder yes verwenden, um Spanning Tree zu aktivieren. Die beiden folgenden Befehle werden also genau dasselbe tun.

brctl stp dev on

brctl stp dev yes

Wie Sie der folgenden Show-Ausgabe entnehmen können, ist der Wert in der Spalte „STP enabled“ für „dev“ Bridge jetzt „yes“.

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

Gehen Sie wie folgt vor, um Spanning Tree auf Ihrer Ethernet-Bridge zu deaktivieren:

# brctl stp dev off

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

9. STP-Parameterwerte einer Bridge anzeigen

STP steht für Spanning Tree Protocol.

Sobald Sie stp auf Ihrer Bridge aktiviert haben, können Sie showstp wie unten gezeigt verwenden, um alle stp-Parameterwerte Ihrer Bridge anzuzeigen.

Im Folgenden werden der stp-Parameter und sein aktueller Wert für die „dev“-Brücke angezeigt.

# 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. Bridge-Parameterwerte ändern

Die Standardwerte der Spanning Tree-Parameter für eine bestimmte Bridge können geändert werden. Sie können auch andere Parameterwerte der von Ihnen erstellten Brücke ändern.

Alle folgenden set-Befehle, die in der folgenden Tabelle aufgeführt sind, beginnen mit brctl. Zum Beispiel:

brctl setageing dev 100

Die folgende Tabelle zeigt verfügbare set-Befehle für brctl. Der Zeitwert wird in Sekunden angegeben.

brctl-Befehl Beschreibung
Brückenzeit einstellen Alterungszeit festlegen
setbridgeprio Bridgeprio Bridge-Priorität einstellen (zwischen 0 und 65535)
setfd Brückenzeit Brückenweiterleitungsverzögerung einstellen
Sethello-Brückenzeit Begrüßungszeit einstellen
Maximale Brückenzeit einstellen Legen Sie das maximale Nachrichtenalter fest
setgcint Brückenzeit Garbage-Collection-Intervall in Sekunden festlegen
sethashel bridge int Hash-Elastizität festlegen
sethashmax Bridge int Hash-Maximum festlegen
setmclmc Bridge int Setzen Sie die Anzahl der letzten Multicast-Mitglieder
setmcrouter bridge int Multicast-Router einstellen
setmcsnoop Bridge int Multicast-Snooping einstellen
setmcsqc Bridge int Zähler für Multicast-Startanfragen festlegen
setmclmi-Brückenzeit Intervall des letzten Multicast-Mitglieds festlegen
setmcmi-Brückenzeit Multicast-Mitgliedschaftsintervall festlegen
setmcqpi-Brückenzeit Multicast-Querier-Intervall festlegen
setmcqi-Brückenzeit Multicast-Abfrageintervall festlegen
setmcqri Brückenzeit Stellen Sie das Antwortintervall für Multicast-Anfragen ein
setmcqri Brückenzeit Legen Sie das Abfrageintervall für den Multicast-Start fest
setpathcost Bridge-Port-Kosten Pfadkosten festlegen
setportprio Bridge-Port-Prio Port-Priorität festlegen (zwischen 0 und 255)
setportmcrouter Bridge-Port int Port-Multicast-Router einstellen
sethashel bridge int Hash-Elastizitätswert festlegen

.


Linux
  1. 12 IP-Befehlsbeispiele für Linux-Benutzer

  2. Linux-Killall-Befehl für Anfänger (8 Beispiele)

  3. 7 Beispiele für Linux-df-Befehle

  4. 17 hpacucli-Befehlsbeispiele für Linux auf HP-Servern

  5. dsniff-Befehlsbeispiele in Linux

Linux-Suchbefehl für Anfänger (8 Beispiele)

16 praktische Beispiele für Linux LS-Befehle für Anfänger

Linux-mv-Befehl für Anfänger erklärt (8 Beispiele)

Über 15 Beispiele für Linux-cURL-Befehle

10 Beispiele für Linux ss-Befehle zur Überwachung von Netzwerkverbindungen

Linux ifconfig-Befehlsbeispiele