So konfigurieren Sie die Netzwerkschnittstellenbindung unter RHEL 8 / CentOS 8 Linux

So konfigurieren Sie die Netzwerkschnittstellenbindung unter RHEL 8 / CentOS 8 Linux

Die Netzwerkschnittstellenbindung besteht aus der Aggregation von zwei oder mehr physischen Netzwerkschnittstellen, genannt Sklaven, unter einer logischen Schnittstelle aufgerufen Meister oder Bindung Schnittstelle. Abhängig vom Bindungsmodus kann ein solcher Setup nützlich sein, um Fehlertoleranz und/oder Lastausgleich zu erreichen. In diesem Tutorial erfahren wir, was die verfügbaren Bonding -Modi sind und wie eine Netzwerkbindung auf RHEL 8 / CentOS 8 erstellt werden kann.

In diesem Tutorial lernen Sie:

  • Was ist Netzwerkschnittstellenbindung
  • So konfigurieren Sie die Netzwerkschnittstellenbindung auf RHEL 8 / CentOS 8
  • Was sind die unterschiedlichen Bindungsmodi


Der Bindungsstatus, wie der Linux -Kernel angezeigt wird

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Rhel 8 / Centos 8
Software Das NMTUI -Dienstprogramm zur Steuerung des NetworkManager -Daemons. Die Anwendung ist in einer minimalen Systeminstallation enthalten.
Andere Root -Berechtigungen zur Änderung der Systemeinstellungen
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Welcher Bindungsmodus?

Grundsätzlich können wir 7 Bindungsmodi verwenden, die wir verwenden können:

Runde Robin

Die Pakete werden in sequentieller Reihenfolge gleichermaßen auf alle Sklavenschnittstellen verteilt (von der ersten bis zur letzten). Dieser Modus bietet sowohl Lastausgleich als auch Fehlertoleranz, erfordert jedoch Unterstützung für die Switches.



Aktive Sicherung

Es wird nur die primäre Sklavenschnittstelle verwendet. Wenn es fehlschlägt, wird an seiner Stelle ein anderer Sklave verwendet. Es liefert nur Fehlertoleranz; Es gibt keine besonderen Anforderungen.

Xor (exklusiv oder)

Die Pakete werden abhängig vom Hash der Quell- und Ziel -MAC -Adressen einer der Sklavenschnittstellen übertragen und zugeordnet, die mit der folgenden Formel berechnet wurden:

