Website-Suche

So verwalten Sie Netzwerke mit NetworkManager in RHEL/CentOS 8


In RHEL und CentOS 8 wird der Netzwerkdienst vom NetworkManager-Daemon verwaltet und zur dynamischen Konfiguration und Steuerung von Netzwerkgeräten sowie zur Aufrechterhaltung der Verbindungen verwendet und aktiv, wenn sie verfügbar sind.

NetworkManager bietet zahlreiche Vorteile, wie z. B. Unterstützung für die einfache Netzwerkeinrichtung und -verwaltung mithilfe von Befehlszeilenschnittstellen- und grafischen Benutzeroberflächentools, Bereitstellung einer API über D-Bus, die die Abfrage und Steuerung der Netzwerkkonfiguration ermöglicht, sowie Unterstützung für Konfigurationsflexibilität und vieles mehr.

Darüber hinaus kann der NetworkManager auch mithilfe von Dateien und der Cockpit-Webkonsole konfiguriert werden und unterstützt die Verwendung benutzerdefinierter Skripts zum Starten oder Stoppen anderer Dienste basierend auf dem Verbindungsstatus.

Lesen Sie auch: So konfigurieren und verwalten Sie Netzwerkverbindungen mit dem Tool „nmcli“.

Bevor wir fortfahren, sind die folgenden weiteren wichtigen Punkte, die Sie zum Netzwerk in CentOS/RHEL 8 beachten sollten:

  • Die herkömmlichen Konfigurationsdateien vom Typ ifcfg (z. B. ifcfg-eth0, ifcfg-enp0s3) werden weiterhin unterstützt.
  • Netzwerkskripte sind veraltet und werden nicht mehr standardmäßig bereitgestellt.
  • Eine minimale Installation stellt eine neue Version der ifup- und ifdown-Skripte bereit, die NetworkManager über das nmcli-Tool aufrufen.
  • Um die Skripte ifup und ifdown auszuführen, muss NetworkManager ausgeführt werden.

NetworkManager unter CentOS/RHEL 8 installieren

Der NetworkManager sollte auf einer CentOS/RHEL 8-Basisinstallation vorinstalliert sein, andernfalls können Sie ihn wie gezeigt mit dem DNF-Paketmanager installieren.

dnf install NetworkManager

Die globale Konfigurationsdatei für NetworkManager befindet sich unter /etc/NetworkManager/NetworkManager.conf und zusätzliche Konfigurationsdateien finden Sie unter /etc/NetworkManager/ .

Verwalten von NetworkManager mit Systemctl unter CentOS/RHEL 8

In CentOS/RHEL 8 und anderen modernen Linux-Systemen, die den systemd (System- und Service-Manager) übernommen haben, werden Dienste mit dem Systemctl-Tool verwaltet.

Im Folgenden finden Sie nützliche systemctl-Befehle zum Verwalten des NetworkManager-Dienstes.

Überprüfen des Status von NetworkManager

Bei einer Minimalinstallation von CentOS/RHEL 8 sollte NetworkManager gestartet und aktiviert sein, um standardmäßig automatisch beim Booten zu starten. Mit den folgenden Befehlen können Sie überprüfen, ob NetworkManager aktiv und aktiviert ist, und Laufzeitstatusinformationen des NetworkManagers drucken.

systemctl is-active NetworkManager
systemctl is-enabled NetworkManager
systemctl status NetworkManager 

NetworkManager starten

Wenn der NetworkManager nicht läuft, können Sie ihn durch einfaches Ausführen starten.

systemctl start NetworkManager

NetworkManager wird gestoppt

Um den NetworkManager aus dem einen oder anderen Grund zu stoppen oder zu deaktivieren, geben Sie den folgenden Befehl ein.

systemctl stop NetworkManager

NetworkManager wird neu gestartet

Wenn Sie Änderungen an Schnittstellenkonfigurationsdateien oder der Konfiguration des NetworkManager-Daemons (normalerweise im Verzeichnis /etc/NetworkManager/) vorgenommen haben, können Sie den NetworkManager neu starten (anhalten und dann starten), um die Änderungen zu übernehmen gezeigt.

systemctl restart NetworkManager

NetworkManager wird neu geladen

Führen Sie den folgenden Befehl aus, um die Konfiguration des NetworkManager-Daemons (jedoch nicht die Einheitenkonfigurationsdatei von systemd) neu zu laden, ohne den Dienst neu zu starten.

