Zum Inhalt springen

Linux/Netzwerk/Bridging: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 44: Zeile 44:
* Wenn die Bridge beispielsweise zwei Trunk-Schnittstellen verbindet und dieselben MAC-Adressen von beiden Schnittstellen aus gesehen werden können, je nach VLAN
* 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
* 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>
<syntaxhighlight lang="bash" highlight="1-2" line>
up /sbin/brctl setageing br0 0
up /sbin/brctl setageing br0 0
up /sbin/brctl stp br0 off
up /sbin/brctl stp br0 off
</syntaxhighlight>
</syntaxhighlight>

Version vom 21. Februar 2025, 13: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