[(Quell -MAC -Adresse XOR'D mit Ziel -MAC -Adresse) Modulo Slave Count]

Dieser Modus bietet sowohl Fehlertoleranz als auch Lastausgleich.

Übertragen

Wenn dieser Modus verwendet wird.

802.3ad

Dieser Modus verwendet das IEEE 802.3AD -Link -Aggregation, die auf den Switches unterstützt werden muss. Erstellt Aggregationsgruppen, die gleiche Geschwindigkeits- und Duplex -Einstellungen teilen. Überträgt und empfängt alle Sklaven in der aktiven Gruppe. Bietet sowohl Lastausgleich als auch Fehlertoleranz.

Adaptiver Sendelastausgleich

Ausgehende Pakete werden je nach Last über die Sklavenschnittstellen übertragen, und der ankommende Verkehr wird vom aktuellen Sklaven empfangen. Wenn letzteres fehlschlägt, übernimmt ein anderer Sklave seine MAC -Adresse. Dieser Modus bietet Fehlertoleranz und Lastausgleich.

Adaptiver Lastausgleich

Funktioniert wie das Adaptiver Sendelastausgleich, aber bietet auch eingehende ausbalancieren über ARP (Ansprache des Auflösungsprotokolls) Verhandlung.

Die Umgebung

Für dieses Tutorial werden wir an einem virtualisierten Red Hat Enterprise Linux 8 -System arbeiten. Um unsere Netzwerkbindung zu erstellen, werden wir arbeiten NMtui, Ein Dienstprogramm für Textbenutzerschnittstelle zur Steuerung des Netzwerk Manager Dämon. Die gleichen Operationen können jedoch mit dem durchgeführt werden nmcli Befehlszeilen -Dienstprogramm oder über GUI mit dem Netzwerkmanagerverbindungs ​​-Editor.

Das System hat derzeit zwei Ethernet Links, ENP1S0
Und ENP7S0:

1: LO: MTU 65536 Qdisc Noqueue State Unbekannte Modus Standardgruppe Standard Qlen 1000 Link/Loopback 00: 00: 00: 00: 00: 00 BRD 00: 00: 00: 00: 00: 00 2: ENP1S0: MTU 1500 qdisc fq_codel Status UP -Modus Standardgruppe Standard Qlen 1000 Link/Ether 52: 54: 00: CB: 25: 82 BRD FF: FF: FF: FF: FF: FF 3: ENP7S0: MTU 1500 QDISC FQ_CODEL STATE UP -MODEL -BUG -Default Qlen 1000 Link/Ether 52: 54: 00: 32: 37: 9B BRD FF: FF: FF: FF: FF: FF 

Erstellen der Netzwerkbindung

Als erstes löschen wir die aktuellen vorhandenen Konfigurationen für die Sklavenschnittstellen. Dies ist nicht ausschließlich notwendig, da wir solche Konfigurationen vor Ort bearbeiten können, aber um von vorne zu beginnen, werden wir auf diese Weise vorgehen. Lass uns aufrufen NMtui:

$ sudo nmtui

Im Hauptmenü wählen wir "eine Verbindung bearbeiten" und bestätigen Sie.



NMtui Hauptmenü.

Wir wählen zuerst die Verbindung zum Löschen in der Liste aus und fahren dann fort . Endlich bestätigen wir:



NMtui -Verbindungsliste.

Schließlich bestätigen wir, dass wir die Verbindung löschen möchten:



NMTUI -Bestätigungsaufforderung zum Löschen einer vorhandenen Verbindung.

Wir wiederholen den Vorgang für die andere Schnittstelle. Sobald wir alle existierenden Konfigurationen entfernt haben, können wir die erstellen Bindung Schnittstelle. Wir wählen Im Menü und in der Liste der Verbindungstypen wählen wir Bindung:



NMTUI -Auswahlmenü vom Anschlusstyp.

Ein neues Fenster wird geöffnet, in dem wir unsere Schnittstelle konfigurieren können. In diesem Fall werde ich auch wenn es völlig optional ist, werde ich verwenden Bond0 sowohl als Profil als auch als Gerätename. Der wichtigste Teil ist jedoch die Auswahl der Sklavenschnittstellen, die der Bindung hinzugefügt werden sollen. Im Bond -Sklaven Menü, klicken Sie auf , und wählen Sie in diesem Fall die Art der Sklavenverbindung aus Ethernet.



Das NMTUI -Menü, um den Slave -Verbindungs ​​-Typ auszuwählen.

Geben Sie den Gerätenamen ein, wählen Sie und bestätigen. Die Operation muss für jede der Sklavenschnittstellen wiederholt werden.



NMtui -Schnittstelle zur Bearbeitung der Sklavenverbindung.

Der nächste Schritt besteht darin, die auszuwählen Bindungsmodus: Für dieses Tutorial werden wir die verwenden Aktive Sicherung eins. Wir wählen die zugehörige Option im Menü und im Feld „Primär“ den Namen der primären Slave -Schnittstelle an. Schließlich wählen wir nur aus Um die Erstellung von Bond -Schnittstellen zu bestätigen.



Das Netzwerkbindungs ​​-Setup.

Wir können jetzt die verlassen NMtui Anwendung. Um zu überprüfen, ob die Bonding -Kreation erfolgreich war, können wir den folgenden Befehl starten:

$ ip adDr show bond0

Das Ergebnis ist das folgende:

4: Bond0: MTU 1500 Qdisc Noqueue State UP Group Standard Qlen 1000 Link/Ether 52: 54: 00: CB: 25: 82 BRD FF: FF: FF: FF: FF: FF INET 192.168.122.164/24 BRD 192.168.122.255 Global Dynamic NoprefixRoute Bond0 valid_lft 3304sec bevorzug 

Der IFCFG Konfigurationsdateien im Zusammenhang mit unserer Konfiguration wurden in den generiert /etc/sysconfig/network-scripts Verzeichnis:

$ ls/etc/sysconfig/network-scripts ifcfg-bond0 IFCFG-ENP1S0 IFCFG-ENP7S0 

Um den aktuellen Stand der zu sehen Bond0 Schnittstelle, wie vom Kernel gesehen, können wir ausführen:

$ cat/proc/net/bonding/bond0

Die Ausgabe des Befehls wird unten angegeben:

Ethernet -Kanal -Bonding -Treiber: v3.7.1 (27. April 2011) Bindungsmodus: Fehlertoleranz (Active-Backup) Primär Slave: ENP1S0 (Primary_Reselect Immer) Derzeit Active Slave: ENP1S0 MII Status: UP MII-Wahlintervall (MS): 100 Up Delay (MS): 0 Down Delay (MS): 0 Slave -Schnittstelle: ENP1S0 MII Status: Up -Geschwindigkeit: Unbekannter Duplex: Unbekanntes Link Fehleranzahl: 0 Permanent HW ADDR: 52: 54: 00: CB: 25: 82 Slave Warteschlangen -ID: 0 Slave -Schnittstelle: ENP7S0 Mii Status: Up Drehzahl: Unbekannter Duplex: Unbekannter Linkausfallanzahl: 0 Permanent HW ADDR: 52: 54: 00: 32: 37: 9B Slave Warteur ID: 0 


Wir können sehen, wie beide Sklavenoberflächen in Betrieb sind, aber nur ENP1S0 ist aktiv, da es derjenige ist, der als primärer Sklave verwendet wird.

Testen der aktiven Sicherung

Wie können wir überprüfen, ob unsere Konfiguration funktioniert?? Wir können die primäre Sklavenschnittstelle niederlegen und sehen, ob die Maschine immer noch auf Pings reagiert. Um die Schnittstelle zu fällen, werden wir ausgeführt:

$ sudo ip link set ENP1S0 Down

Reagiert die Maschine noch?? Überprüfen wir es:

$ ping -c3 192.168.122.164 Ping 192.168.122.164 (192.168.122.164) 56 (84) Datenbytes von Daten. 64 Bytes von 192.168.122.164: ICMP_SEQ = 1 TTL = 64 Time = 0.385 ms 64 Bytes von 192.168.122.164: ICMP_SEQ = 2 TTL = 64 Time = 0.353 ms 64 Bytes von 192.168.122.164: ICMP_SEQ = 3 TTL = 64 Time = 0.406 ms --- 192.168.122.164 Ping-Statistiken --- 3 Pakete übertragen, 3 empfangen, 0% Paketverlust, Zeit 88 ms RTT min/avg/max/mdev = 0.353/0.381/0.406/0.027 ms 

Es tut! Mal sehen, wie sich der Status der Bindung verändert hat:

Ethernet -Kanal -Bonding -Treiber: v3.7.1 (27. April 2011) Bindungsmodus: Fehlertoleranz (Active-Backup) Primär Slave: ENP1S0 (Primary_Reselect Immer) Derzeit Active Slave: ENP7S0 MII Status: UP MII-Wahlintervall (MS): 100 Up Delay (MS): 0 Down Delay (MS): 0 Slave -Schnittstelle: ENP1S0 MII Status: Down -Geschwindigkeit: Unbekannter Duplex: Unbekanntes Link Fehleranzahl: 1 Permanent HW ADDR: 52: 54: 00: CB: 25: 82 Slave -Warteschlangen -ID: 0 Slave -Schnittstelle: ENP7S0 Mii Status: Up Drehzahl: Unbekannter Duplex: Unbekannter Linkausfallanzahl: 0 Permanent HW ADDR: 52: 54: 00: 32: 37: 9B Slave Warteur ID: 0 


Wie Sie sehen können, da wir die primäre Sklavenschnittstelle niederlegen (ENP1S0) der andere Sklave, ENP7S0 wurde als Backup verwendet und ist jetzt der derzeit aktive. zusätzlich Linkausfallanzahl für den primären Sklaven erhöhte sich und ist jetzt jetzt 1.

Schlussfolgerungen

In diesem Tutorial haben wir gelernt, was eine Netzwerkbindung ist und wie möglich die Möglichkeit, eine Netzwerkbindung zu konfigurieren. Wir haben auch eine Netzwerkbindung zwischen zwei Ethernet -Schnittstellen erstellt, die mit dem Aktive Sicherung Modus. Mit Red Hat Enterprise Linux 7 wurde ein neues Konzept eingeführt, Netzwerkteaming. In einigen Aspekten ähnelt das Teaming der Bindung, wird jedoch unterschiedlich umgesetzt und hat mehr Größen. Wir werden es in zukünftigen Artikeln behandeln.

Verwandte Linux -Tutorials:

  • Lösen des Fehlers "Segmentierungsfehler" unter Linux
  • Dinge zu installieren auf Ubuntu 20.04
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…
  • So verwenden Sie überbrückte Netzwerke mit Libvirt und KVM
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • So installieren Sie Kubernetes auf Ubuntu 22.04 Jammy Quallen…
  • So installieren Sie Kubernetes auf Ubuntu 20.04 fokale Fossa Linux
  • Wie oft müssen Sie Ihren Linux -Server neu starten??
  • So erstellen Sie einen Kubernetes -Cluster