systemctl reload NetworkManager

Verwenden der NetworkManager-Tools und Arbeiten mit ifcfg-Dateien

Der NetworkManager unterstützt einige Tools, mit denen Benutzer damit interagieren können:

  1. nmcli – ein Befehlszeilentool zur Netzwerkkonfiguration.
  2. nmtui – eine einfache, auf Curses basierende Textbenutzeroberfläche, die auch zum Konfigurieren und Verwalten von Newtwork-Schnittstellenverbindungen verwendet wird.
  3. Zu den weiteren Tools gehören der nm-connection-editor, das Control-Center und das Netzwerkverbindungssymbol (alle unter der GUI).

Um die von NetworkManager erkannten Geräte aufzulisten, führen Sie den nmcli-Befehl aus.

 
nmcli device 
OR
nmcli device status

Um alle aktiven Verbindungen anzuzeigen, führen Sie den folgenden Befehl aus (beachten Sie, dass ohne -a die verfügbaren Verbindungsprofile aufgelistet werden).

nmcli connection show -a

Legen Sie eine statische IP-Adresse unter CentOS/RHEL 8 fest

Netzwerkschnittstellenspezifische Konfigurationsdateien befinden sich im Verzeichnis /etc/sysconfig/network-scripts/. Sie können jede dieser Dateien bearbeiten, um beispielsweise eine statische IP-Adresse für Ihren CentOS/RHEL 8-Server festzulegen.

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Hier ist eine Beispielkonfiguration zum Festlegen einer statischen IP-Adresse.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=e81c46b7-441a-4a63-b695-75d8fe633511
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.0.110
PREFIX=24
GATEWAY=192.168.0.1
DNS1=8.8.8.8
PEERDNS=no

Nachdem Sie die Änderungen gespeichert haben, müssen Sie alle Verbindungsprofile neu laden oder den NetworkManager neu starten, damit die neuen Änderungen wirksam werden.

nmcli connection reload
OR
systemctl restart NetworkManager

Starten oder Stoppen von Netzwerkdiensten/Skripten basierend auf der Netzwerkkonnektivität

NetworkManager verfügt über eine nützliche Option, die es Benutzern ermöglicht, Dienste (wie NFS, SMB usw.) oder einfache Skripte basierend auf der Netzwerkkonnektivität auszuführen.

Wenn Sie beispielsweise ein Remote-Verzeichnis automatisch lokal mit sshfs bereitstellen, SMB-Freigaben oder NFS-Freigaben bereitstellen möchten, nachdem Sie zwischen Netzwerken gewechselt haben. Möglicherweise möchten Sie, dass solche Netzwerkdienste erst ausgeführt werden, wenn NetworkManager aktiv ist (alle Verbindungen sind aktiv).

Diese Funktion wird vom Dienst NetworkManager-dispatcher bereitgestellt (der gestartet und aktiviert werden muss, damit er beim Systemstart automatisch startet). Sobald der Dienst ausgeführt wird, können Sie Ihre Skripts zum Verzeichnis /etc/NetworkManager/dispatcher.d hinzufügen.

Alle Skripte müssen ausführbar und beschreibbar sein und im Besitz von Root sein, zum Beispiel:

chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh

Wichtig: Die Dispatcher-Skripte werden zum Zeitpunkt der Verbindung in alphabetischer Reihenfolge und zum Zeitpunkt der Trennung in umgekehrter alphabetischer Reihenfolge ausgeführt.

Verwendung älterer Netzwerkskripte

Wie bereits erwähnt, sind Netzwerkskripte in CentOS/RHEL 8 veraltet und werden nicht standardmäßig installiert. Wenn Sie die Netzwerkskripte weiterhin verwenden möchten, müssen Sie das Paket Netzwerkskripte installieren.

yum install network-scripts

Nach der Installation stellt dieses Paket eine neue Version der ifup- und ifdown-Skripte bereit, die NetworkManager über das nmcli-Tool aufrufen haben wir oben angeschaut. Beachten Sie, dass NetworkManager ausgeführt werden sollte, damit Sie diese Skripts ausführen können.

Weitere Informationen finden Sie auf den Manpages systemctl und NetworkManager.

man systemctl
man NetworkManager

Das ist alles, was wir in diesem Artikel vorbereitet haben. Über das unten stehende Feedback-Formular können Sie sich zu jedem Punkt klären lassen, Fragen stellen oder Ergänzungen zu diesem Leitfaden vornehmen.