Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / Konfigurieren des Netzwerks mit NetworkManager

Konfigurieren des Netzwerks mit NetworkManager

Veröffentlicht: 12.12.2024
WAS?

Der Artikel behandelt die Grundlagen von NetworkManager und die Verwendung des CLI-Tools zur Konfiguration des Netzwerks.

WARUM?

Sie verwenden NetworkManager und möchten Ihr Netzwerk konfigurieren.

AUFWAND

Es dauert etwa 15 Minuten, den Artikel zu lesen.

ZIEL

Sie werden besser verstehen, wie NetworkManager funktioniert und wie Netzwerkverbindungen konfiguriert werden können.

1 Informationen über NetworkManager

NetworkManager ist ein Programm, das die primäre Netzwerkverbindung und andere Verbindungsschnittstellen verwaltet. NetworkManager wurde so konzipiert, dass es standardmäßig vollautomatisch arbeitet. NetworkManager wird von systemd verarbeitet und wird mit allen erforderlichen Dienst-Unit-Dateien ausgeliefert.

NetworkManager speichert alle Netzwerkkonfigurationen als eine Verbindung, d. h. eine Sammlung von Daten, die beschreiben, wie ein Netzwerk erstellt oder eine Verbindung zu einem Netzwerk hergestellt wird. Diese Verbindungen werden als Dateien im Verzeichnis /etc/NetworkManager/system-connections/ gespeichert.

Eine Verbindung ist aktiv, wenn ein bestimmtes Gerät die Verbindung nutzt. Für das Gerät können mehrere Verbindungen konfiguriert werden, aber nur eine kann zu einem bestimmten Zeitpunkt aktiv sein. Die anderen Verbindungen können Sie nutzen, um schnell von einer Verbindung zur anderen zu wechseln. Wenn zum Beispiel die aktive Verbindung nicht verfügbar ist, versucht NetworkManager, das Gerät mit einer anderen konfigurierten Verbindung zu verbinden.

Um Verbindungen zu verwalten, verwenden Sie das Kommando nmcli, das in Abschnitt 4, „Verwalten des Netzwerks mit NetworkManager“ beschrieben wird.

2 Die Konfigurationsdatei NetworkManager.conf

Die wichtigste Konfigurationsdatei für den NetworkManager ist /etc/NetworkManager/NetworkManager.conf. Diese Datei kann verwendet werden, um das Verhalten von NetworkManager zu konfigurieren.

Die Datei besteht aus Abschnitten mit Schlüssel-Wert-Paaren. Jedes Schlüssel-Wert-Paar muss zu einem Abschnitt gehören. Ein Abschnitt beginnt mit einem Namen in []. Zeilen, die mit einem # beginnen, gelten als Kommentare. Die Minimalkonfiguration muss den Abschnitt [main] mit dem Wert plugins enthalten:

[main]
plugins=keyfile

Das Plugin keyfile unterstützt alle Verbindungstypen und Funktionen von NetworkManager.

Die Standardkonfigurationsdatei enthält den Abschnitt connectivity, der den URI zur Überprüfung der Netzwerkverbindung angibt.

Unter SUSE Linux Micro können Sie auch andere Abschnitte verwenden. Detaillierte Informationen finden Sie in networkmanager.conf(5) oder Gnome's developer guide.

3 Starten und Stoppen von NetworkManager

Da NetworkManager ein systemd-Dienst ist, können Sie gängige systemd-Kommandos verwenden, um NetworkManager zu starten, zu stoppen oder neu zu starten.

Starten Sie NetworkManager mit:

# systemctl start network

Starten Sie NetworkManager erneut mit:

# systemctl restart network

Stoppen Sie NetworkManager mit:

# systemctl stop network

4 Verwalten des Netzwerks mit NetworkManager

4.1 Das Kommando nmcli

NetworkManager stellt eine CLI-Schnittstelle zur Verwaltung Ihrer Verbindungen zur Verfügung. Über die nmcli-Schnittstelle können Sie eine Verbindung zu einem bestimmten Netzwerk herstellen, eine Verbindung bearbeiten, ein Gerät bearbeiten usw. Die allgemeine Syntax von nmcli lautet wie folgt:

