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 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, undauto
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) undmultiline
(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 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
--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_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
autoconnect
hat.-
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.addresses
PROPERTY_VALUE ist der gewünschte Wert von SETTING.PROPERTY
Im folgenden Beispiel wird die Option
autoconnect
für die Verbindungethernet1
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_VALUESie sollten zumindest einen
connection.type
angeben odertype
verwenden. Im folgenden Beispiel wird eine Ethernet-Verbindung hinzugefügt, die an die Schnittstelleeth0
mit 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
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 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 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
oderTRACE
.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 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–2024 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.