Linux unterstützt die Implementierung einer Software-Netzwerkbrücke, um die Funktion einer Netzwerkbrücke zu reproduzieren, eines Netzwerkgeräts, das zwei oder mehr Kommunikationsnetzwerke oder Netzwerksegmente miteinander verbindet und ihnen ermöglicht, als ein einziges Netzwerk zu arbeiten. Es verhält sich fast wie ein Netzwerk-Switch und wird im Software-Sinne verwendet, um das Konzept von a zu implementieren virtual network switch.

Ein typischer Anwendungsfall von Software Network Bridging ist in einer Virtualisierungsumgebung, um virtuelle Maschinen (VMs) direkt mit dem Host-Server-Netzwerk zu verbinden. Auf diese Weise werden die VMs im selben Subnetz wie der Host bereitgestellt und können auf Dienste wie z DHCP und vieles mehr.

In diesem Artikel lernen Sie verschiedene Möglichkeiten zum Einrichten einer Netzwerkbrücke kennen Ubuntu und verwenden Sie es in einer Virtualisierungsumgebung, um virtuelle Netzwerke in einem Bridged-Modus unter VirtualBox zu erstellen und KVMum virtuelle Maschinen mit demselben Netzwerk wie der Host zu verbinden.

Installieren von Network Bridge-Dienstprogrammen in Ubuntu

Beginnen Sie mit der Installation der bridge-utils das Dienstprogramme zum Konfigurieren der Ubuntu-Ethernet-Bridge mit dem apt-Paketmanager enthält, wie gezeigt.

$ apt-get install bridge-utils

Identifizieren Sie als Nächstes den Schnittstellennamen für Ihr Ethernet-Gerät mit dem IP-Befehl wie gezeigt.

$ ip ad
OR
$ ip add
Überprüfen Sie die Netzwerkschnittstellen in Ubuntu

Erstellen einer Netzwerkbrücke mit NetPlan in Ubuntu

Netplan ist ein einfaches und benutzerfreundliches Front-End-Dienstprogramm zum Konfigurieren von Netzwerken in Linux mithilfe von YAML. Es unterstützt derzeit NetworkManager und systemd-netword als Backend-Tools.

So konfigurieren Sie das Netzwerk für eine Schnittstelle wie z bridgebearbeiten Sie Ihre netplan Konfigurationsdatei gefunden in /etc/netplan/.

Das Folgende ist eine Beispielkonfigurationsdatei, in der die renderer ist systemd-netword was die Vorgabe ist (ersetzen enp1s0 Name Ihrer Ethernet-Schnittstelle).

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
	     - enp1s0
Netplan-Konfigurationsdatei
Netplan-Konfigurationsdatei

Speichern Sie die Konfigurationsdatei und wenden Sie die Konfiguration an, um das Bridge-Netzwerk zu aktivieren, indem Sie den folgenden Befehl ausführen.

$ sudo netplan apply

Dann nutzen Sie die brctl um alle Bridges im System anzuzeigen. In diesem Fall ist die Ethernet wird automatisch als Port zur Bridge hinzugefügt.

$ sudo brctl show
Netzwerkbrücken anzeigen
Netzwerkbrücken anzeigen

Wenn Sie die erstellte Netzwerkbrücke herunterfahren oder deaktivieren möchten, löschen Sie sie mit den folgenden Befehlen.

$ sudo ip link set enp1s0 up
$ sudo ip link set br0 down
$ sudo brctl delbr br0
OR
$ sudo nmcli conn up Wired connection 1
$ sudo nmcli conn down br0
$ sudo nmcli conn del br0
$ sudo nmcli conn del bridge-br0

Erstellen einer Netzwerkbrücke mit Nmcli in Ubuntu

nmcli ist ein weit verbreitetes Netzwerkmanager-Befehlszeilentool zur Verwaltung NetworkManager (Netzwerkverbindungen erstellen, anzeigen, bearbeiten, löschen, aktivieren und deaktivieren) und Netzwerkgerätestatus anzeigen.

So erstellen Sie eine Netzwerkbrücke mit nmcliführen Sie den folgenden Befehl aus.

$ sudo nmcli conn add type bridge con-name br0 ifname br0
Erstellen Sie eine Netzwerkbrücke mit dem nmcli-Tool
Erstellen Sie eine Netzwerkbrücke mit dem nmcli-Tool

Fügen Sie dann die hinzu Ethernet als Port in der Brücke wie gezeigt (denken Sie daran, zu ersetzen enp1s0 Ihren Gerätenamen).

$ sudo nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp1s0 master br0
Fügen Sie einen Netzwerkbrückenport hinzu
Fügen Sie einen Netzwerkbrückenport hinzu

Bestätigen Sie als Nächstes, dass die bridge wurde erstellt, indem alle Netzwerkverbindungen angezeigt wurden.

$ sudo nmcli conn show --active
Überprüfen Sie die Netzwerkbrücke
Überprüfen Sie die Netzwerkbrücke

Als nächstes aktivieren Sie die bridge Verbindung wie folgt (Sie können entweder den Verbindungs-/Schnittstellennamen oder die UUID).

$ sudo nmcli conn up br0
OR
$ sudo nmcli conn up e7385b2d-0e93-4a8e-b9a0-5793e5a1fda3
Bridge-Netzwerkverbindung aktivieren
Bridge-Netzwerkverbindung aktivieren

