Netzwerkverwaltung mit NetworkManager: nmcli für WLAN, feste IP und DNS

Kompakter Mini-PC als Linux-Heimserver mit eingestecktem blauen Netzwerkkabel, im Hintergrund ein Router

Drei Befehle decken die Netzwerkverwaltung mit NetworkManager im Alltag ab: nmcli device status zeigt, welche Netzwerkkarte gerade verbunden ist, nmcli connection show listet die gespeicherten Profile, und nmcli connection up <Profil> aktiviert eines davon. WLAN, feste IP-Adresse und DNS stellst du damit komplett im Terminal ein – auch auf einem Server, der gar keine grafische Oberfläche hat.

Die wichtigsten nmcli-Befehle auf einen Blick

NetworkManager ist der Dienst (Daemon), der im Hintergrund deine Netzwerkverbindungen verwaltet. nmcli ist das Kommandozeilen-Werkzeug, mit dem du ihm Anweisungen gibst. Diese Befehle brauchst du am häufigsten:

BefehlWas er macht
nmcli device statusZeigt alle Netzwerkgeräte und ihren Verbindungszustand
nmcli connection showListet alle gespeicherten Verbindungsprofile
nmcli connection show --activeZeigt nur die Profile, die gerade aktiv sind
nmcli connection up <Profil>Aktiviert ein Profil
nmcli connection down <Profil>Trennt ein Profil (die Konfiguration bleibt gespeichert)
nmcli device wifi listZeigt erreichbare WLAN-Netze
nmcli general statusGesamtstatus von NetworkManager

Ein Begriff vorab, weil er ständig auftaucht: Eine Verbindung (connection) ist bei NetworkManager nicht das Kabel, sondern ein gespeichertes Profil mit allen Einstellungen – IP-Modus, DNS, WLAN-Passwort. Ein Gerät (device) ist die physische oder virtuelle Netzwerkkarte, etwa enp3s0 oder wlan0. Du legst Profile an und weist sie Geräten zu; ein Gerät kann mehrere Profile haben, aktiv ist immer nur eines.

Anzeige

CHECK24 DSL-Vergleich

Mit dem WLAN verbinden – ohne Passwort in der Shell-History

Erst schauen, welche Netze in Reichweite sind. Der Scan-Cache ist manchmal veraltet, deshalb lohnt sich ein erzwungener Suchlauf:

nmcli device wifi list --rescan yes

Zum Verbinden gibt es zwei Wege. Der bekannte Einzeiler schreibt das Passwort im Klartext in deine Shell-History:

nmcli device wifi connect "MeinWLAN" password "geheimespasswort"

Sauberer ist die interaktive Variante: Mit der globalen Option --ask fragt nmcli fehlende Angaben nach und liest das Passwort verdeckt ein – es landet weder in ~/.bash_history noch in der Prozessliste, wo jeder Benutzer des Systems es sehen könnte:

nmcli --ask device wifi connect "MeinWLAN"

NetworkManager legt dabei automatisch ein Profil an und baut die Verbindung beim nächsten Start wieder auf. Zwei Zusätze, die oft fehlen: Bei einem versteckten Netz, das seine SSID nicht sendet, brauchst du hidden yes, damit gezielt danach gesucht wird. Und steckt mehr als eine WLAN-Karte im Rechner, wählst du sie mit ifname wlan0 aus. Weil --ask auf Rückfragen wartet, ist es der einzige Weg, der sich nicht für Skripte eignet.

Feste IP-Adresse vergeben

Server, Drucker oder ein Heim-NAS sollen meist eine feste Adresse statt einer per DHCP zugeteilten bekommen. Suche zuerst den Namen deines Profils mit nmcli connection show – bei einem frisch installierten System heißt es häufig Wired connection 1. Dann stellst du das Profil auf manuelle Adressvergabe um:

nmcli connection modify "Wired connection 1" \
  ipv4.method manual \
  ipv4.addresses 192.168.178.50/24 \
  ipv4.gateway 192.168.178.1 \
  ipv4.dns "192.168.178.1 1.1.1.1"

Was die Werte bedeuten: ipv4.addresses ist die feste Adresse samt Präfixlänge (die /24 entspricht der Netzmaske 255.255.255.0), ipv4.gateway ist in der Regel dein Router, und ipv4.dns sind die Namensserver – hier der Router plus ein öffentlicher Resolver als Reserve. ipv4.method manual schaltet DHCP für dieses Profil ab. Wichtig: Die gewählte Adresse muss im Router außerhalb des DHCP-Bereichs liegen, sonst vergibt er sie irgendwann ein zweites Mal.

