WLAN, VPN und Co. richten Sie unter Linux dank NetworkManager per Mausklick ein. Lädt aus irgendeinem Grund die Desktop-Umgebung, bietet das gleiche Werkzeug zwei textbasierte Werkzeuge, die weiterhelfen.
Das Netzwerk via Kabel über den in den meisten Rechnern integrierten Ethernet-Adapter ist eine zuverlässige und einfache Sache: In der Regel genügt es, den Stecker anzustecken, den Rest übernimmt das System im Zusammenspiel mit dem in den Router integrierten DHCP-Server. Inzwischen verzichten jedoch mehr und mehr Hersteller bei kompakten Geräten wie Ultrabooks auf diese Schnittstelle. Ins Netz geht es per WLAN, höchstens zur Not über einen via USB angeschlossenen Ethernet-Adapter.
Im Alltag stört das nicht weiter. Leichte und kleine Notebooks stehen bei vielen Anwendern hoch im Kurs, gerade weil sie leicht zu transportieren sind und dank stromsparender Komponenten lange ohne Verbindung zum Netzteil durchhalten.
So arbeiten Sie mal am Küchentisch, mal auf dem Sofa oder mal im Bett, den Zugang zum Internet hält das Gerät drahtlos. Ein Klick reicht, und schon ist der Rechner online: Streikt aber die grafische Oberfläche, etwa weil ein Update danebenging, dann ist der einfache Zugriff auf Netzzugänge ebenfalls futsch.
Am Beispiel von Ubuntu 18.04 möchten wir Ihnen Tipps an die Hand geben, wie Sie trotzdem ins Netz kommen und so dann wichtige Updates installieren oder etwa per Textbrowser nach Tipps in Wikis oder Foren suchen – und das in vielen Fällen ohne administrative Rechte (siehe Kasten “Sudo braucht es nicht”).
Sudo braucht es nicht
Das Konfigurieren der Netzwerkadapter gehört zu den wenigen Verwaltungsaufgaben, bei denen ein normaler Benutzer wichtige Einstellungen am System verändern darf. Bei aktuellen Distributionen steuert PolicyKit die Vergabe der Rechte. Der NetworkManager greift ebenfalls auf diese moderne Komponente zurück.
Beim Ausführen des Kommandos nmcli überprüft im Hintergrund PolicyKit, ob der aktuelle Nutzer die Konfiguration verändern darf – in der Regel besitzen alle Accounts das Recht dazu. Allerdings macht es einen Unterschied, ob Sie lokal in einem virtuellen Terminal eingeloggt sind oder über das Netz via SSH arbeiten.
Gibt nmcli general permissions auf dem Terminal für die meisten Operationen ja aus, dürfen Sie also etwa Netzwerkkarten deaktivieren oder aktivieren, via SSH dürfen Sie hingegen viele Dinge nicht. In dem Fall müssten Sie sich via sudo zusätzlich administrative Rechte holen.
Ohne GUI
Bei Ubuntu und vielen anderen Distributionen übernimmt der NetworkManager das Verwalten der Netzwerkgeräte. Die aktuelle LTS-Version 18.04 setzt auf die Version 1.10.6 des Programms. Der Dienst regelt unter der Haube des Systems den Aufbau der Verbindung und bietet Schnittstellen zu den Werkzeugen zur Konfiguration bei den gängigen Desktop-Umgebungen.
Als Alternativen zum NetworkManager bieten sich Wicd [1] und das von Intel entwickelte ConnMan [2] an. Diese Anwendungen finden sich jedoch meist eher bei abgespeckten Systemen für ältere Rechner oder bei Systemen mit einem Embedded Linux wieder.
Der NetworkManager besitzt neben der grafischen Oberfläche eine Schnittstelle für das Terminal. Das zentrale Kommando lautet dabei nmcli. Für einen ersten Überblick sorgt ein Aufruf des Kommandos ohne weitere Attribute. Die Ausgaben von nmcli device und nmcli connection liefern dann weitere Informationen.
Das erste Kommando zeigt die im System aktiven Netzwerkgeräte sowie die aktuell genutzte Verbindung. Der zweite Befehl listet alle bislang im NetworkManager hinterlegten Zugänge, also unter anderem die zuvor konfigurierten WLAN-Netzwerke (Listing 1). Ergänzen Sie die Aufrufe um ein show zu etwa nmcli device show geht der NetworkManager weiter ins Detail.
Listing 1
$ nmcli device DEVICE TYPE STATE CONNECTION eno1 ethernet verbunden Kabelgebundene Verbindung 1 rename3 ethernet nicht verfügbar -- wlp2s0 wifi nicht verfügbar -- lo loopback nicht verwaltet -- $ nmcli connection NAME UUID TYPE DEVICE Kabelgebundene Verbindung 1 af24ed37-acc6-3d73-8f34-787148659b9d ethernet eno1 Kabelgebundene Verbindung 2 34e8b150-d26f-3390-96c3-137151f000d0 ethernet -- MeinNetzwerkZuhause 71d00035-d865-44c2-99cb-e38751f391fe wifi -- DasWLANimBüro 5fee9793-4e2f-41f5-95de-76b2569855f7 wifi --
Die gespeicherten Konfigurationen legt der NetworkManager im Verzeichnis /etc/NetworkManager/system-connections ab. Der Name der Dateien entspricht dem Namen der Verbindung. In den Dateien steht – im Falle eines WLAN-Netzwerks – die SSID sowie das Passwort im Klartext (Listing 2).
Listing 2
$ cd /etc/NetworkManager/system-connections $ ls -al insgesamt 16 drwxr-xr-x 2 root root 4096 Sep 26 20:55 . drwxr-xr-x 7 root root 4096 Apr 26 20:24 .. -rw------- 1 root root 356 Sep 26 20:55 MeinNetzwerkZuhause -rw------- 1 root root 345 Sep 26 20:34 DasWLANimBüro $ sudo cat MeinNetzwerkZuhause [connection] id=MeinNetzwerkZuhause uuid=71d00035-d865-44c2-99cb-e38751f391fe type=wifi permissions= [wifi] mac-address=B4:B6:76:56:E5:32 mac-address-blacklist= mode=infrastructure ssid=MeinNetzwerkZuhause [wifi-security] auth-alg=open key-mgmt=wpa-psk psk=ganzgeheimespasswort [...]
Damit Unbefugte auf diese Daten keinen Zugriff bekommen, darf nur Root die Dateien einsehen (Benutzerrechte 0600). Haben Sie bislang noch kein Netzwerk manuell konfiguriert (etwa weil das System bislang über Kabel und DHCP ins Netzwerk kommt), ist dieses Verzeichnis leer.
Drahtlos ins Netz
Um nun eine drahtlose Verbindung einzurichten, sollten Sie sichergehen, dass die WLAN-Karte aktiv ist. Mit dem Kommando nmcli radio wifi on schalten Sie diese ein. Einen kurzen Moment später sollte der Befehl nmcli device wifi list alle in der Nähe sendenden WLANs mitsamt der gewählten Verschlüsselung und Empfangsstärke auflisten (Abbildung 1).

