25.05.2023

So konfigurieren Sie mehrere Netzwerkschnittstellen CentOS 8

Wenn im System 2 oder mehr Netzwerkschnittstellen mit öffentlichen IP-Adressen vorhanden sind, reicht es nicht aus, für diese korrekte Netzwerkeinstellungen vorzunehmen, um deren Erreichbarkeit aus dem Internet sicherzustellen. Der Nachteil des Standard-Routings besteht darin, dass alle Netzwerkpakete den Host über das Standard-Gateway verlassen. Dabei spielt es keine Rolle, auf welche der Schnittstellen sie ursprünglich gekommen sind. In diesem Tutorial konfigurieren wir die Verfügbarkeit mehrerer Netzwerkschnittstellen von außen nach innen CentOS 8 mit quellenbasiertem Routing.

Netzwerkschnittstelle parameters

Cloud-Server in Serverspace haben die Funktion, Netzwerkschnittstellen automatisch zu konfigurieren, wenn sie hinzugefügt oder ein Server erstellt wird. Wenn Sie sie verwenden, fahren Sie daher mit dem nächsten Schritt fort. Andernfalls müssen Sie zunächst den richtigen Pa einstellenramParameter der Netzwerkschnittstellen.

Öffnen Sie die Datei mit den Netzwerkschnittstelleneinstellungen. Ihre Namen können mit der angezeigt werden ip a Befehl ausführen oder neue festlegen, wenn diese nicht konfiguriert sind.

nano /etc/sysconfig/network-scripts/ifcfg-enp0s5

Sie können die Konfiguration unten kopieren und die folgenden Werte durch Ihre eigenen ersetzen:

  • Schnittstellenname (enp0s5)
  • Gateway (GATEWAY)
  • MAC-Adresse (HWADDR)
  • IP-Adresse (IPADDR)
  • Subnetzmaske (NETMASK)
BOOTPROTO=keine
DEFROUTE=ja
DEVICE=enp0s5
GATEWAY=54.43.32.1
HWADDR=56:67:78:89:01:ab
IPADDR=54.43.32.11
MTU=1500
NETMASK = 255.255.255.0
ONBOOT = ja
STARTMODE=auto
TYP = Ethernet

Konfigurieren Sie alle Netzwerkschnittstellen auf die gleiche Weise. GATEWAY Für die zweite, dritte usw. Schnittstelle werden keine Angaben gemacht, da dies das Standard-Gateway ist und es nur eines geben sollte.

Deaktivieren Sie NetworkManager

Wir werden richtlinienbasiertes Routing mit konfigurieren Netzwerk-Skripte, also werden wir deaktivieren Netzwerk Manager und damit verbundene Dienstleistungen:

systemctl mask NetworkManager.service
systemctl stoppt NetworkManager.service
systemctl mask NetworkManager-wait-online.service
systemctl mask NetworkManager-dispatcher.service

Installieren Sie das Netzwerk-Skripte Paket.

DNF installiert Netzwerkskripte

Fangen wir an Netzwerkdienst:

systemctl Netzwerk aktivieren
systemctl Netzwerk starten

Quellenbasiertes Routing-Setup

Lassen Sie uns prüfen, ob die iproute Paket vorhanden ist. Wenn nicht, installieren Sie es.

dnf iproute installieren

Fügen Sie neue Tabellen hinzu, um Routing-Richtlinien zu konfigurieren.

nano /etc/iproute2/rt_tables

Fügen Sie Datensätze am Ende der Datei hinzu:

400 400
401 401

Jede Zeile ist eine neue Tabelle. Aufnahmeformat - Prioritätsliste space Tabellenname. Diese Werte müssen im Vergleich zu anderen Einträgen in der Datei eindeutig sein. Der Prioritätsliste ist numerisch, und die Tabellenname kann Buchstaben enthalten. Fügen Sie so viele neue Tabellen hinzu, wie Sie Schnittstellen einrichten.

Die folgenden Dateien enthalten die Routing-Einstellungen. Für jede Schnittstelle müssen Sie ein Dateipaar erstellen: Regel-Eth-Name, Route-Eth-Name, Wobei eth-name sollte durch den Namen der Schnittstelle ersetzt werden. Beispiel für enp0s5 Schnittstelle:

nano /etc/sysconfig/network-scripts/rule-enp0s5

Fügen Sie stattdessen die folgende Zeile mit der aktuellen IP-Adresse ein 54.43.32.11 und stattdessen den Namen der im vorherigen Schritt erstellten Tabelle 400:

von 54.43.32.11, Suche 400

Zweite Datei:

nano /etc/sysconfig/network-scripts/route-enp0s5

Ersetzen 54.43.32.0/24 mit der Adresse Ihres Subnetzes, enp0s5 mit dem Namen der Schnittstelle, 400 mit dem Namen der entsprechenden Tabelle und 54.43.32.1 mit dem Gateway zur Weiterleitung des Datenverkehrs und fügen Sie es in die geöffnete Datei ein:

54.43.32.0/24 dev enp0s5 Tabelle 400
Standarddev enp0s5 über 54.43.32.1 Tabelle 400

Nachdem Sie solche Dateien für jede Netzwerkschnittstelle erstellt haben, starten Sie den Netzwerkdienst neu und unser Ziel ist erreicht.

systemctl Netzwerk neu starten