Bevor du das auf einem entfernten Rechner machst: Sichere dir einen zweiten Zugang. Der nächste Schritt wechselt die IP-Adresse, und deine SSH-Sitzung bricht dabei ab. Auf einem Server ohne Monitor heißt das im schlimmsten Fall Gang in den Keller oder Griff zur Konsole des Hypervisors. Ein Blick auf das alte Profil vorher schadet nie:

nmcli connection show "Wired connection 1" | grep ipv4

Änderung greift nicht? up, reapply und reload unterscheiden

Der häufigste Stolperstein: nmcli connection modify schreibt nur die Konfiguration – die laufende Verbindung merkt davon zunächst nichts. Welcher Befehl die Änderung aktiviert, hängt davon ab, wo du sie gemacht hast:

BefehlWann
nmcli connection up "Wired connection 1"Standardfall: Profil komplett neu aktivieren. Die Verbindung wird dabei kurz getrennt.
nmcli device reapply enp3s0Versucht, die Änderungen am aktiven Profil zu übernehmen, ohne es neu aufzubauen. Nicht jede Eigenschaft lässt sich so nachziehen.
nmcli connection reloadNur nötig, wenn du eine Profil-Datei mit einem Editor verändert hast. NetworkManager überwacht diese Dateien nicht selbst.

Merkhilfe: reload holt die Datei von der Platte, up und reapply bringen sie auf die Netzwerkkarte. Wer per Editor gearbeitet hat, braucht deshalb meistens beides hintereinander.

nmtui – der Assistent im Terminal

Wer sich die Optionsnamen nicht merken möchte, nimmt nmtui. Das ist eine textbasierte Oberfläche, die du mit den Pfeiltasten bedienst – praktisch auf einem Server ohne Desktop und in Rettungssystemen:

nmtui

Im Menüpunkt „Verbindung bearbeiten“ wählst du dein Profil, stellst die IPv4-Konfiguration von Automatisch auf Manuell und trägst Adresse, Gateway und DNS ein. Nach dem Speichern musst du die Verbindung einmal aus- und wieder einschalten („Verbindung aktivieren“), damit die neuen Werte greifen – nichts anderes macht der up-Befehl von oben. nmtui und nmcli schreiben in dieselben Profile, du kannst also beide mischen. In aktuellen Versionen ist der Assistent deutlich gewachsen: NetworkManager 1.58 hat ihm unter anderem eine Suche im vi-Stil und die Möglichkeit spendiert, WLAN-Zugangsdaten als QR-Code anzuzeigen.

Wenn etwas nicht klappt

  • Gerät steht auf „unmanaged“: Dann lässt NetworkManager die Karte absichtlich in Ruhe, weil ein anderer Dienst sie verwaltet – typischerweise systemd-networkd. Genau das ist der Normalzustand auf Ubuntu Server: Dort konfiguriert Netplan die Karten und benutzt systemd-networkd als Backend, während Ubuntu Desktop Netplan mit NetworkManager kombiniert. Zwei Verwalter auf derselben Karte vertragen sich nicht – entscheide dich für einen, statt mit nmcli device set <gerät> managed yes dauerhaft dagegen zu arbeiten.
  • Verbindung kommt nach dem Bearbeiten nicht hoch: Häufig fehlt bei ipv4.method manual das Gateway oder der DNS-Eintrag. Ohne Gateway erreichst du nur dein lokales Netz, ohne DNS scheitert jede Namensauflösung, obwohl der Ping auf die IP funktioniert. Das komplette Profil prüfst du mit nmcli connection show "Wired connection 1".
  • WLAN scheitert ohne klare Fehlermeldung: Tippfehler im Passwort sind die häufigste Ursache, und nmcli device wifi connect sagt das nicht immer deutlich. Das Systemprotokoll ist eindeutiger: journalctl -u NetworkManager -b zeigt die Fehlversuche seit dem letzten Start.
  • Profil-Datei von Hand geändert: Nach dem Editieren einer Datei unter /etc/NetworkManager/system-connections/ braucht es nmcli connection reload. Achte auf die Dateirechte: In der Datei steht das WLAN-Passwort im Klartext, sie gehört root und sollte den Modus 600 haben.
  • Alte Anleitung mit dhcp=dhclient: Steht das noch in deiner NetworkManager.conf, wirf es raus. Seit Version 1.58 (Juli 2026) ist dhclient als DHCP-Backend entfernt; NetworkManager bringt seinen eigenen DHCP-Client mit.