Abbildung 1: Der NetworkManager überträgt mit dem Kommando nmcli den kompletten Funktionsumfang der grafischen Konfigurationswerkzeuge ins Terminal.
Ebenso einfach verbinden Sie sich dann zu einem der entdeckten WLANs. Entsprechend Listing 3 brauchen Sie nur die SSID und das entsprechende Passwort im Kommando anzupassen. Der Aufbau geschieht danach automatisch. Sollte die von Nmcli ausgegebene Liste an verfügbaren WLANs nur das eigene Netzwerk anzeigen, frischen Sie mittels nmcli device wifi rescan die WLAN-Liste auf.
Listing 3
$ nmcli device wifi connect SSID password Passwort Gerät »wlp2s0« wurde erfolgreich mit »091b28ac-a8d7-4584-b615-e208f4e61fab« aktiviert. $ nmcli device wifi connect "Mein Netzwerk" password "Ein Passwort mit Leerzeichen" Gerät »wlp2s0« wurde erfolgreich mit »ca9d0c61-e702-44ba-ae8b-0e7ca712e59c« aktiviert.
Kurz und gut
Wer nicht gerne tippt, kann beim Ausführen von nmcli-Kommandos viel Energie sparen. Bei den meisten Anwendungen und Objekten ist es möglich, diese auf einen Buchstaben zu reduzieren. Anstatt nmcli radio wifi on genügt etwa nmcli r wifi on als Kommando. Zudem unterstützt das Programm hinsichtlich der Befehle das automatische Vervollständigen per Tabulator.
Für etwas mehr Übersicht lohnt es sich allerdings, die Option -p oder -pretty zu setzen, also etwa nmcli -pretty device wifi list. Das Textfrontend des NetworkManagers ergänzt dann Ausgaben mit zusätzlichen Formatierungen, was vor allen Dingen in Listen besseren Überblick verschafft.
Etwas mehr Umstand macht die Konfiguration, wenn Sie sich zu einem versteckten WLAN, bei dem der WLAN-Router also die SSID des aufgespannten Netzwerks nicht in die nähere Umgebung funkt, verbinden möchten. In diesem Fall müssten Sie zuerst eine Dummy-Konfiguration erstellen (Listing 4, Zeile 1).
Listing 4
$ nmcli connection add type wifi con-name Name ifname Geräte-ID ssid VersteckteSSID $ nmcli connection modify Name wifi-sec.key-mgmt wpa-psk wifi-sec.psk Passwort $ nmcli connection up Name
Die Geräte-ID, meist wlan0 oder wie im gezeigten Beispiel wlp2s0, ermitteln Sie über nmcli device (siehe Listing 1). Anschließend modifizieren Sie die frisch angelegte Verbindung und tragen das Passwort in die Konfiguration ein. Letztendlich leiten Sie den Aufbau ein.
Einmal konfiguriert, erlaubt der Netzwerkmanager den Wechsel zwischen den unterschiedlichen Netzwerken, ohne dass Sie weitere Daten eingeben brauchen. Dazu dient das Kommando nmcli connection up Verbindung oder kurz nmcli c up Verbindung, oder gar ganz kurz nmcli c u Verbindung (Abbildung 2).

