In diesem Tutorial erfahren Sie, wie Sie über das Terminal in Ubuntu eine Verbindung zu einem drahtlosen Netzwerk herstellen. Dies ist besonders hilfreich, wenn Sie einen Ubuntu-Server verwenden, auf dem Sie keinen Zugriff auf die normale Desktop-Umgebung haben.
Ich verwende hauptsächlich Desktop-Linux auf meinen Heimcomputern. Ich habe auch mehrere Linux-Server zum Hosten von It’s FOSS und verwandten Websites und Open-Source-Software wie Nextcloud, Diskurs, Ghost, Rocket-Chat usw.
Ich verwende Linode, um Linux-Server in wenigen Minuten schnell in der Cloud bereitzustellen. Aber vor kurzem habe ich einen Ubuntu-Server auf meinem Raspberry Pi installiert. Dies ist das erste Mal, dass ich einen Server auf einem physischen Gerät installiert habe und ich zusätzliche Dinge tun musste, um den Ubuntu-Server über die Befehlszeile mit dem WLAN zu verbinden.
In diesem Tutorial zeige ich die Schritte zum Herstellen einer WLAN-Verbindung über das Terminal in Ubuntu Linux. Du solltest
- Haben Sie keine Angst, das Terminal zum Bearbeiten von Dateien zu verwenden
- den Namen des WLAN-Zugangspunkts (SSID) und das Passwort kennen
Verbinden Sie sich mit dem WLAN vom Terminal in Ubuntu
Es ist einfach, wenn Sie den Ubuntu-Desktop verwenden, da Sie die GUI haben, um dies einfach zu tun. Es ist nicht dasselbe, wenn Sie einen Ubuntu-Server verwenden und auf die Befehlszeile beschränkt sind.
Ubuntu verwendet Netzplan Dienstprogramm zum einfachen Konfigurieren von Netzwerken. In Netplan erstellen Sie eine YAML-Datei mit der Beschreibung der Netzwerkschnittstelle und mit Hilfe des netplan-Kommandozeilentools generieren Sie alle erforderlichen Konfigurationen.
Sehen wir uns an, wie Sie mit Netplan vom Terminal aus eine Verbindung zum drahtlosen Netzwerk herstellen.
Schritt 1: Identifizieren Sie den Namen Ihrer drahtlosen Netzwerkschnittstelle
Es gibt mehrere Möglichkeiten, Ihren Netzwerkschnittstellennamen zu identifizieren. Sie können den ip-Befehl, den veralteten ipconfig-Befehl verwenden oder diese Datei überprüfen:
ls /sys/class/net
Dies sollte Ihnen alle verfügbaren Netzwerkschnittstellen (Ethernet, WLAN und Loopback) zur Verfügung stellen. Der Name der drahtlosen Netzwerkschnittstelle beginnt mit ‘w’ und wird normalerweise ähnlich wie wlanX, wlpxyz, benannt.
[email protected]:~$ ls /sys/class/net
eth0 lo wlan0
Notieren Sie sich diesen Schnittstellennamen. Sie werden es im nächsten Schritt verwenden.
Schritt 2: Bearbeiten Sie die Netplan-Konfigurationsdatei mit den Details der WLAN-Schnittstelle
Die Netplan-Konfigurationsdatei befindet sich im Verzeichnis /etc/netplan. Wenn Sie den Inhalt dieses Verzeichnisses überprüfen, sollten Sie Dateien wie 01-network-manager-all.yml oder 50-cloud-init.yaml sehen.
Wenn es sich um einen Ubuntu-Server handelt, sollten Sie die Cloud-Init-Datei haben. Für Desktops sollte es sich um eine Netzwerk-Manager-Datei handeln. Dies ist einer der vielen Unterschiede zwischen Ubuntu-Desktop und Ubuntu-Server.
Mit dem Network Manager auf dem Linux-Desktop können Sie ein drahtloses Netzwerk auswählen. Sie können den WLAN-Zugangspunkt in seiner Konfiguration hart codieren. Dies kann Ihnen in einigen Fällen (wie Suspend) helfen, in denen die Verbindung automatisch unterbrochen wird.
Welche Datei es auch ist, öffnen Sie sie zum Bearbeiten. Ich hoffe, Sie sind mit dem Nano-Editor ein wenig vertraut, da Ubuntu bereits vorinstalliert ist.
sudo nano /etc/netplan/50-cloud-init.yaml
YAML-Dateien reagieren sehr empfindlich auf Leerzeichen, Einrückungen und Ausrichtung. Verwenden Sie keine Tabulatoren, verwenden Sie stattdessen 4 (oder 2, je nachdem, was bereits in der YAML-Datei verwendet wird) Leerzeichen, wo Sie einen Einzug sehen.
Grundsätzlich müssen Sie die folgenden Zeilen mit dem Zugangspunktnamen (SSID) und seinem Passwort (normalerweise) in Anführungszeichen einfügen:
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Behalten Sie auch hier die Ausrichtung bei, wie ich gezeigt habe, sonst wird die YAML-Datei nicht geparst und es wird ein Fehler ausgegeben.
Ihre vollständige Konfigurationsdatei kann wie folgt aussehen:
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"SSID_name":
password: "WiFi_password"
Ich finde es seltsam, dass es trotz der Meldung, dass die Änderungen bei einem Neustart der Instanz nicht bestehen bleiben, immer noch funktioniert.
Generieren Sie die Konfiguration auf jeden Fall mit diesem Befehl:
sudo netplan generate
Und jetzt wenden Sie dies an:
sudo netplan apply
Wenn Sie Glück haben, sollten Sie mit dem Netzwerk verbunden sein. Versuchen Sie, eine Website anzupingen, oder führen Sie den Befehl apt update aus.
Es kann jedoch sein, dass die Dinge nicht so reibungslos laufen und Sie einige Fehler sehen. Versuchen Sie in diesem Fall einige zusätzliche Schritte.
Mögliche Fehlerbehebung
Es ist möglich, dass Sie bei Verwendung des netplan apply-Befehls einen Fehler in der Ausgabe sehen, der ungefähr so lautet:
Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found.
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply
utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa)
File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
subprocess.check_call(command)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.
Es ist möglich, dass der Dienst wpa_supplicant nicht ausgeführt wird. Führen Sie diesen Befehl aus:
sudo systemctl start wpa_supplicant
Führen Sie netplan apply erneut aus. Wenn es das Problem gut und gut behebt. Fahren Sie andernfalls Ihr Ubuntu-System herunter mit:
shutdown now
Starten Sie Ihr Ubuntu-System erneut, melden Sie sich an und generieren und wenden Sie netplan erneut an:
sudo netplan generate
sudo netplan apply
Es kann jetzt eine Warnung (anstelle eines Fehlers) anzeigen. Es ist eine Warnung und kein Fehler. Ich habe das überprüft Ausführen von systemd-Diensten und stellte fest, dass netplan-wpa-wlan0.service bereits ausgeführt wurde. Wahrscheinlich hat es die Warnung angezeigt, weil es bereits lief und ‘netplan apply’ die Konfigurationsdatei aktualisiert hat (auch ohne Änderungen).
Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Es ist nicht kritisch und Sie können überprüfen, ob das Internet wahrscheinlich bereits funktioniert, indem Sie apt update ausführen.
Ich hoffe, Sie konnten mit Hilfe dieses Tutorials über die Befehlszeile in Ubuntu eine Verbindung zum WLAN herstellen. Wenn Sie immer noch Probleme damit haben, lassen Sie es mich im Kommentarbereich wissen.