Wie kann ich zwei Schnittstellen mit ip / iproute2 verbinden?

23

Ich weiß, wie man eine Brücke erstellt brctl, aber mir wurde geraten, diese nicht mehr zu verwenden iproute2und ipstattdessen oder zu verwenden (da dies brctlvermutlich veraltet ist). Angenommen, dies ist ein guter Rat. Wie erstelle ich eine Brücke mit ip? Sagen wir zum Beispiel, ich wollte überbrücken eth0und eth1.

Totem
quelle
2
Schau auf die archwiki Seite wiki.archlinux.org/index.php/Network_bridge
Dani_l

Antworten:

26

Sie können bridgeden ipBefehl object ip the oder den bridgeBefehl verwenden, der Teil des iproute2Pakets ist.

Grundlegende Link-Manipulation

So erstellen Sie eine Brücke mit dem Namen br0, die eth0und eth1als Mitglieder hat:

ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0
ip link set dev eth1 master br0

So entfernen Sie eine Schnittstelle von der Bridge:

ip link set dev eth0 nomaster

Und schließlich, um eine Brücke zu zerstören, nachdem keine Schnittstelle Mitglied ist:

ip link del br0

Weiterleitungsmanipulation

Um andere Aspekte der Bridge wie die FDB ( Forwarding Database ) zu manipulieren, empfehle ich Ihnen, sich den bridge(8) Befehl anzusehen . Beispiele:

Weiterleitungsdatenbank anzeigen ein br0

bridge fdb show dev br0

Deaktivieren Sie einen Port ( eth0) für die Verarbeitung von BPDUs . Dadurch filtert die Schnittstelle alle eingehenden bpdu

bridge link set dev eth0 guard on

Festlegen der STP-Kosten für einen Port ( eth1zum Beispiel):

bridge link set dev eth1 cost 4

So setzen Sie den Root Guard auf eth1:

bridge link set dev eth1 root_block on

Die Kosten werden anhand einiger Faktoren berechnet, und die Verbindungsgeschwindigkeit ist eine davon. Die Verwendung von Fixkosten und das Deaktivieren der Verarbeitung von BPDUs und das Aktivieren von root_block ähneln in gewisser Weise einer guard-rootFunktion von Switches.

Weitere Funktionen wie vepa, veb und hairpin mode finden Sie in der bridge linkUnterbefehlsliste.

Manipulation von VLAN-Regeln

Mit dem vlanObjekt aus dem Befehl bridge können Sie Eingangs- / Ausgangsfilter für Bridges erstellen.

So zeigen Sie an, ob es vlan-Eingangs- / Ausgangsfilter gibt:

bridge vlan show

So fügen Sie einer bestimmten Schnittstelle Regeln hinzu:

bridge vlan add dev eth1 <vid, pvid, untagged, self, master>

Regeln entfernen. Verwenden Sie dieselben Parameter wie vlan addam Ende des Befehls, um eine bestimmte Regel zu löschen.

bridge vlan delete dev eth1

Verwandte Sachen:

Gemeinschaft
quelle
Es gibt ein paar Bridge-Parameter, die Sie mit dem bridgeDienstprogramm nicht einstellen können, z. B. ip link set br0 type bridge stp_state 1können Sie mitip link help bridge
Cheetah
2

Das Äquivalent von brctl showist bridge link. Sie können den Bridge-Status für jedes Gerät anzeigen, bridge link show dev eth0aber Bridge überprüft die Netzwerkschnittstelle und teilt Ihnen mit, zu welcher Bridge sie gehört - nicht zu welchen Netzwerkschnittstellen eine bestimmte Bridge gehört.

Es scheint keine Entsprechung zu geben brctl show br0.

Dominik Heidler
quelle