Abbildung 2: Mit nmcli connection geben Sie die Daten für bereits konfigurierte Netzwerke aus. Per nmcli connection up Name aktivieren Sie den gewünschten Zugang.
Möchten Sie andersherum eine bereits konfigurierte Verbindung löschen, verwenden Sie das Kommando nmcli connection delete Verbindung. Die vorhandenen Verbindungen listen Sie dabei komfortabel mit nmcli connection auf. Informationen, was unter der Haube des NetworkManagers geschieht, sehen Sie dabei mit nmcli monitor an (Listing 5).
Listing 5
$ nmcli monitor
wlp2s0: wird deaktiviert
wlp2s0: nicht verbunden
wlp2s0: wird verbunden (wird vorbereitet)
wlp2s0: Verbindung MeinNetzwerkZuhause wird verwendet
wlp2s0: wird verbunden (wird vorbereitet)
wlp2s0: wird verbunden (wird eingerichtet)
wlp2s0: wird verbunden (IP-Einstellungen werden ermittelt)
wlp2s0: wird verbunden (Zweitverbindungen werden gestartet)
wlp2s0: verbunden
Editor-Modus
Bereits eingerichtete Verbindungen legt der NetworkManager wie schon angesprochen unterhalb von /etc/NetworkManager/system-connections ab. Bei Änderungen im Netz, etwa einem neuen WLAN-Passwort, könnten Sie daher theoretisch direkt die entsprechende Konfigurationsdatei mit einem Texteditor bearbeiten. Nmcli bringt jedoch einen integrierten Editor mit, der erweiterte Funktionen sowie mehr Sicherheit beim Bearbeiten der Konfiguration bietet (Abbildung 3).

Abbildung 3: Zum Verändern bereits konfigurierter Netzwerke bietet das Kommandozeilen-Frontend des NetworkManagers einen integrierten Editor mit, der zusätzlich die Syntax überprüft.
Den Editor erreichen Sie über das Kommando nmcli connection edit Verbindung. Das Programm zeigt zum Einstieg die Details des gewählten Profils an, zudem einen Hinweis über die mit help oder ? abrufbare Hilfe. Im Editor-Modus arbeitet Nmcli nun nicht wie ein klassischer Texteditor, sondern mit Befehlen wie goto, set oder remove.
Um etwa das WLAN-Passwort zu ändern, schauen Sie sich mit print oder p alle Details an. Das Passwort steckt im Feld 802-11-wireless-security.psk. Via set 802-11-wireless-security.psk Neues Passwort setzen Sie es neu.
Beachten Sie dabei, dass Nmcli alles was hinter 802-11-wireless-security.psk steht als Teil des Passworts interpretiert. Bei Leerzeichen im WLAN-Passwort brauchen Sie diese also einfach nur einzugeben, das Passwort darf nicht in Anführungszeichen oder Hochkommata stehen.
Beim Abschicken des Kommandos überprüft das Tool automatisch die Eingabe. Wählen Sie ein zu kurzes WLAN-Passwort, ist es nicht möglich, dieses einzutragen. Mit verify all prüfen Sie die erstellte Konfiguration nochmal im Detail. Zum Speichern führen Sie nun save aus, mit quit beenden Sie schließlich den Editor-Modus. Alternativ führen Sie vor dem Verlassen des Editors noch activate aus. Dann baut der NetworkManager die Verbindung umgehend auf.
Text, aber bitte mit GUI
Sind Kommandos nicht Ihr Ding, Sie sind aber dennoch gezwungen, im Terminal ohne grafische Oberfläche zu arbeiten, hat der NetworkManager ebenfalls die passende Lösung: Mit Nmtui gibt es eine Ncurses-Oberfläche, die etwas mehr Komfort als Nmcli im Terminal bietet, dafür aber nicht den vollen Funktionsumfang besitzt. Das Programm brauchen Sie nicht zusätzlich zu installieren, es steckt in der Regel im gleichen Paket wie die Hauptanwendung selbst.
Nach dem Aufruf präsentiert die NetworkManager -Terminal-Benutzeroberfläche einen Dialog mit drei Optionen: Für eine neue Netzwerkverbindung wählen Sie mit den Pfeiltasten Eine Verbindung aktivieren an und öffnen den Punkt über [Eingabe]. In der folgenden Maske haben Sie die Möglichkeit, kabelgebundene Netzwerkkarten zu deaktivieren oder aktivieren. Zudem zeigt Nmtui hier die in der Umgebung aktiven drahtlosen Netzwerke an mitsamt deren Signalstärke (Abbildung 4).