Deaktivieren Sie dann die Ethernet oder Verbindung.

$ sudo nmcli conn down Ethernet connection 1
OR
$ sudo nmcli conn down 525284a9-60d9-4396-a1c1-a37914d43eff
Deaktivieren Sie die Ethernet-Verbindung
Deaktivieren Sie die Ethernet-Verbindung

Versuchen Sie nun erneut, aktive Verbindungen anzuzeigen, die Ethernet sollte jetzt ein Sklave in der sein bridge Verbindung, wie im folgenden Screenshot gezeigt.

$ sudo nmcli conn show --active
Überprüfen Sie die aktiven Netzwerkverbindungen
Überprüfen Sie die aktiven Netzwerkverbindungen

Erstellen einer Netzwerkbrücke mit dem nm-connection-editor-Tool

Zum Öffnen der nm-connection-editorführen Sie den folgenden Befehl im Terminal aus.

$ nm-connection-editor

Von dem network connections Editor-Fenster, klicken Sie auf die + unterschreiben, um ein neues Verbindungsprofil hinzuzufügen.

Fügen Sie eine neue Netzwerkverbindung hinzu
Fügen Sie eine neue Netzwerkverbindung hinzu

Als nächstes wählen Sie den Verbindungstyp als Bridge aus der Dropdown-Liste und klicken Sie auf Create.

Wählen Sie Netzwerkverbindungstyp
Wählen Sie Netzwerkverbindungstyp

Legen Sie als Nächstes den Bridge-Verbindungsnamen und den Schnittstellennamen fest.

Legen Sie den Bridge-Verbindungsnamen fest
Legen Sie den Bridge-Verbindungsnamen fest

Klicken Sie dann auf die Add um die Bridge-Slave-Ports hinzuzufügen, dh die Ethernet wie im folgenden Screenshot gezeigt. Auswählen Ethernet als Verbindungstyp und klicken Sie auf Create.

Fügen Sie eine Netzwerkbrückenverbindung hinzu
Fügen Sie eine Netzwerkbrückenverbindung hinzu

Legen Sie als Nächstes den Verbindungsnamen nach Ihren Wünschen fest und klicken Sie auf Save.

Legen Sie den Namen der neuen Bridge-Verbindung fest
Legen Sie den Namen der neuen Bridge-Verbindung fest

Unter bridged Verbindungen, die neue Verbindung sollte jetzt erscheinen.

Überprüfen Sie die neue Bridge-Verbindung
Überprüfen Sie die neue Bridge-Verbindung

Wenn Sie nun den Netzwerkverbindungseditor erneut öffnen, sollten die neue Bridge-Schnittstelle und die Slave-Schnittstelle wie im folgenden Screenshot angezeigt vorhanden sein.

Überprüfen Sie die Netzwerkbrückenverbindung
Überprüfen Sie die Netzwerkbrückenverbindung

Aktivieren Sie als Nächstes die Bridge-Schnittstelle und deaktivieren Sie die Ethernet-Schnittstelle mit dem Befehl nmcli.

$ sudo nmcli conn up br0
$ sudo nmcli conn down Ethernet connection 1

So verwenden Sie eine Netzwerkbrücke in einer Virtualisierungssoftware

Nach dem Einrichten a network bridge (virtueller Netzwerk-Switch), können Sie ihn in einer Virtualisierungsumgebung wie z Oracle VirtualBox und KVM um VMs mit dem Hostnetzwerk zu verbinden.

Verwenden einer Netzwerkbrücke in Oracle VirtualBox

Offen VirtualBoxdann aus der Liste von VMswählen Sie ein VM, dann klicken Sie auf seine Einstellungen. Gehen Sie im Einstellungsfenster zu Network und wählen Sie eine aus adapter (z.B Adapter 1).

Aktivieren Sie dann die Option Enable Network Adapterlegen Sie den Wert des an das Feld angehängten auf fest Bridged Adapterdann setzen Sie die Name der überbrückten Schnittstelle (zB br0) wie im folgenden Screenshot angegeben. Klicken Sie dann auf Ok.

Konfigurieren Sie die VM für die Verwendung des Bridge-Netzwerks in VirtualBox
Konfigurieren Sie die VM für die Verwendung des Bridge-Netzwerks in VirtualBox

Verwenden einer Netzwerkbrücke in KVM

Sie können die neue Netzwerkbrücke unter verwenden KVM durch Hinzufügen der –network=bridge=br0 beim Erstellen einer neuen virtuellen Maschine mit der virt-install.

# virt-install --virt-type=kvm --name Ubuntu18.04 --ram 1536 --vcpus=4 --os-variant=ubuntu18.04 --cdrom=/path/to/install.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/ubuntu18.04.qcow2,size=20,bus=virtio,format=qcow2

In der Webkonsole wird es automatisch ausgewählt. Außerdem können Sie auch eine Netzwerkbrücke mit konfigurieren virsh-line-Tool und die XML-Konfigurationsdatei einer VM.

Lesen Sie für weitere Einzelheiten die netplan und nmcli Manpages (durch Ausführen man netplan und man nmcli) sowie virtuelles Networking in libvirt und virtuelles Networking in VirtualBox. Sie können Fragen über den Kommentarbereich unten an uns stellen.