# nmcli OPTIONSSUBCOMMANDSUBCOMMAND_ARGUMENTS

wobei OPTIONS in Abschnitt 4.1.1, „Die nmcli-Kommandooptionen“ beschrieben sind und SUBCOMMAND Folgendes sein kann:

connection

Damit können Sie die Netzwerkverbindung konfigurieren. Detaillierte Informationen finden Sie in Abschnitt 4.1.2, „Das Unterkommando connection.

device

Detaillierte Informationen finden Sie in Abschnitt 4.1.3, „Das Unterkommando device.

general

Zeigt den Status und die Berechtigungen an. Weitere Informationen finden Sie im Abschnitt 4.1.4, „Das Unterkommando general.

monitor

Überwacht die Aktivität von NetworkManager und achtet auf Änderungen im Zustand der Verbindungen und Geräte. Dieses Unterkommando akzeptiert keine Argumente.

networking

Fragt den Netzwerkstatus ab. Detaillierte Informationen finden Sie in Abschnitt 4.1.5, „Das Unterkommando networking.

4.1.1 Die nmcli-Kommandooptionen

Neben den Unterkommandos und ihren Argumenten kann das Kommando nmcli die folgenden Optionen annehmen:

-a|--ask

Das Kommando hält die Ausführung an, um nach fehlenden Argumenten zu fragen, beispielsweise nach einem Passwort für die Verbindung mit einem Netzwerk.

-c|--color {yes|no|auto}

Steuert die Farbausgabe: yes zum Aktivieren der Farben, no zum Deaktivieren der Farben, und auto erstellt nur dann eine Farbausgabe, wenn die Standardausgabe an ein Terminal geleitet wird.

-m|--mode {tabular|multiline}

Wechselt zwischen table (jede Zeile beschreibt einen einzelnen Eintrag, Spalten definieren bestimmte Eigenschaften des Eintrags) und multiline (jeder Eintrag umfasst mehrere Zeilen, jede Eigenschaft steht in einer eigenen Zeile). tabular ist der Standardwert.

-h|--help

Damit wird die Hilfe ausgedruckt.

-w|--wait seconds

Legt eine Zeitspanne fest, in der NetworkManager auf den Abschluss von Vorgängen warten soll. Diese Option empfiehlt sich für Kommandos, deren Ausführung länger dauern kann, beispielsweise die Aktivierung der Verbindung.

4.1.2 Das Unterkommando connection

Mit dem Kommando connection können Sie Verbindungen verwalten oder Informationen über bestimmte Verbindungen einsehen. nmcli connection stellt Ihnen die folgenden Kommandos zur Verwaltung Ihrer Netzwerkverbindungen zur Verfügung:

show

zum Auflisten von Verbindungen:

# nmcli connection show

Sie können mit diesem Kommando auch Details zu einer bestimmten Verbindung anzeigen:

# nmcli connection show CONNECTION_ID

wobei CONNECTION_ID eine der Kennungen ist: ein Verbindungsname, eine UUID oder ein Pfad

up

zur Aktivierung der bereitgestellten Verbindung. Verwenden Sie das Kommando, um eine Verbindung neu zu laden. Führen Sie dieses Kommando auch aus, nachdem Sie eine Änderung an der Verbindung vorgenommen haben.

# nmcli connection up [--active] [CONNECTION_ID]

Wenn --active angegeben ist, werden nur die aktiven Profile angezeigt. In der Standardeinstellung werden sowohl aktive Verbindungen als auch die statische Konfiguration angezeigt.

down

zum Deaktivieren einer Verbindung.

# nmcli connection down CONNECTION_ID

wobei CONNECTION_ID eine der Kennungen ist: ein Verbindungsname, eine UUID oder ein Pfad

Wenn Sie die Verbindung deaktivieren, wird sie später nicht wiederhergestellt, auch wenn sie die Flagge autoconnect hat.

modify

