Konfigurieren des Netzwerks mit NetworkManager
- 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 networkStarten Sie NetworkManager erneut mit:
# systemctl restart networkStoppen Sie NetworkManager mit:
# systemctl stop network4 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:
yeszum Aktivieren der Farben,nozum Deaktivieren der Farben, undautoerstellt 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) undmultiline(jeder Eintrag umfasst mehrere Zeilen, jede Eigenschaft steht in einer eigenen Zeile).tabularist 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 showSie können mit diesem Kommando auch Details zu einer bestimmten Verbindung anzeigen:
#nmcli connection show CONNECTION_IDwobei 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
--activeangegeben 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_IDwobei 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
autoconnecthat.-
modify zum Ändern oder Löschen einer Eigenschaft einer Verbindung.
#nmcli connection modify CONNECTION_IDSETTING.PROPERTYPROPERTY_VALUEDabei gilt:
CONNECTION_ID Ist eine der Kennungen: ein Verbindungsname, eine UUID oder ein Pfad
SETTING.PROPERTY ist der Name der Eigenschaft, zum Beispiel
ipv4.addressesPROPERTY_VALUE ist der gewünschte Wert von SETTING.PROPERTY
Im folgenden Beispiel wird die Option
autoconnectfür die Verbindungethernet1deaktiviert:#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_VALUESie sollten zumindest einen
connection.typeangeben odertypeverwenden. Im folgenden Beispiel wird eine Ethernet-Verbindung hinzugefügt, die an die Schnittstelleeth0mit DHCP gebunden ist, und dieautoconnect-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_NAMEwobei 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 VALUEDie 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
con1gestartet.#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 Netzwerkeifname– für die Aktivierung verwendete Schnittstellename– 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 generalkein 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
MyHostnamefestzulegen:#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,DEBUGoderTRACE.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
offdeaktivieren Sie alle von NetworkManager verwalteten Schnittstellen.#nmcli networking on- connectivity
zeigt den Status der Netzwerkkonnektivität an. Wenn
checkverwendet wird, führt NetworkManager eine neue Überprüfung des Status durch. Andernfalls wird der zuletzt erkannte Status angezeigt.#nmcli networking connectivityDie 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.
5 Rechtliche Hinweise #
Copyright © 2006–2025 SUSE LLC und Mitwirkende. Alle Rechte vorbehalten.
Es wird die Genehmigung erteilt, dieses Dokument unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder (optional) Version 1.3 zu vervielfältigen, zu verbreiten und/oder zu verändern; die unveränderlichen Abschnitte hierbei sind der Urheberrechtshinweis und die Lizenzbedingungen. Eine Kopie dieser Lizenz (Version 1.2) finden Sie im Abschnitt „GNU Free Documentation License“.
Die SUSE Marken finden Sie im https://www.suse.com/company/legal/. Alle anderen Marken von Drittanbietern sind Besitz ihrer jeweiligen Eigentümer. Markensymbole (®, ™ usw.) kennzeichnen Marken von SUSE und ihren Tochtergesellschaften. Sternchen (*) kennzeichnen Marken von Drittanbietern.
Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Auch hierdurch kann jedoch keine hundertprozentige Richtigkeit gewährleistet werden. Weder SUSE LLC noch ihre Tochtergesellschaften noch die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden.