Konfiguration Drahtloser Verbindungen

LinuxBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie die Grundlagen der Verwaltung von drahtlosen Netzwerkverbindungen über die Kommandozeile auf einem Linux-System. Wir werden nmcli verwenden, die Kommandozeilenschnittstelle (Command-Line Interface, CLI) für NetworkManager. NetworkManager ist ein Standarddienst auf den meisten modernen Linux-Distributionen, der die Netzwerkkonfiguration vereinfacht. Mit nmcli können Sie nach Netzwerken suchen, Verbindungen herstellen, trennen und Verbindungsprofile verwalten, ohne eine grafische Benutzeroberfläche (GUI) zu benötigen.

Dieses Lab führt Sie durch die wesentlichen Befehle, um die Kontrolle über Ihre drahtlose Konnektivität zu übernehmen – eine entscheidende Fähigkeit für jeden Linux-Administrator oder Power-User. Wir werden in einer simulierten Umgebung arbeiten, aber die Befehle und Konzepte sind direkt auf eine reale Linux-Maschine mit einer drahtlosen Karte anwendbar. Bitte beachten Sie, dass diese Umgebung zwar ein drahtloses Gerät simulieren kann, aber keine echten WLAN-Netzwerke zum Verbinden bietet. Das bedeutet, dass einige Befehle, die sich auf den Aufbau einer aktiven Verbindung beziehen, nicht vollständig erfolgreich sein werden, Sie aber dennoch den gesamten Arbeitsablauf erlernen.

Netzwerke mit dem Befehl nmcli device wifi list scannen

In diesem Schritt lernen Sie, wie Sie nach verfügbaren drahtlosen Netzwerken suchen. Dies ist die erste Aktion, die Sie typischerweise durchführen würden, wenn Sie versuchen, sich mit einem neuen WLAN-Netzwerk zu verbinden. Das Tool nmcli bietet einen einfachen Befehl, um alle sichtbaren WLAN-Access Points aufzulisten.

Zuerst identifizieren wir den Namen unseres drahtlosen Geräts. Führen Sie den folgenden Befehl aus:

nmcli device

Sie sollten ein Gerät mit dem Typ wifi sehen. Der Gerätename ist wahrscheinlich wlan0. Diesen Namen werden wir in späteren Schritten verwenden. Ihre Ausgabe könnte zusätzliche Netzwerkgeräte wie eth0 oder docker0 anzeigen. Das ist normal. Das für dieses Lab wichtige Gerät ist das mit dem Typ wifi, von dem wir annehmen, dass es wlan0 ist.

DEVICE         TYPE      STATE         CONNECTION
wlan0          wifi      disconnected  --
p2p-dev-wlan0  wifi-p2p  disconnected  --
docker0        bridge    unmanaged     --
eth0           ethernet  unmanaged     --
lo             loopback  unmanaged     --

Verwenden Sie nun den Befehl nmcli device wifi list, um einen Scan durchzuführen. Dieser Befehl weist NetworkManager an, nach nahegelegenen drahtlosen Netzwerken zu suchen und diese in einer Liste anzuzeigen.

Führen Sie den Befehl in Ihrem Terminal aus:

nmcli device wifi list

In einem realen Szenario mit einer physischen WLAN-Karte würden Sie eine Liste der Netzwerke in Ihrer Umgebung sehen. In unserer simulierten Umgebung wird die Ausgabe leer sein, da keine echten WLAN-Netzwerke vorhanden sind. Nachfolgend sehen Sie ein Beispiel dafür, wie die Ausgabe aussehen würde, wenn Netzwerke erkannt würden. Sie zeigt die SSID (Name) des Netzwerks, die Signalstärke, den Sicherheitstyp und weitere Details.

IN-USE  SSID                MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
        MyHomeWiFi          Infra  6     130 Mbit/s  80      ▂▄▆█  WPA2
        AnotherNetwork      Infra  11    54 Mbit/s   55      ▂▄▆_  WPA2
        Public-Hotspot      Infra  1     54 Mbit/s   30      ▂▄__  --

Dieser Befehl ist unerlässlich, um herauszufinden, mit welchen Netzwerken Sie sich verbinden können.

Erstellen und Aktivieren einer WLAN-Verbindung

In diesem Schritt werden wir uns mit einem drahtlosen Netzwerk verbinden. Der Standardbefehl hierfür ist nmcli device wifi connect. Da wir uns jedoch in einer simulierten Umgebung ohne reale Netzwerke befinden, würde dieser Befehl fehlschlagen.

Stattdessen verwenden wir eine alternative und ebenso wichtige Methode: das Erstellen und Aktivieren eines NetworkManager-Verbindungsprofils. Dieser Ansatz ist sehr nützlich, um Netzwerkverbindungen vorab zu konfigurieren. Wir erstellen ein Profil für ein hypothetisches Netzwerk namens MyLabWiFi. Denken Sie daran, den Namen des WLAN-Geräts zu verwenden, den Sie im vorherigen Schritt gefunden haben, welcher wahrscheinlich wlan0 ist.

Erstellen Sie zunächst ein neues Verbindungsprofil. Dieser Befehl definiert alle notwendigen Einstellungen für die Verbindung.

sudo nmcli connection add type wifi con-name MyLabConnection ifname wlan0 ssid MyLabWiFi

Sie erhalten eine Bestätigungsnachricht:

Connection 'MyLabConnection' (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) successfully added.

Nachdem das Profil erstellt wurde, können Sie versuchen, es zu aktivieren. Dies entspricht dem Verbindungsaufbau mit dem Netzwerk.

sudo nmcli connection up MyLabConnection

Dieser Befehl wird versuchen, sich mit dem Netzwerk MyLabWiFi zu verbinden. Da dieses Netzwerk in unserer simulierten Umgebung nicht tatsächlich existiert, wird der Befehl keine Verbindung herstellen können. Es scheint, als würde er hängen bleiben oder weiterhin versuchen, sich zu verbinden. Dies ist das erwartete Verhalten. Warten Sie einige Sekunden und drücken Sie dann Ctrl+C, um den Befehl abzubrechen.

Sie haben nun gelernt, wie man ein Verbindungsprofil erstellt und wie man versucht, es hochzufahren (zu aktivieren). In einem realen Szenario mit einem verfügbaren WLAN-Netzwerk hätte dieser Befehl Sie erfolgreich verbunden.

Verbindung mit dem Befehl nmcli connection show überprüfen

In diesem Schritt erfahren Sie, wie Sie Ihren Netzwerkstatus überprüfen und konfigurierte Verbindungsprofile anzeigen können. Nachdem Sie versucht haben, eine Verbindung herzustellen, ist es gute Praxis, den Status zu überprüfen.

Der Befehl nmcli connection show listet alle auf Ihrem System gespeicherten Verbindungsprofile auf, unabhängig davon, ob sie gerade aktiv sind oder nicht.

Führen Sie den Befehl aus, um alle Profile anzuzeigen:

nmcli connection show

Ihre Ausgabe sollte das Profil MyLabConnection enthalten, das wir im vorherigen Schritt erstellt haben, zusammen mit seiner UUID und seinem Typ. Die Spalte DEVICE wird leer sein, da die Verbindung nicht aktiv ist.

NAME             UUID                                  TYPE      DEVICE
MyLabConnection  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  wifi      --

Um nur die aktuell aktiven Verbindungen anzuzeigen, können Sie das Flag --active hinzufügen. Dies ist sehr nützlich, um schnell Ihren aktuellen Netzwerkstatus zu überprüfen.

nmcli connection show --active

Da unser Verbindungsversuch im vorherigen Schritt nicht erfolgreich sein konnte, wird dieser Befehl keine Ausgabe liefern. Dies bestätigt, dass keine aktiven Verbindungen bestehen.

