Wie konfiguriert man eine Netzwerkbrücke unter Linux?
Das Bridging von Netzwerkinterfaces in Linux ist eine gängige Technik, um zwei oder mehr Netzwerkinterfaces zu einem einzigen virtuellen Interface zu kombinieren. Das Bridging ist für mehrere Zwecke vorteilhaft, einschließlich der Verbesserung der Netzwerkleistung, der Gewährleistung von Redundanz und der Erleichterung des Lastenausgleichs.
Der Linux-Netzwerkbrücke ermöglicht es Ihnen, die Internetverbindung Ihres Systems mit anderen Systemen zu teilen. Betrachten Sie eine Situation, in der System A (ohne Internetverbindung) sich mit der Internetverbindung von System B verbinden möchte. Verbinden Sie einfach beide Systeme mit einem Ethernet-Kabel, um eine Brücke zwischen ihnen zu bilden. Dazu benötigen Sie jedoch zwei Schnittstellen auf System B. Eine Schnittstelle wird mit dem Internet verbunden sein und die andere mit System A.
Eine Netzwerkbrücke ist ein Gerät, das auf der Link-Schicht arbeitet und den Datenverkehr über Netzwerke basierend auf MAC-Adressen weiterleitet. Infolgedessen ist ein Netzwerkbrücke auch als ein Gerät bekannt, das auf der Layer-2-Ebene arbeitet. Es erstellt Tabellen von MAC-Adressen, indem es die Informationen nutzt, die es darüber sammelt, welche Hosts mit jedem Netzwerk verbunden sind, und trifft seine Entscheidungen darüber, welche Pakete weitergeleitet werden sollen, basierend auf diesen Tabellen. Ein Linux Host-Computer kann eine Hardware-Brücke verwenden, um die Funktionalität einer Software-Brücke zu simulieren.
Die Verwendung einer Linux-basierten Standardnetzwerkbrücke könnte eine Alternative zur Arbeit mit einem NAT-basierten Netzwerk sein.
Der ANSI/IEEE 802.1d-Standard wird nur teilweise durch den für die Linux-Brücke verwendeten Code implementiert. Lennert Buytenhek schrieb den Linux-Bridging-Code neu, nachdem er in Linux 2.2 implementiert worden war. Der Quellcode der Bridging-Funktionalität wurde sowohl in die Kernel-Versionen 2.4 als auch 2.6 aufgenommen.
In diesem Tutorial geben wir Ihnen die Schritte zur Konfiguration einer Netzwerkbrücke auf verschiedenen Linux-Distributionen wie Debian, Ubuntu, RHEL und Centos. Wir werden auch erklären, wie man verschiedene Werkzeuge wie brctl
, iproute2
, nmcli
und netplan
für das Netzwerk-Bridging verwendet.
1. Konfiguration der Netzwerkbrücke auf Debian / Ubuntu mit brctl
Sie können den Netzwerkbrücke auf Ihrem Debian- oder Ubuntu-Linux-Server ganz einfach konfigurieren, indem Sie die folgenden Schritte befolgen:
- Installation der Netzwerkbrücken-Utilities auf Debian / Ubuntu
- Erstellen einer Bridge-Schnittstelle
- Geräte zu einer Bridge hinzufügen
- Anzeigen von Schnittstellen in einer Bridge
- Konfiguration des permanenten Bridgings
1.1. Installation der Netzwerkbrücken-Utilities auf Debian / Ubuntu
bridge-utils ist das Linux-Softwarepaket, das Sie installieren müssen, um Linux-Bridging zu implementieren. Die Anwendung, die Sie benötigen, ist als brctl
bekannt und ist im bridge-utils
-Paket enthalten. Sie können es mit diesem Befehl installieren, oder Sie können danach in Synaptic suchen.
apt install bridge-utils
Die Bridge-Schnittstelle kann mit Hilfe dieses Programms konfiguriert und verwendet werden. Die Bridge-Schnittstelle wird in ip link
als neue Schnittstelle erscheinen, die in ihrem Aussehen eth0
oder eth1
sehr ähnlich ist. Es ist eine virtuelle Schnittstelle, die einfach die Pakete von einer physischen Schnittstelle akzeptiert und sie transparent an die andere weiterleitet. Es existiert physisch nicht auf Ihrem Computer, da es eine virtuelle Schnittstelle und keine physische ist.
Bevor Sie beginnen, überprüfen Sie, ob beide Netzwerkkarten korrekt installiert und konfiguriert sind. Konfigurieren Sie die IP-Adresse nicht, und unter keinen Umständen sollten die Startskripte DHCP auf einem der Ethernet-Ports ausführen dürfen. Nachdem die Konfiguration der Brücke abgeschlossen ist, sollte die IP-Adresse festgelegt werden.
Der Befehl ifconfig
sollte beide Netzwerkkarten anzeigen, und beide sollten auf den STATUS DOWN gesetzt sein.
1.2. Erstellen einer Bridge-Schnittstelle
Führen Sie den folgenden Befehl aus, um den Prozess zur Erstellung der neuen Bridge-Schnittstelle zu starten.
brctl addbr br0
Der Name br0 liegt in Ihrem Ermessen und kann beliebig sein.
Der entsprechende Befehl zum Entfernen einer Bridge-Schnittstelle lautet:
brctl delbr br0
Jetzt müssen Sie die Schnittstellen einbeziehen, die verbunden werden sollen. Sie können die Auflistung Ihrer Ethernet-Geräte überprüfen, indem Sie (eth0, eth1 usw. ist typisch):
ip addr show
1.3. Hinzufügen von Geräten zu einem Bridge
Um Schnittstellen zu dem neu hinzugefügten Bridge-Gerät hinzuzufügen, führen Sie den nächsten Befehl aus:
brctl addif br0 ens18 ens19
Dies wird die beiden Schnittstellen ens18 und ens19 zur Brücke br0 hinzufügen.
Um eine Schnittstelle von einem Bridge-Gerät zu entfernen, können Sie den folgenden Befehl ausführen:
brctl delif br0 ens18
1.4. Anzeigen von Schnittstellen in einem Bridge
Um die Zusammenfassung des Gesamtstatus der Brücke anzuzeigen, führen Sie den folgenden Befehl aus:
brctl show
Der Output sollte ähnlich wie der folgende sein:
bridge name bridge id STP enabled interfaces
br549 8000.00004c9f0cc2 no ens18
ens19
Um die MAC-Adressen des weitergeleiteten Verkehrs und des Bridges selbst anzuzeigen, führen Sie den folgenden Befehl aus:
brctl showmacs br0
Der Output sollte ähnlich wie der folgende sein:
port no mac addr is local? ageing timer
1 00:00:5c:9f:0b:ae no 16.82
1 00:00:5c:9f:0b:d2 yes 0.00
2 00:00:5c:9f:0b:d3 yes 0.00
1 00:00:55:1a:35:09 no 51.80
1 00:00:55:1a:82:87 no 21.33
1.5. Konfiguration des permanenten Bridgings
Um Ihre Brücke dauerhafter zu machen, müssen Sie die Datei /etc/network/interfaces
ändern. Wenn der Brücke br0
eine IP-Adresse per DHCP zugewiesen werden soll, sollte die Schnittstellenkonfigurationsdatei wie folgt aussehen:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface ens18 inet manual
iface ens19 inet manual
# Bridge setup
iface br0 inet dhcp
bridge_ports ens18 ens19
Um Ihre Brücke hochzufahren, führen Sie den nächsten Befehl aus.
ifup br0
Dies wird die anderen erforderlichen Schnittstellen aktivieren, ohne dass die gebridgten Schnittstellen in Ihrer Interfaces-Datei erwähnt werden.
Sie können auch einfach die statischen IP-Optionen unter der br0
-Schnittstelleneinrichtung wie unten angegeben hinzufügen:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo br0
iface lo inet loopback
# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface ens18 inet manual
iface ens19 inet manual
# Bridge setup
iface br0 inet static
bridge_ports ens18 ens19
address 192.168.0.2
broadcast 192.168.0.255
netmask 255.255.255.0
gateway 192.168.0.1
Starten Sie dann den Netzwerkdienst neu, indem Sie den folgenden Befehl ausführen:
systemctl restart networking
2. Konfiguration der Netzwerkbrücke auf RHEL / CentOS / AlmaLinux mit brctl
Sie können den Netzwerkbrücke auf Ihrem RHEL-, CentOS- oder AlmaLinux-Server ganz einfach konfigurieren, indem Sie die folgenden Schritte befolgen.
- Installation der Netzwerkbrücken-Utilities auf RHEL / CentOS / AlmaLinux
- Erstellen einer Bridge-Schnittstelle
- Hinzufügen von Schnittstellen zur Brücke
- Neustart des Netzwerkdienstes
2.1. Installation der Netzwerkbrücken-Utilities auf RHEL / CentOS / AlmaLinux
Die Anwendung, die Sie benötigen, ist als brctl
bekannt und ist im Paket bridge-utils
enthalten. Sie können es mit dem folgenden Befehl installieren:
yum install bridge-utils
2.2. Erstellen einer Bridge-Schnittstelle
Um eine Netzwerkbrücke zu erstellen, erstellen Sie eine Datei mit dem Namen ifcfg-brN
im Verzeichnis /etc/sysconfig/network-scripts/
, wobei N durch die Schnittstellennummer ersetzt wird, z. B. 0
.
Der Inhalt der Datei ist vergleichbar mit dem Typ der Schnittstelle, zu der die Brücke hergestellt wird, wie zum Beispiel einer Ethernet-Schnittstelle. Die Unterschiede in diesem Fall sind wie folgt:
-
DEVICE
: DieDEVICE
-Direktive erhält einen Schnittstellennamen im Format brN, wobei N durch die Schnittstellennummer ersetzt wird. -
TYPE
: Das ArgumentBridge
wird derTYPE
-Direktive zugewiesen. Diese Direktive identifiziert die Art des Geräts, und ihr Argument ist groß- und kleinschreibungsempfindlich. -
Die Konfigurationsdatei für die Bridge-Schnittstelle enthält jetzt die
IP
-Adresse, während die physische Schnittstelle einfach die MAC-Adresse hat. -
DELAY=0
wird als zusätzliche Anweisung bereitgestellt, um zu verhindern, dass die Brücke wartet, während sie den Verkehr analysiert, herausfindet, wo sich die Hosts befinden, und eine Tabelle der MAC-Adressen erstellt, auf deren Grundlage sie ihre Filterentscheidungen trifft. Die Standardverzögerung von 15 Sekunden ist unnötig, wenn Routing-Schleifen nicht auftreten können. -
Die Ethernet-Schnittstelle sollte
NM_CONTROLLED=no
hinzugefügt werden, um zu verhindern, dass der NetworkManager die Datei ändert. Zusätzlich kann es zur Bridge-Konfigurationsdatei hinzugefügt werden, falls zukünftige NetworkManager-Versionen die Bridge-Konfiguration ermöglichen.
Das Folgende ist eine Beispielkonfigurationsdatei für eine Bridge-Schnittstelle mit einer statischen IP-Adresse:
DEVICE=br0
TYPE=Bridge
IPADDR=192.168.0.2
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
DELAY=0
2.3. Hinzufügen von Schnittstellen zur Brücke
Das Folgende ist eine Beispielkonfigurationsdatei für eine Ethernet-Schnittstelle, die auf eine Bridge-Schnittstelle verweist. Konfigurieren Sie Ihre physische Schnittstelle in /etc/sysconfig/network-scripts/ifcfg-ethX
, wobei X
eine eindeutige Kennung der Schnittstelle ist, wie folgt:
DEVICE=ethX
TYPE=Ethernet
HWADDR=AA:AA:AA:DD:DD:DD
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
2.4. Neustart des Netzwerkdienstes
Starten Sie den Netzwerkdienst neu, damit die Änderungen wirksam werden.
service network restart
3. Konfiguration der Netzwerkbrücke unter Linux mit dem ip
-Tool
In diesem Abschnitt werden wir erklären, wie man eine Netzwerkbrücke mit dem ip
-Tool aus dem iproute2
-Paket verwaltet, das vom grundlegenden Metapaket benötigt wird.
Iproute2 ist eine Sammlung von Linux-Anwendungen zur Verwaltung von TCP/IP-Netzwerken und Netzwerkverkehr. Derzeit ist Stephen Hemminger für die Wartung verantwortlich. Alexey Kuznetsov, der ursprüngliche Schöpfer, ist bekannt für die Implementierung von QoS im Linux-Kernel.
Die meisten Netzwerk-Einrichtungsanleitungen enthalten immer noch ifconfig
und route
als die wichtigsten Netzwerk-Konfigurationstools, obwohl ifconfig
in aktuellen Netzwerksituationen notorisch ineffektiv ist. Die Mehrheit der Distributionen enthält sie weiterhin.
iproute2
wird oft als Teil eines Pakets namens iproute
oder iproute2
verteilt und besteht aus vielen Werkzeugen, von denen die wichtigsten ip
und tc
sind. ip
verwaltet IPv4- und IPv6-Einstellungen, während tc
den Verkehr regelt. Beide Programme erzeugen umfassende Nutzungshinweise und werden durch eine Sammlung von Man-Seiten ergänzt.
Sie können den Linux Bridge mit dem ip
-Tool konfigurieren, indem Sie die folgenden Schritte ausführen:
- Installation des ip-Tools
- Erstellen einer Bridge-Schnittstelle mit dem ip-Tool
- Hinzufügen von Geräten zu einer Bridge mit dem ip-Tool
- Anzeigen von Schnittstellen in einem Bridge mit dem ip-Tool
3.1. Installation des ip
Tools
Um das ip
-Tool auf RHEL/Centos/AlmaLinux zu installieren, können Sie den folgenden Befehl ausführen:
yum install iproute
Um das ip
-Tool auf Debian/Ubuntu zu installieren, führen Sie den folgenden Befehl aus:
apt install iproute
3.2. Erstellen einer Bridge-Schnittstelle mit dem ip-Tool
Um eine neue Bridge zu erstellen und ihren Zustand auf "up" zu ändern, können Sie den folgenden Befehl ausführen:
ip link add name br0 type bridge
ip link set br0 up
Dies wird ein neues Bridge-Gerät mit dem Namen br0
erstellen.
Um eine Brücke zu löschen, können Sie den folgenden Befehl ausführen:
ip link delete br0 type bridge
3.3. Hinzufügen von Geräten zu einem Bridge mit dem ip-Tool
Um das Interface in die Bridge hinzuzufügen, indem Sie seinen Master auf br0 setzen, können Sie den folgenden Befehl ausführen:
ip link set ens18 master br0
ip link set ens19 master br0
Dies wird die beiden Schnittstellen ens18 und ens19 zur Brücke br0 hinzufügen.
Um eine Schnittstelle von einem Bridge-Gerät zu entfernen, können Sie den folgenden Befehl ausführen.
ip link set ens18 nomaster
3.4. Anzeigen von Schnittstellen in einem Bridge mit dem ip-Tool
Um eine Zusammenfassung des Gesamtstatus des Bridges anzuzeigen, führen Sie den folgenden Befehl aus:
bridge link
4. Konfiguration der Netzwerkbrücke unter Linux mit dem nmcli
-Tool
In diesem Abschnitt erklären wir, wie man eine Netzwerkbrücke mit dem nmcli
-Tool verwaltet. Sie können den Linux Bridge mit dem nmcli
-Tool konfigurieren, indem Sie die folgenden Schritte ausführen:
- Erstellen einer Bridge-Schnittstelle mit dem nmcli-Tool
- Hinzufügen von Geräten zu einer Brücke mit dem nmcli-Tool
- Festlegen einer statischen IP-Adresse für die Netzwerkbrücken-Schnittstelle
- Anzeigen von Schnittstellen in einem Bridge mit dem nmcli-Tool
4.1. Erstellen einer Bridge-Schnittstelle mit dem nmcli
-Tool
Um eine neue Brücke zu erstellen und ihren Zustand auf "up" zu ändern, können Sie den folgenden Befehl ausführen:
nmcli connection add type bridge con-name bridge0 ifname br0
Dies wird ein neues Bridge-Gerät mit dem Namen br0
erstellen.
4.2. Hinzufügen von Geräten zu einer Bridge mit dem nmcli
-Tool
Um das Interface in die Bridge hinzuzufügen, indem Sie dessen Slave auf br0 setzen, können Sie den folgenden Befehl ausführen:
nmcli con add type ethernet slave-type bridge con-name bridge0-port0
ifname ens18 master br0
nmcli con add type ethernet slave-type bridge con-name bridge0-port1
ifname ens19 master br0
Dies wird die beiden Schnittstellen ens18 und ens19 zur Brücke br0 hinzufügen.
Sie können das br0-Interface aktivieren, um eine IP-Adresse über DHCP zu erhalten, indem Sie den folgenden Befehl ausführen:
sudo nmcli con up br0
4.3. Festlegen einer statischen IP-Adresse für die Netzwerkbrücken-Schnittstelle
Sie können eine statische IP-Adresse für die Netzwerkbrücken-Schnittstelle konfigurieren, indem Sie die folgenden Befehle ausführen.
nmcli connection modify br0 ipv4.addresses 192.168.0.2/24
nmcli connection modify br0 ipv4.gateway 192.168.0.1
nmcli connection modify br0 ipv4.dns 192.168.0.254
nmcli connection modify br0 ipv4.dns-search my.company
nmcli connection modify br0 ipv4.method manual
Sie können das br0-Interface aktivieren, indem Sie den folgenden Befehl ausführen:
nmcli con up br0
4.4. Anzeigen von Schnittstellen in einem Bridge mit dem nmcli
-Tool
Um eine Zusammenfassung des Gesamtstatus der Bridge anzuzeigen, führen Sie den folgenden Befehl aus:
nmcli device show
Verwenden Sie das ip-Tool, um den Verbindungsstatus von Ethernet-Geräten anzuzeigen, die Ports einer bestimmten Brücke sind:
ip link show master bridge0
3: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:62:61:0e brd ff:ff:ff:ff:ff:ff
4: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:9e:f1:ce brd ff:ff:ff:ff:ff:ff
Verwenden Sie das Bridge-Dienstprogramm, um den Status von Ethernet-Geräten anzuzeigen, die Ports eines beliebigen Bridge-Geräts sind:
bridge link show
3: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state forwarding priority 32 cost 100
4: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master bridge0 state listening priority 32 cost 100
...
Was ist eine Netzwerkbrüccke in Linux?
Eine Netzwerkbrüccke in Linux ist eine Softwarekomponente, die mehrere Netzwerksegmente verbindet und es ihnen ermöglicht, als ein einzelnes physisches Netzwerk zu funktionieren.
Es funktioniert auf der Sicherungsschicht (Layer 2) des OSI-Modells und leitet den Datenverkehr gemäß den MAC-Adressen.
Ein Netzwerkbrüccke wird häufig verwendet, um virtuelle Maschinen oder Container mit dem physischen Netzwerk des Hosts zu integrieren, zwei oder mehr physische Ethernet-Schnittstellen zu verbinden oder ein transparentes Netzwerksegment zu erstellen.
Die Hauptmerkmale einer Linux-Netzwerkbrüccke sind wie folgt.
- Transparent: Geräte in verschiedenen Segmenten nehmen einander als Teil desselben Netzwerks wahr.
- Layer 2-Betrieb: Leitet Pakete unter Verwendung von MAC-Adressen anstelle von IP-Adressen weiter.
- Ermöglicht mehrere Schnittstellen: In der Lage, mehrere Netzwerkschnittstellen in eine einzige logische Schnittstelle zu integrieren.
Was ist der Unterschied zwischen einem Linux-Bridge und einem Switch?
Eine Linux-Brüccke und ein Switch weisen ähnliche Funktionen auf; dennoch gibt es erhebliche Unterschiede in ihrer Implementierung, Nutzung und ihren Eigenschaften.
Eine Linux-Brüccke ist ein softwaredefiniertes Layer-2-Gerät, das in den Linux-Kernel integriert ist und verwendet wird, um Netzwerkteilsegmente durch das Weiterleiten von Frames basierend auf MAC-Adressen zu verbinden.
Es wird hauptsächlich in der Virtualisierung, Containerisierung und in kleinen Netzwerkkonfigurationen verwendet. Im Gegensatz dazu ist ein Switch ein hardwarebasiertes Layer-2-Netzwerkgerät, das zum Verbinden verschiedener Geräte innerhalb eines lokalen Netzwerks (LAN) entwickelt wurde und Frames mithilfe von MAC-Adressen leitet.
Switches sind speziell fücr Hochleistungs-Netzwerkumgebungen konzipiert. Während ein Linux-Bridge vollständig in Software innerhalb des Linux-Kernels arbeitet und allgemeine CPU-Ressourcen nutzt, ist ein Switch ein dediziertes Hardwaregerät, das mit spezialisierten Application-Specific Integrated Circuits (ASICs) ausgestattet ist, die die Leistung verbessern, die Latenz verringern und den Durchsatz erhöhen. Die Skalierbarkeit einer Linux-Brüccke ist begrenzt, was sie fücr kleine bis mittlere Konfigurationen geeignet macht. Im Gegensatz dazu sind Switches hoch skalierbar und eignen sich gut fücr große Netzwerke und Rechenzentren. Die Anwendungen einer Linux-Brüccke und eines Switches unterscheiden sich erheblich. Eine Linux-Brüccke wird häufig in Virtualisierungsplattformen (wie KVM, Docker und LXC) sowie in Entwicklungs- und Testumgebungen verwendet. Andererseits werden Switches häufig in Unternehmens-LAN-Netzwerken, Rechenzentrumsnetzwerken und groß angelegten Fertigungsumgebungen eingesetzt. Einer der Vorteile einer Linux-Brüccke ist, dass sie kostenlos, Open Source und äußerst flexibel ist. Es kann einfach mit Linux-Befehlen konfiguriert und verwaltet werden. Allerdings erfordert der Einsatz eines Switches eine Hardware-Investition. Während Switches im Vergleich zu Softwarelösungen eine begrenzte Flexibilität bieten, liefern sie ücberlegene Leistung und Zuverlässigkeit.
Funktion | Linux Bridge | Switch (Hardware) |
---|---|---|
Implementierung | Software-basiert (Linux-Kernel) | Dedizierte Hardware (ASIC-basiert) |
Leistung | Mäßig (CPU-abhängig) | Hoch (hardwarebeschleunigt) |
Skalierbarkeit | Begrenzt (kleine bis mittlere Setups) | Hoch (großflächige Unternehmensnutzung) |
Funktionen | Grundlegende Layer 2 Funktionen | Erweiterte Layer 2 & Layer 3 Funktionen |
Anwendungsfälle | Virtualisierung, kleine Setups | Große Netzwerke, Rechenzentren |
Kosten | Kostenlos/Open-Source | Hardwarekosten |
Tabelle 1. Linux Bridge vs Switch
Gibt es eine Standard-Linux-Brüccke?
Linux kommt standardmäßig nicht mit einer vorkonfigurierten Netzwerkbrüccke. Eine Linux-Brüccke muss absichtlich vom Systemadministrator oder mit Hilfe von Netzwerkmanagement-Tools eingerichtet und konfiguriert werden.
Dennoch generieren bestimmte Virtualisierungs- oder Containerisierungslösungen (wie Docker, libvirt/KVM oder LXC) oft automatisch ihre eigenen Brüccken während der Installation oder Aktivierung. Zum Beispiel erstellt Docker eine Standardbrüccke mit dem Namen docker0
, und libvirt/KVM erstellt oft eine Standardbrüccke mit dem Namen virbr0
.
Was macht eine Netzwerkbrüccke?
Eine Netzwerkbrüccke verbindet zwei oder mehr separate Netzwerksegmente, sodass sie kommunizieren können, als wären sie ein einziges, einheitliches Netzwerk. Es arbeitet auf der Data Link-Schicht (Schicht 2) des OSI-Modells. Die Hauptfunktionen einer Netzwerkbrüccke sind unten aufgefüchrt.
- Verbindet Netzwerkssegmente: Brüccken mehrere Segmente oder LANs, wodurch Geräte in diesen Segmenten nahtlos kommunizieren können.
- Rahmenweiterleitung (MAC-basiert): Leitet Netzwerkrahmen basierend auf MAC-Adressen weiter
- Netzwerksegmentierung und Reduzierung der Kollisionsdomänen: Teilt Netzwerke in kleinere Segmente auf, reduziert Kollisionen und verbessert die Gesamtleistung des Netzwerks.
- Schleifenvermeidung: Implementiert Protokolle wie das Spanning Tree Protocol (STP), um Schleifen und Broadcast-Stücrme im Netzwerk zu vermeiden.
Wie funktioniert eine Netzwerkbrüccke?
Wenn ein Switch einen Frame empfängt, füchrt er die folgenden Aufgaben aus.
- Es ücberprücft die Quell-MAC-Adresse und aktualisiert seine interne MAC-Adressentabelle.
- Dann ücberprücft es die Ziel-MAC-Adresse.
- Wenn die Ziel-MAC-Adresse sich in einem anderen Segment befindet, leitet der Bridge den Frame an dieses Segment weiter.
- Wenn die Ziel-MAC im selben Segment ist, verwirft der Bridge den Frame (um unnötigen Verkehr zu vermeiden).
- Wenn die Ziel-MAC unbekannt ist, leitet der Switch den Frame an alle Segmente weiter, außer an das, von dem er kam (Flooding).
Was ist der Unterschied zwischen einer Linux-Brücckenverbindung und einer Netzwerkdurchleitung?
Im Linux-Netzwerk sind Bridge Connection und Network Passthrough zwei verschiedene Methoden zur Verwaltung von Netzwerkschnittstellen und -verbindungen, die jeweils unterschiedliche Funktionen erfücllen. Im Folgenden finden Sie eine Zusammenfassung der Unterschiede zwischen einer Linux-Brüccke und einem Netzwerk-Passthrough.
Ein Linux-Bridge fungiert als virtueller Netzwerkswitch, der mehrere Netzwerkschnittstellen verbindet und ihnen ermöglicht, so zu kommunizieren, als wären sie direkt innerhalb desselben physischen Netzwerksegments verbunden. Es arbeitet auf Layer 2 (Data Link Layer) und leitet den Verkehr basierend auf MAC-Adressen. Im Gegensatz dazu ermöglicht der Netzwerk-Passthrough, auch bekannt als PCI-Passthrough oder Direct Device Assignment, dass ein physisches Netzwerkgerät direkt einer virtuellen Maschine zugewiesen wird. Diese Methode umgeht den Netzwerk-Stack des Hosts vollständig und gibt der virtuellen Maschine die vollständige Kontrolle ücber die Netzwerkhardware. Infolgedessen verwaltet oder erkennt das Host-Betriebssystem die Netzwerk-Schnittstelle nicht mehr, sobald sie durchgereicht wurde. Netzwerk-Passthrough bietet verbesserte Leistung und geringere Latenz.
Während ein Linux-Bridge häufig fücr Virtualisierung (z.B. KVM/QEMU), Container-Netzwerk (Docker) und grundlegende Netzwerkfreigabe verwendet wird, wird Network Passthrough in Hochleistungs-Netzwerkszenarien bevorzugt, wie z.B. bei schneller Paketverarbeitung, Gaming-VMs, Hochfrequenzhandel und Situationen, die exklusiven Zugriff auf Netzwerkhardware fücr eine virtuelle Maschine erfordern.
Sie sollten einen Linux Bridge wählen, wenn Sie flexibles, gemeinsames Networking fücr mehrere virtuelle Maschinen oder Container benötigen und einen einfacheren Einrichtungs- und Verwaltungsprozess bevorzugen. Andererseits ist der Netzwerk-Passthrough die beste Option, wenn Sie optimale Netzwerkleistung und niedrige Latenz benötigen oder wenn Sie dedizierte Hardware haben, die ausschließlich fücr die Nutzung durch eine virtuelle Maschine vorgesehen ist.
Funktion / Aspekt | Linux Bridge-Verbindung | Netzwerk-Passthrough |
---|---|---|
Netzwerkschicht | Schicht 2 (Datensicherung) | Direkter Hardwarezugriff |
Leistung | Gut, moderater Overhead | Ausgezeichnet, minimaler Overhead |
Hardware-Zugriff | Geteilt | Exklusiv, dediziert |
Komplexität | Einfach zu konfigurieren | Schwieriger einzurichten |
Flexibilität | Hoch | Niedrig (dedizierte Hardware) |
Beispielanwendungen | VM-/Container-Netzwerk | Hochleistungsnetzwerk, dedizierte Firewall/Router |
Tabelle 2. Linux Bridge-Verbindung vs. Netzwerk-Passthrough