Linux/Netzwerk/Konfiguration/Bridging: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
== Bridging == | == Bridging == | ||
Bridging | Bridging fasst mehrere Schnittstellen in einem Netzwerksegment zusammen | ||
* | * Dies ist sehr beliebt, wenn ein Server für eine hohe Verfügbarkeit oder mit Virtualisierung an mehrere Switches angeschlossen wird | ||
* Im letzteren Fall wird es normalerweise verwendet, um eine Brücke im Host (z. B. dom0) zu erstellen und die virtuellen Schnittstellen der Gäste (domU) in die Brücke einzufügen | |||
* Das Paket [https://packages.debian.org/bridge-utilsbridge-utils] ist erforderlich, um überbrückte Schnittstellen zu erstellen | |||
; | ; Beispiel | ||
Verbinden Sie einen Server mit 2 Switches (über eth0 und eth1), indem Sie Bridge 0 definieren und dem Server eine IP-Adresse in diesem Subnetz zuweisen | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
auto br0 | |||
iface br0 inet static | |||
address 10.10.0.15/24 | |||
gateway 10.10.0.1 | |||
bridge_ports eth0 eth1 | |||
up /usr/sbin/brctl stp br0 on | |||
</syntaxhighlight> | |||
Wenn ein Server mit mehreren Switches verbunden ist, muss normalerweise das Spanning Tree Protocol ausgeführt werden, um Schleifen zu vermeiden | |||
* Daher muss STP wie oben gezeigt über einen „up“-Befehl aktiviert werden | |||
; | ; Beispiel | ||
Bridge | Bridge-Einrichtung ohne IP-Adresskonfiguration (verwenden Sie „manual“ anstelle von „static“), um eine Schnittstelle an eine Gast-VM weiterzuleiten. (Die statische Bridge-Konfiguration enthält nur eine physische Schnittstelle | ||
* Die virtuelle Schnittstelle wird der Bridge hinzugefügt, wenn die VM gestartet wird.) | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
auto br1 | |||
iface br1 inet manual | |||
bridge_ports eth4 | |||
up /usr/sbin/brctl setageing br1 0 | |||
up /usr/sbin/brctl stp br1 off | |||
</syntaxhighlight> | |||
; | ; Hinweis | ||
: | : Die Linux-Bridge unterstützt nur STP, kein RSTP (Rapid Spanning Tree) | ||
* Daher unterstützt sie nur die alten STP-Kosten, nicht die neuen RSTP-Kosten (siehe [https://en.wikipedia.org/wiki/Spanning_Tree_Protocol#Data_rate_and_STP_path_costSpanning_Tree_Protocol]) | |||
* Bei Cisco-Switches ist dies normalerweise in Ordnung, aber z. B. verwenden Juniper-Switches die RSTP-Kosten, was zu unterschiedlichen Spanning-Tree-Berechnungen und Schleifenproblemen führen kann | |||
* Dies kann durch manuelles Einstellen der Kosten behoben werden, entweder auf dem Switch oder auf dem Server | |||
* Die Einstellung der Kosten auf dem Switch wird bevorzugt, da Linux bei jedem Herunterfahren/Hochfahren einer Schnittstelle zu den Standardkosten zurückkehrt | |||
=== Bridging | === Bridging ohne Switching === | ||
Standardmäßig verhält sich die Linux-Bridge wie ein Switch | |||
* Das bedeutet, dass sie sich die MAC-Adressen hinter einem Switch-Port merkt und Datenpakete nur an den entsprechenden Port weiterleitet, wenn die Ziel-MAC-Adresse bekannt ist – andernfalls werden die Pakete gesendet | |||
In | In einigen Konfigurationen ist dies nicht wünschenswert | ||
* Wenn die Bridge beispielsweise zwei Trunk-Schnittstellen verbindet und dieselben MAC-Adressen von beiden Schnittstellen aus gesehen werden können, je nach VLAN | |||
* Da die Linux-Bridge keine VLANs unterstützt (dedizierte MAC-Adresstabellen für jedes VLAN), müssen Sie in solchen Konfigurationen das Lernen der MAC-Adressen deaktivieren und die Bridge in einen echten „Bridge“-Modus versetzen, und zwar mit | |||
<syntaxhighlight lang="bash" highlight="1" line> | |||
up /sbin/brctl setageing br0 0 | |||
up /sbin/brctl stp br0 off | |||
</syntaxhighlight> |
Version vom 21. Februar 2025, 14:42 Uhr
Bridging
Bridging fasst mehrere Schnittstellen in einem Netzwerksegment zusammen
- Dies ist sehr beliebt, wenn ein Server für eine hohe Verfügbarkeit oder mit Virtualisierung an mehrere Switches angeschlossen wird
- Im letzteren Fall wird es normalerweise verwendet, um eine Brücke im Host (z. B. dom0) zu erstellen und die virtuellen Schnittstellen der Gäste (domU) in die Brücke einzufügen
- Das Paket [1] ist erforderlich, um überbrückte Schnittstellen zu erstellen
- Beispiel
Verbinden Sie einen Server mit 2 Switches (über eth0 und eth1), indem Sie Bridge 0 definieren und dem Server eine IP-Adresse in diesem Subnetz zuweisen
auto br0
iface br0 inet static
address 10.10.0.15/24
gateway 10.10.0.1
bridge_ports eth0 eth1
up /usr/sbin/brctl stp br0 on
Wenn ein Server mit mehreren Switches verbunden ist, muss normalerweise das Spanning Tree Protocol ausgeführt werden, um Schleifen zu vermeiden
- Daher muss STP wie oben gezeigt über einen „up“-Befehl aktiviert werden
- Beispiel
Bridge-Einrichtung ohne IP-Adresskonfiguration (verwenden Sie „manual“ anstelle von „static“), um eine Schnittstelle an eine Gast-VM weiterzuleiten. (Die statische Bridge-Konfiguration enthält nur eine physische Schnittstelle
- Die virtuelle Schnittstelle wird der Bridge hinzugefügt, wenn die VM gestartet wird.)
auto br1
iface br1 inet manual
bridge_ports eth4
up /usr/sbin/brctl setageing br1 0
up /usr/sbin/brctl stp br1 off
- Hinweis
- Die Linux-Bridge unterstützt nur STP, kein RSTP (Rapid Spanning Tree)
- Daher unterstützt sie nur die alten STP-Kosten, nicht die neuen RSTP-Kosten (siehe [2])
- Bei Cisco-Switches ist dies normalerweise in Ordnung, aber z. B. verwenden Juniper-Switches die RSTP-Kosten, was zu unterschiedlichen Spanning-Tree-Berechnungen und Schleifenproblemen führen kann
- Dies kann durch manuelles Einstellen der Kosten behoben werden, entweder auf dem Switch oder auf dem Server
- Die Einstellung der Kosten auf dem Switch wird bevorzugt, da Linux bei jedem Herunterfahren/Hochfahren einer Schnittstelle zu den Standardkosten zurückkehrt
Bridging ohne Switching
Standardmäßig verhält sich die Linux-Bridge wie ein Switch
- Das bedeutet, dass sie sich die MAC-Adressen hinter einem Switch-Port merkt und Datenpakete nur an den entsprechenden Port weiterleitet, wenn die Ziel-MAC-Adresse bekannt ist – andernfalls werden die Pakete gesendet
In einigen Konfigurationen ist dies nicht wünschenswert
- Wenn die Bridge beispielsweise zwei Trunk-Schnittstellen verbindet und dieselben MAC-Adressen von beiden Schnittstellen aus gesehen werden können, je nach VLAN
- Da die Linux-Bridge keine VLANs unterstützt (dedizierte MAC-Adresstabellen für jedes VLAN), müssen Sie in solchen Konfigurationen das Lernen der MAC-Adressen deaktivieren und die Bridge in einen echten „Bridge“-Modus versetzen, und zwar mit
up /sbin/brctl setageing br0 0
up /sbin/brctl stp br0 off