Warum die Netzwerkverwaltung mit NetworkManager heute Standard ist

Früher wurde die Netzwerkkonfiguration unter Linux in statischen Dateien wie /etc/network/interfaces gepflegt. Für einen Server, der immer am selben Kabel hängt, reicht das; für ein Notebook, das zwischen Büro-WLAN, Hotspot und Docking-Station wechselt, ist es unbrauchbar. NetworkManager wurde für genau diesen Fall gebaut: Er erkennt Netze automatisch, stellt die Verbindung nach dem Standby zügig wieder her und bevorzugt Kabel gegenüber WLAN, wenn beides verfügbar ist.

Deshalb setzen praktisch alle großen Distributionen auf ihn – Fedora, Debian, Ubuntu Desktop, RHEL und deren Ableger. Die Profile liegen dabei als Textdateien im keyfile-Format unter /etc/NetworkManager/system-connections/, was das Sichern und Kopieren auf einen anderen Rechner einfach macht. Das alte ifcfg-Format aus /etc/sysconfig/network-scripts/ ist in der Red-Hat-Welt Geschichte: RHEL 10 und die Nachbauten Rocky und AlmaLinux 10 lesen es nicht mehr. Wer eine Anleitung von 2019 vor sich hat, kopiert also besser nicht blind.

Auch die Entwicklung läuft weiter, und zwar zunehmend Richtung IPv6-only-Netze: Version 1.56 vom Februar 2026 brachte nmcli die Verwaltung von WireGuard-Peers bei, Version 1.58 vom Juli 2026 CLAT-Unterstützung, damit reine IPv6-Hosts noch IPv4-Ziele erreichen, sowie einen Gerätezustand, der einen Neustart überlebt. Für die tägliche Netzwerkverwaltung mit NetworkManager ändert das nichts – die Handvoll nmcli-Befehle von oben gilt seit Jahren unverändert. Wer alle Optionen im Detail nachschlagen will, findet sie in der Referenz auf der offiziellen NetworkManager-Projektseite.

Häufige Fragen

Wie verbinde ich mich per nmcli mit einem WLAN?

Netze anzeigen mit „nmcli device wifi list –rescan yes“, dann „nmcli –ask device wifi connect MeinWLAN“. Durch –ask wird das Passwort verdeckt abgefragt und landet nicht in der Shell-History.

Wie vergebe ich mit NetworkManager eine feste IP-Adresse?

Mit „nmcli connection modify“ das Profil auf ipv4.method manual stellen und ipv4.addresses, ipv4.gateway sowie ipv4.dns setzen. Danach das Profil mit „nmcli connection up“ neu aktivieren, damit die Werte greifen.

Warum greift meine Änderung an der IP-Adresse nicht?

NetworkManager übernimmt Profiländerungen erst beim Neuaufbau. Aktiviere das Profil mit „nmcli connection up“ neu oder versuche „nmcli device reapply“. Hast du die Datei mit einem Editor geändert, brauchst du vorher „nmcli connection reload“.

Was ist der Unterschied zwischen nmcli und nmtui?

nmcli ist das Kommandozeilen-Werkzeug für Skripte und schnelle Befehle. nmtui ist eine textbasierte Menü-Oberfläche im Terminal, die du mit Pfeiltasten bedienst. Beide schreiben in dieselben Verbindungsprofile.

Warum zeigt nmcli mein Netzwerkgerät als ‚unmanaged‘ an?

Dann verwaltet ein anderer Dienst die Karte, meist systemd-networkd. Auf Ubuntu Server ist das der Normalfall, weil Netplan dort systemd-networkd als Backend nutzt. Entscheide dich für ein Werkzeug statt beide parallel zu betreiben.

Marcel Meyer

# wer schreibt hier

Marcel Meyer schraubt seit über zehn Jahren an Rechnern, Netzwerken und Servern — beruflich wie privat. Hier übersetzt er IT-Grundlagen in verständliche Schritte.

→ Mehr über mich

Anzeige

CHECK24 DSL-Vergleich