Dieser Befehl ist Ihr wichtigstes Werkzeug, um schnell den Zustand Ihrer Netzwerkverbindungen zu überprüfen.

Löschen eines Verbindungsprofils

In diesem Schritt erfahren Sie, wie Sie ein Verbindungsprofil löschen, das Sie nicht mehr benötigen. Dies ist eine übliche Aufräumarbeiten. Da wir die Verbindung nicht aktivieren konnten, können wir sie auch nicht trennen. Stattdessen werden wir das von uns erstellte Profil löschen.

Um das Profil MyLabConnection zu löschen, verwenden Sie den Befehl nmcli connection delete, gefolgt vom Verbindungsnamen.

Führen Sie den folgenden Befehl aus:

sudo nmcli connection delete MyLabConnection

Sie erhalten eine Bestätigung, dass die Verbindung erfolgreich gelöscht wurde.

Connection 'MyLabConnection' successfully deleted.

Zur Bestätigung können Sie erneut nmcli connection show ausführen. Sie werden feststellen, dass MyLabConnection nicht mehr in der Liste aufgeführt ist.

nmcli connection show

Dieser Befehl sollte nun keine Ausgabe mehr liefern (oder nur andere bereits vorhandene Verbindungen anzeigen), was bestätigt, dass das Profil entfernt wurde.

Verständnis von verbindungsspezifischen Befehlen

In diesem letzten Schritt besprechen wir Befehle, die von einer aktiven Netzwerkverbindung abhängen, wie z.B. speedtest-cli. In den vorherigen Schritten haben wir festgestellt, dass wir in dieser simulierten Umgebung keine aktive WLAN-Verbindung herstellen können.

Versuchen wir, speedtest-cli auszuführen, um zu sehen, was ohne eine Verbindung passiert. Dieses Tool wurde während des Lab-Setups für Sie installiert.

Führen Sie den Befehl in Ihrem Terminal aus:

speedtest-cli

Das Tool wird versuchen, sich mit den Speedtest-Servern zu verbinden, und dabei fehlschlagen. Sie sehen eine Fehlermeldung, die auf ein Konfigurations- oder Netzwerkproblem hinweist. Dies ist zu erwarten, da unser simuliertes Gerät wlan0 nicht mit dem Internet verbunden ist.

In einem realen Szenario, in dem Sie erfolgreich mit einem Netzwerk verbunden sind, würde das Tool automatisch den besten Server finden, Ihre Download- und Upload-Geschwindigkeiten testen und die Ergebnisse ausgeben. Die Ausgabe würde ungefähr so aussehen (die Werte würden variieren):

Retrieving speedtest.net configuration...
Testing from ...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ... [x.xx ms]: ...
Testing download speed...
Download: 95.32 Mbit/s
Testing upload speed...
Upload: 88.14 Mbit/s

Dieser Schritt demonstriert die Wichtigkeit der Überprüfung Ihres Verbindungsstatus, bevor Sie Tools verwenden, die Internetzugang erfordern.

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben die wesentlichen Befehle zur Verwaltung von drahtlosen Verbindungen auf einem Linux-System mithilfe von nmcli erlernt.

In diesem Lab haben Sie den gesamten Workflow der Verwaltung drahtloser Netzwerke in einer simulierten Umgebung geübt:

  • Scannen nach Netzwerken mit nmcli device wifi list.
  • Erstellen und Versuch der Aktivierung eines Verbindungsprofils mit nmcli connection add und nmcli connection up.
  • Überprüfen des Verbindungsstatus mit nmcli connection show.
  • Löschen eines Verbindungsprofils mit nmcli connection delete.
  • Verständnis der Anforderungen für verbindungsspezifische Tools wie speedtest-cli.

Diese Fähigkeiten sind grundlegend für die Verwaltung von Linux-Servern und Desktops, insbesondere in Umgebungen, in denen Sie auf die Befehlszeile angewiesen sind. Sie sind nun besser gerüstet, um Netzwerkkonfigurationen in verschiedenen Situationen zu handhaben.