In diesem Leitfaden werden wir zwei wesentliche Netzwerkkonzepte diskutieren, die überbrücken und verbinden. Wir werden sehen, wie Sie die Bridges und Bonds im Linux-System einrichten, ändern und löschen. Wir zeigen das Verfahren auf Linux Mint 20 Ulyana-System. Sie können das gleiche Verfahren jedoch auch unter Ubuntu oder Debian implementieren.
Voraussetzungen:
- Linux-System mit mindestens zwei Netzwerkschnittstellen
- Sudo-Benutzer
Brücken
Bridging ist das Erstellen einer Brücke zwischen zwei oder mehr Netzwerkschnittstellen, um den Datenverkehr zwischen ihnen weiterzuleiten. Es ermöglicht Ihnen, die Internetverbindung Ihres Systems mit anderen Systemen zu teilen. Stellen Sie sich ein Szenario vor, in dem System A (ohne Internetverbindung) eine Verbindung mit der Internetverbindung eines anderen Systems B herstellen möchte. Sie müssen nur beide Systeme mit einem Ethernet-Kabel verbinden und eine Brücke zwischen ihnen bauen. Dazu benötigen Sie jedoch zwei Schnittstellen an Ihrem System B. Eine Schnittstelle wird mit dem Internet verbunden und die andere wird mit System A verbunden.
Brücke einrichten
In unserem Beispiel bauen wir eine Brücke br0 zwischen zwei Schnittstellen, ens33 und ens39. Das enss33 Schnittstelle verbindet sich mit dem Internet, während sich das ens39 mit dem zweiten System verbindet (das eine Internetverbindung benötigt). Wir bauen die Brücke über DHCP.
Zuerst müssen Sie das erforderliche Programm bridge-utils installieren, um eine Brücke zu erstellen. Geben Sie den folgenden Befehl im Terminal aus, um bridge-utils zu installieren:
$ sudo apt install bridge-utilsErstellen Sie eine Bridge-Netzwerkschnittstelle mit dem folgenden Befehl im Terminal:
$ brctl addbr br0Dieser Befehl erstellt eine Brücke namens br0. Du kannst es nennen wie du willst.
Fügen Sie nun beide Schnittstellen hinzu, die Sie überbrücken möchten (eine, die mit dem Internet verbunden ist, und die andere, die mit dem zweiten System verbunden ist) mit der folgenden Syntax:
$ sudo brctl addifIn unserem Fall wäre das zum Beispiel:
$ sudo brctl addif br0 ens33 ens39Der obige Befehl fügt hinzu enss33 und ens39 zur Brücke br0.
Rufen Sie nun die Bridge-Schnittstelle auf:
$ ip link set devIn unserem Fall wäre es:
$ ip link set dev br0 upSie können auch den folgenden Befehl ausführen, um die Schnittstelle zum Laufen zu bringen (im Fall von DHCP).
$ sudo dhclient br0Bearbeiten Sie nun die /etc/network/interfaces-Datei und füge die folgenden Zeilen hinzu:
auto br0iface br0 inet dhcp
bridge_ports ens33 ens39
Starten Sie nun die Netzwerkdienste mit dem folgenden Befehl neu:
$ sudo systemctl Neustart des Netzwerks. BedienungJetzt ist die Bridge eingerichtet und Sie können hoffentlich von Ihrem zweiten System aus auf das Internet zugreifen.
Brücke ansehen
Sie können den folgenden Befehl verwenden, um alle konfigurierten Bridges auf Ihrem System und die daran angeschlossenen Schnittstellen anzuzeigen.
$ brctl-Show
Brücke ändern
Fügen Sie eine Schnittstelle zu Bridge hinzu
Sie können eine Schnittstelle zu einer bereits bestehenden Bridge wie folgt hinzufügen:
$ sudo brctl addif bridge_name interface_nameUm beispielsweise eine Schnittstelle namens . hinzuzufügen ens38 zur bereits bestehenden Brücke namens br0, der Befehl wäre:
$ sudo brctl addif br0 ens38Schnittstelle von Bridge löschen
Sie können eine Schnittstelle auch wie folgt aus einer Bridge löschen:
$ sudo brctl delif bridge_name interface_nameUm beispielsweise eine Schnittstelle namens zu löschen ens38 von der Brücke namens br0, der Befehl wäre:
$ sudo brctl delif br0 ens38Eine Brücke löschen
Um eine Bridge von Ihrem System zu löschen, müssen Sie sie zuerst herunterfahren. Verwenden Sie dazu den folgenden Befehl:
$ sudo ip link set dev bridge_name downUm beispielsweise eine Brücke namens zu löschen br0, Bring es zuerst runter:
$ sudo ip link set dev br0 downVerwenden Sie dann den folgenden Befehl, um die Bridge zu löschen:
$ sudo brctl delbr bridge_nameIn unserem Beispiel wäre der Befehl:
$ sudo brctl delbr br0Netzwerk-Bonding
Network Bonding kombiniert mehrere Netzwerkschnittstellen, um sie als eine einzige Schnittstelle darzustellen, wodurch ihre Bandbreite in einer einzigen Verbindung zusammengefasst wird. Bonding-Netzwerkschnittstellen erhöhen den Durchsatz, bieten hohe Verfügbarkeit und Failover in Situationen, in denen eine der Schnittstellen ausfällt.
Es gibt verschiedene Arten der Netzwerkbindung, die wie folgt sind:
- mode=0 (Balance Round Robin)
- mode=1 (Aktive Sicherung)
- Modus=2 (Balance XOR)
- Modus=3 (Broadcast)
- Modus=4 (802.3ad)
- Modus=5 (Balance TLB)
- Modus=6 (Balance ALB)
Netzwerk-Bonding einrichten
In dieser Anleitung werden wir Modus 1 (Aktiver Backup-Modus). Wir verbinden zwei Schnittstellen bond, ens33 und ens38. Das ens33 wird unsere aktive Schnittstelle sein, während ens38 wird die Backup-Schnittstelle sein.
Zuerst müssen Sie die installieren wennsklave Werkzeug auf Ihrem System. Geben Sie dazu den folgenden Befehl im Terminal ein:
$ apt install ifenslave
Laden Sie dann das Kernel-Modul mit dem folgenden Befehl:
$ Sudo Modprobe-BondingDer obige Befehl fügt dem Linux-Kernel zusätzliche Funktionen hinzu.
Finden Sie jetzt Ihre Netzwerkschnittstellen heraus. Sie können dazu den folgenden Befehl verwenden:
$ IP-LinkDie folgende Ausgabe zeigt, dass es zwei Netzwerkschnittstellen gibt ens33 und ens38 außer der Loopback-Schnittstelle. Wir verbinden die beiden Schnittstellen, ens33 und ens38, in einer Anleihe namens Bindung0.
Bearbeiten Sie nun die Netzwerkschnittstellendateien mit dem folgenden Befehl im Terminal:
$ sudo nano /etc/network/interfacesÄndern Sie die Datei wie folgt:
Stellen Sie sicher, dass Sie den Namen der Schnittstelle durch Ihren ersetzen.
auto ens33iface ens33 inet-Handbuch
Bindung-Master-Bindung0
Bindungsprimär ens33 ens38
auto ens38
iface ens38 inet handbuch
Bindung-Master-Bindung0
Bindungsprimär ens33 ens38
Auto-Bond0
iface bond0 inet dhcp
Bond-Sklaven keine
Bindungsmodus 1
Bond-Miimon 100
Speichern und schließen Sie nun die Schnittstellenkonfigurationsdatei.
Starten Sie nun den Netzwerkdienst mit dem folgenden Befehl neu:
$ sudo systemctl Neustart des Netzwerks.BedienungFühren Sie den Befehl „ifconfig“ oder „ip a“ aus, und dieses Mal sehen Sie das Bindung0 als separate Schnittstelle mit zugeordneter IP-Adresse. Sie können auch sehen, dass dem keine IP-Adresse zugewiesen ist ens33 und ens38 Schnittstellen.
Testverbindung
Um zu überprüfen, ob das Bonden funktioniert, geben Sie den folgenden Befehl ein:
$ cat /proc/net/bonding/bond0Die folgende Ausgabe zeigt, dass der Bindungsmodus Aktiv-Backup, und sowohl der primäre als auch der derzeit aktive Slave ist ens33.
Jetzt testen aktiver Backup-Modus, Führen Sie einen kontinuierlichen Ping von einem anderen System im Netzwerk an die IP-Adresse des Bonding-Servers aus (in unserem Fall 192 .).168.72.179). Dein Ping sollte erfolgreich funktionieren. Versuchen Sie dann, die aktive Schnittstelle herunterzufahren und sehen Sie, ob der Ping fortgesetzt oder gestoppt wird. Wenn der Ping anhält, bedeutet dies, dass das Bonding erfolgreich konfiguriert wurde.
Wenn Sie den folgenden Befehl ausführen, können Sie auch sehen, dass der primäre Slave ens33 ist down, während der aktuell aktive Slave jetzt ist ens38.
Bindung ändern
Aktive Slave-Schnittstelle ändern
Sie können die aktive Slave-Schnittstelle auch im Bonding ändern mit der -c Möglichkeit wie folgt:
$ sudo ifenslave -c Bindung active_interfaceIn unserem Szenario haben wir zum Beispiel ens33 als aktive Schnittstelle während ens38 als Backup-Schnittstelle. Einstellen ens38 als aktive Slave-Schnittstelle wäre der Befehl:
$ sudo ifenslave -c bond0 ens38Um nun zu bestätigen, ob sich die aktive Schnittstelle erfolgreich geändert hat, geben Sie den folgenden Befehl im Terminal aus:
$ cat /proc/net/bonding/bond0In der folgenden Ausgabe sehen Sie, dass sich die aktive Slave-Schnittstelle geändert hat auf ens38.
Bindungsmodus ändern
Um den Bonding-Modus zu ändern, bearbeiten Sie die /etc/network/interfaces-Datei und ändern Sie den Bond-Modus-Wert. Zum Beispiel, um die Bindungsmodus für Round-Robin ändern Sie den Wert von of Bond-Modus auf 0.
Bindungsmodus 0Um nun zu bestätigen, ob sich der Bonding-Modus erfolgreich geändert hat, geben Sie den folgenden Befehl im Terminal aus:
$ cat /proc/net/bonding/bond0In der folgenden Ausgabe ist klar, dass sich der Bond-Modus auf geändert hat Round-Robin.
Slave anhängen
Um eine neue Slave-Schnittstelle an eine bereits bestehende Bindung anzuhängen, verwenden Sie die folgende Syntax:
$ sudo ifenslave -v Bindung interface_nameDas -v wird hier für ausführliche Ausgabe verwendet.
Um beispielsweise eine neue Slave-Schnittstelle hinzuzufügen ens33 zu einem bereits bestehenden bond0 wäre der Befehl:
$ sudo ifenslave -v bond0 ens33
Sklave abziehen
Um eine Slave-Schnittstelle von einer Bindung zu trennen, verwenden Sie die -d Möglichkeit wie folgt:
$ sudo ifenslave -v Bindung interface_nameDas -v wird hier für ausführliche Ausgaben verwendet.
Zum Beispiel, um eine Slave-Schnittstelle zu trennen ens33 von Bindung0, der Befehl wäre:
$ sudo ifenslave -d -v bond0 ens33
Bindung löschen
Um die Bindung zu löschen, bearbeiten Sie die /etc/netzwerk.Interface-Datei, und entfernen Sie die Konfigurationen im Zusammenhang mit dem Bonden. Lassen Sie nur die Schnittstellenkonfiguration wie folgt:
auto ens33iface ens33 inet dhcp
auto ens38
iface ens38 inet dhcp
Speichern und schließen Sie dann die Schnittstellenkonfigurationsdatei.
Entfernen Sie nun die Bindung mit dem folgenden Befehl:
$ sudo rmmod klebenStarten Sie dann den Netzwerkdienst neu:
$ sudo systemctl Neustart des Netzwerks.BedienungDas ist alles! In diesem Artikel haben wir zunächst gezeigt, wie Sie eine Netzwerkbrücke einrichten, um die Internetverbindung mit anderen Systemen zu teilen. Dann haben wir gezeigt, wie man die Bridges modifiziert, indem man eine Schnittstelle zur Bridge hinzufügt oder entfernt. Als Nächstes haben wir gezeigt, wie Sie Netzwerkbindungen einrichten, um den Durchsatz, die Hochverfügbarkeit und das Failover zu erhöhen. Dann haben wir gezeigt, wie Sie eine Bindung ändern, indem Sie ihre aktiven Slaves ändern, Slaves anbringen/trennen und die Bindungsmodi ändern. Wir haben auch gezeigt, wie Sie die Bridges und Bonds löschen können, falls Sie sie nicht mehr benötigen.