zum Ändern oder Löschen einer Eigenschaft einer Verbindung.

# nmcli connection modify CONNECTION_IDSETTING.PROPERTYPROPERTY_VALUE

Dabei gilt:

  • CONNECTION_ID Ist eine der Kennungen: ein Verbindungsname, eine UUID oder ein Pfad

  • SETTING.PROPERTY ist der Name der Eigenschaft, zum Beispiel ipv4.addresses

  • PROPERTY_VALUE ist der gewünschte Wert von SETTING.PROPERTY

Im folgenden Beispiel wird die Option autoconnect für die Verbindung ethernet1 deaktiviert:

# nmcli connection modify ethernet1 connection.autoconnect no
add

zum Hinzufügen einer Verbindung mit den angegebenen Details. Die Kommandosyntax ist ähnlich wie beim Kommando modify:

# nmcli connection add CONNECTION_IDsave YES|NOSETTING.PROPERTYPROPERTY_VALUE

Sie sollten zumindest einen connection.type angeben oder type verwenden. Im folgenden Beispiel wird eine Ethernet-Verbindung hinzugefügt, die an die Schnittstelle eth0 mit DHCP gebunden ist, und die autoconnect-Flagge der Verbindung wird deaktiviert:

# nmcli connection add type ethernet autoconnect no ifname eth0
edit

zum Bearbeiten einer bestehenden Verbindung mit einem interaktiven Editor.

# nmcli connection edit CONNECTION_ID
clone

zum Klonen einer bestehenden Verbindung. Die Syntax sieht mindestens so aus:

# nmcli connection clone CONNECTION_IDNEW_NAME

wobei CONNECTION_ID die zu klonende Verbindung ist.

delete

zum Löschen einer bestehenden Verbindung:

# nmcli connection delete CONNECTION_ID
monitor

zum Überwachen der bereitgestellten Verbindung. Jedes Mal, wenn sich die Verbindung ändert, gibt NetworkManager eine Zeile aus.

# nmcli connection monitor CONNECTION_ID
reload

zum erneuten Laden aller Verbindungsdateien vom Datenträger. Da NetworkManager Änderungen an den Verbindungsdateien nicht überwacht, müssen Sie dieses Kommando verwenden, wenn Sie Änderungen an den Dateien vornehmen. Dieses Kommando hat keine weiteren Unterkommandos.

load

zum Laden oder erneuten Laden einer bestimmten Verbindungsdatei führen Sie das folgende Kommando aus:

# nmcli connection load CONNECTION_FILE

Einzelheiten zu den oben genannten Kommandos finden Sie in der nmcli documentation.

4.1.3 Das Unterkommando device

Mit dem Unterkommando device können Sie Netzwerkschnittstellen anzeigen und verwalten. Das Kommando nmcli device erkennt die folgenden Kommandos:

status

zum Drucken des Status aller Geräte.

# nmcli device status
show

zeigt detaillierte Informationen über ein Gerät an. Wenn kein Objekt angegeben ist, werden alle Geräte angezeigt.

# mcli device show [DEVICE_NAME]
connect

zum Verbinden eines Geräts. NetworkManager versucht, eine geeignete Verbindung zu finden, die aktiviert werden soll. Wenn es keine kompatible Verbindung gibt, wird ein neues Profil erstellt.

# nmcli device connect DEVICE_NAME
modify

führt temporäre Änderungen an der Konfiguration durch, die auf dem jeweiligen Gerät aktiv ist. Die Änderungen werden nicht im Verbindungsprofil gespeichert.

# nmcli device modify DEVICE_NAME [+|-] SETTING.PROPERTY VALUE

Die möglichen SETTING.PROPERTY-Werte finden Sie in nm-settings-nmcli(5).

Im folgenden Beispiel wird die gemeinsame Nutzung von IPv4-Verbindungen auf dem Gerät con1 gestartet.

# nmcli dev modify con1 ipv4.method shared
disconnect

trennt die Verbindung zu einem Gerät und verhindert, dass das Gerät automatisch weitere Verbindungen aktiviert, ohne dass Sie manuell eingreifen müssen.