Abbildung 4: Wer ungern Kommandos eintippt, dem bietet die Terminal-Benutzeroberfläche des NetworkManagers eine komfortable Alternative.
Der Aufbau einer Verbindung fällt dann nicht weiter schwer: Sie wählen das Netzwerk aus, drücken [Eingabe] und geben in der nächsten Maske das entsprechende Passwort ein. Der NetworkManager aktiviert daraufhin die Verbindung. Ein Stern vor dem Eintrag in der Liste signalisiert den Erfolg.
Neuen Hostnamen setzen
Sowohl die Terminal-Benutzeroberfläche Nmtui wie das Nmcli-Kommando bieten eine Funktion, um den Rechnernamen zu ändern, ohne dass Sie zu einem Editor zu greifen bräuchten. In der Textoberfläche verwenden Sie dazu die Option Den Rechnernamen des Systems festlegen, im Terminal den Befehl nmcli general hostname meinrechner.domain.tld.
In der Praxis unter Ubuntu 18.04 zeigt diese Funktion allerdings ein kleines Problem: Nach der Aktion steht der neue Name zwar in der Datei /etc/hostname. In der für die lokale Namensauflösung zuständigen Konfigurationsdatei /etc/hosts bleibt allerdings alles beim Alten. Wer den Namen des Rechners ändern möchte, sollte daher besser gleich mit einem Texteditor arbeiten.
Mehr Funktionen verbergen sich im Menüpunkt Eine Verbindung bearbeiten. Hier haben Sie nicht nur, wie der Name schon verrät, eine bestehende Verbindungen zu bearbeiten, sondern dürfen darüber hinaus neue anlegen. Dies ist besonders wichtig, wenn Sie den Zugang zu einem versteckt operierenden WLAN konfigurieren möchten. An dieser Stelle erfolgt außerdem die Konfiguration, wenn der Rechner direkt an der DSL-Leitung hängt oder Sie eine komplizierte Struktur des Netzwerks wie eine Bridge oder einen IP-Tunnel einrichten möchten.
Fazit
Manuelle Einträge in Konfigurationsdateien wie etwa die /etc/wpa_supplicant/wpa_supplicant.conf braucht es heutzutage eigentlich nur noch auf sehr abgespeckten und auf älteren Systemkomponenten aufbauenden Distributionen. Server-Systeme verzichten ebenfalls gerne auf Netzwerk-Manager, da diese in der Regel in Rechenzentren per Kabel am Netzwerk hängen, und die Admins dort nur selten die Konfiguration ändern.
Dieser Einblick in den Unterbau des NetworkManagers hilft im Fall, dass die grafische Desktop-Umgebung streikt, eine Verbindung zu konfigurieren und aufzubauen. Ausführliche Details zu Nmcli bietet die Manpage unter man nmcli sowie die sehr detaillierte und deutschsprachige Hilfe. Diese erreichen Sie über nmcli --help sowie im Detail zu den einzelnen Funktionen mit nmcli general --help, nmcli connection --help und so weiter.
Infos
- Wicd: https://sourceforge.net/projects/wicd/
- ConnMan: https://01.org/connman