# nmcli device disconnect DEVICE_NAME
delete

zum Löschen der Schnittstelle aus dem System. Sie können mit diesem Kommando nur Software-Geräte wie Bonds und Bridges löschen. Es ist nicht möglich, Hardware-Geräte mit diesem Kommando zu löschen.

# nmcli device DEVICE_NAME
wifi

listet alle verfügbaren Zugangspunkte auf.

# nmcli device wifi
wifi connect

stellt eine Verbindung zu einem durch seine SSID oder BSSID angegebenen Wi-Fi-Netzwerk her. Das Kommando akzeptiert die folgenden Optionen:

  • password – Passwort für gesicherte Netzwerke

  • ifname – für die Aktivierung verwendete Schnittstelle

  • name – Sie können der Verbindung einen Namen geben

# nmcli device wifi connect SSID [password PASSWORD_VALUE] [ifname INTERFACE_NAME]

Wenn Sie eine Verbindung zu einem Wi-Fi GUESTWiFi mit einem Passwort pass$word2#@@ herstellen möchten, führen Sie folgendes Kommando aus:

# nmcli device wifi connect GUESTWiFi password pass$word2#@@

4.1.4 Das Unterkommando general

Mit diesem Kommando können Sie den NetworkManager-Status und die Berechtigungen einsehen sowie den Hostnamen und die Protokollierungsstufe ändern. nmcli general erkennt die folgenden Kommandos:

status

zeigt den Gesamtstatus von NetworkManager an. Wenn Sie für das Kommando nmcli general kein Kommando angeben, wird standardmäßig „status“ verwendet.

# nmcli general status
hostname

wenn Sie keinen neuen Hostnamen als Argument angeben, wird der aktuelle Hostname angezeigt. Wenn Sie einen neuen Hostnamen angeben, wird der Wert verwendet, um einen neuen Hostnamen festzulegen.

# nmcli general hostname [HOSTNAME]

Führen Sie zum Beispiel folgendes Kommando aus, um MyHostname festzulegen:

# nmcli general hostname MyHostname
permissions

zeigt Ihre Berechtigung für NetworkManager-Vorgänge wie das Aktivieren oder Deaktivieren von Netzwerken, das Ändern von Verbindungen usw.

# nmcli general permissions
logging

zeigt und ändert NetworkManager-Protokollierungsebenen und Domänen. Ohne Argumente zeigt das Kommando die aktuellen Protokollierungsstufen und Domänen an.

# nmcli general logging [level LEVEL domains DOMAIN]

LEVEL ist einer dieser Werte: OFF, ERR, WARN, INFO, DEBUG oder TRACE.

DOMAIN ist eine Liste von Werten, die so aussehen kann: PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD, VPN_PLUGIN, PROXY.

4.1.5 Das Unterkommando networking

Mit diesem Unterkommando können Sie den Status des Netzwerks abfragen. Außerdem können Sie mit diesem Kommando das Netzwerk aktivieren oder deaktivieren. Das Kommando nmcli networking nimmt folgende Kommandos:

on/off

aktiviert oder deaktiviert die Vernetzung. Mit dem Kommando off deaktivieren Sie alle von NetworkManager verwalteten Schnittstellen.

# nmcli networking on
connectivity

zeigt den Status der Netzwerkkonnektivität an. Wenn check verwendet wird, führt NetworkManager eine neue Überprüfung des Status durch. Andernfalls wird der zuletzt erkannte Status angezeigt.

# nmcli networking connectivity

Die folgenden Status sind möglich:

  • none – der Host ist mit keinem Netzwerk verbunden.

  • portal – der Host befindet sich hinter einem geschützten Portal und kann nicht das gesamte Internet erreichen.

  • limited – der Host ist mit einem Netzwerk verbunden, hat aber keinen Zugang zum Internet.

  • full – der Host ist mit einem Netzwerk verbunden und hat vollen Zugriff auf das Internet.

  • unknown – NetworkManager konnte den Netzwerkstatus nicht ermitteln.