Dieses Tutorial zeigt Ihnen, wie Sie über die Befehlszeile unter Debian 11/10 eine Verbindung zu einem Wi-Fi-Netzwerk herstellen Server und Desktop mit wpa_supplicant , die eine Implementierung der Supplicant-Komponente für das WPA-Protokoll ist. Ein Supplicant in Wireless LAN ist eine Client-Software, die auf dem Computer des Endbenutzers installiert ist und authentifiziert werden muss, um einem Netzwerk beizutreten.
Bitte beachten Sie, dass Sie wpa_supplicant
installieren müssen Software, bevor Sie sich mit Wi-Fi verbinden, also müssen Sie zuerst eine Verbindung zu Wired Ethernet herstellen, was nur einmal gemacht wird. Wenn dir diese Methode nicht gefällt, sei mir bitte nicht böse. Vielleicht wird Debian eines Tages wpa_supplicant
ausliefern bei einer sauberen Installation.
Schritt 1:Finden Sie den Namen Ihrer drahtlosen Schnittstelle und Ihres drahtlosen Netzwerks
Führen Sie iwconfig
aus Befehl, um den Namen Ihrer drahtlosen Schnittstelle zu finden.
iwconfig
wlan0
ist ein gebräuchlicher Name für eine drahtlose Netzwerkschnittstelle auf Linux-Systemen. Auf systemd-basierten Linux-Distributionen haben Sie möglicherweise eine drahtlose Schnittstelle mit dem Namen wlp4s0
.
Wie Sie sehen können, ist die drahtlose Schnittstelle derzeit keinem Zugriffspunkt zugeordnet. Führen Sie dann den folgenden Befehl aus, um die drahtlose Schnittstelle aufzurufen.
sudo ip link set dev wlp4s0 up
Wenn Sie auf den folgenden Fehler stoßen,
RTNETLINK answers: Operation not possible due to RF-kill
Sie müssen Wi-Fi mit dem folgenden Befehl entsperren.
sudo rfkill unblock wifi
Suchen Sie als Nächstes den Namen Ihres drahtlosen Netzwerks, indem Sie mit dem folgenden Befehl nahegelegene Netzwerke scannen. Ersetzen Sie wlp4s0
mit Ihrem eigenen drahtlosen Schnittstellennamen. ESSID ist die Netzwerknamenkennung.
sudo iwlist wlp4s0 scan | grep ESSID
Schritt 2:Mit WPA_Supplicant mit dem WLAN-Netzwerk verbinden
Installieren Sie nun wpa_supplicant
auf Debian 11/10 aus dem Standard-Software-Repository.
sudo apt install wpasupplicant
Wir müssen eine Datei namens wpa_supplicant.conf
erstellen mit der wpa_passphrase
Nützlichkeit. wpa_supplicant.conf
ist die Konfigurationsdatei, die alle Netzwerke beschreibt, mit denen sich der Computer verbinden soll. Führen Sie den folgenden Befehl aus, um diese Datei zu erstellen. Ersetzen Sie ESSID (Netzwerkname) und Wi-Fi-Passphrase durch Ihre eigenen.
wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Wenn Ihre ESSID Leerzeichen wie (linuxbabe WiFi
), müssen Sie die ESSID in doppelte Anführungszeichen setzen ("linuxbabe WiFi"
). ) im obigen Befehl.
Die Ausgabe von wpa_passphrase
Der Befehl wird an tee
geleitet , und dann in /etc/wpa_supplicant/wpa_supplicant.conf
geschrieben Datei. Verwenden Sie nun den folgenden Befehl, um Ihre Wireless-Karte mit dem Wireless Access Point zu verbinden.
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0
Die folgende Ausgabe zeigt an, dass Ihre WLAN-Karte erfolgreich mit einem Zugangspunkt verbunden ist.
Successfully initialized wpa_supplicant wlp4s0: SME: Trying to authenticate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz) wlp4s0: Trying to associate with c5:4a:21:53:ac:eb (SSID='CMCC-11802' freq=2437 MHz) wlp4s0: Associated with c5:4a:21:53:ac:eb wlp4s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 wlp4s0: WPA: Key negotiation completed with c5:4a:21:53:ac:eb [PTK=CCMP GTK=CCMP] wlp4s0: CTRL-EVENT-CONNECTED - Connection to c5:4a:21:53:ac:eb completed [id=0 id_str=]
Beachten Sie, dass Sie Network Manager mit dem folgenden Befehl stoppen müssen, wenn Sie die Debian-Desktop-Edition verwenden, da dies sonst zu Verbindungsproblemen bei der Verwendung von wpa_supplicant führt .
sudo systemctl stop NetworkManager
Deaktivieren Sie den automatischen Start von NetworkManager beim Booten, indem Sie den folgenden Befehl ausführen.
sudo systemctl disable NetworkManager-wait-online NetworkManager-dispatcher NetworkManager
Standardmäßig läuft wpa_supplicant im Vordergrund. Wenn die Verbindung hergestellt ist, öffnen Sie ein weiteres Terminalfenster und führen Sie es aus
iwconfig
Sie können sehen, dass die drahtlose Schnittstelle jetzt mit einem Zugriffspunkt verknüpft ist.
Sie können CTRL+C
drücken um den aktuellen wpa_supplicant zu stoppen verarbeiten und im Hintergrund ausführen, indem Sie -B
hinzufügen Flagge.
sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0
Obwohl wir authentifiziert und mit einem drahtlosen Netzwerk verbunden sind, haben wir noch keine IP-Adresse. Verwenden Sie den folgenden Befehl, um eine private IP-Adresse vom DHCP-Server zu erhalten:
sudo dhclient wlp4s0
Jetzt hat Ihr WLAN-Interface eine private IP-Adresse, die angezeigt werden kann mit:
ip addr show wlp4s0
Jetzt können Sie auf das Internet zugreifen. Um die private IP-Adresse freizugeben, führen Sie
aussudo dhclient wlp4s0 -r
Verbinden mit verstecktem Drahtlosnetzwerk
Wenn Ihr drahtloser Router keine ESSID sendet, müssen Sie die folgende Zeile in /etc/wpa_supplicant/wpa_supplicant.conf
hinzufügen Datei.
scan_ssid=1
Wie unten:
network={ ssid="LinuxBabe.Com Network" #psk="12345qwert" psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195 scan_ssid=1 }
Schritt 3:Beim Systemstart automatisch verbinden
Um beim Booten automatisch eine Verbindung zum drahtlosen Netzwerk herzustellen, müssen wir wpa_supplicant.service
bearbeiten Datei. Es ist eine gute Idee, die Datei von /lib/systemd/system/
zu kopieren Verzeichnis nach /etc/systemd/system/
Verzeichnis und bearbeiten Sie dann den Dateiinhalt, da wir keine neuere Version von wpa_supplicant
wollen um unsere Änderungen zu überschreiben.
sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service
Bearbeiten Sie die Datei mit einem Befehlszeilen-Texteditor wie Nano.
sudo nano /etc/systemd/system/wpa_supplicant.service
Suchen Sie die folgende Zeile.
ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
Ändern Sie es wie folgt. Hier haben wir die Konfigurationsdatei und den Namen der drahtlosen Schnittstelle zum ExecStart
hinzugefügt Befehl.
ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0
Es wird empfohlen, immer zu versuchen, wpa_supplicant neu zu starten, wenn ein Fehler erkannt wird. Fügen Sie Folgendes direkt unter ExecStart
hinzu Linie.
Restart=always
Speichern und schließen Sie die Datei. (Um eine Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O
, und drücken Sie dann Enter
bestätigen. Drücken Sie zum Beenden Ctrl+X
.) Dann Systemd neu laden.
sudo systemctl daemon-reload
Aktivieren Sie wpa_supplicant Dienst beim Booten starten.
sudo systemctl enable wpa_supplicant.service
Außerdem müssen wir dhclient
starten beim Booten, um eine private IP-Adresse vom DHCP-Server zu erhalten. Dies kann erreicht werden, indem eine systemd-Diensteinheit für dhclient
erstellt wird .
sudo nano /etc/systemd/system/dhclient.service
Fügen Sie den folgenden Text in die Datei ein.
[Unit] Description= DHCP Client Before=network.target After=wpa_supplicant.service [Service] Type=forking ExecStart=/sbin/dhclient wlp4s0 -v ExecStop=/sbin/dhclient wlp4s0 -r Restart=always [Install] WantedBy=multi-user.target
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen Dienst.
sudo systemctl enable dhclient.service
So erhalten Sie eine statische IP-Adresse
Wenn Sie eine statische IP-Adresse erhalten möchten, müssen Sie dhclient.service
deaktivieren .
sudo systemctl disable dhclient.service
Erstellen Sie eine Netzwerkkonfigurationsdatei.
sudo nano /etc/systemd/network/static.network
Fügen Sie die folgenden Zeilen hinzu.
[Match] Name=wlp4s0 [Network] Address=192.168.1.8/24 Gateway=192.168.1.1
Speichern und schließen Sie die Datei. Erstellen Sie dann einen .link
Datei für die drahtlose Schnittstelle.
sudo nano /etc/systemd/network/10-wifi.link
Fügen Sie dieser Datei die folgenden Zeilen hinzu. Sie müssen Ihre eigene MAC-Adresse und den Namen der drahtlosen Schnittstelle verwenden. Dadurch soll verhindert werden, dass das System den Namen der drahtlosen Schnittstelle ändert.
[Match] MACAddress=a8:4b:05:2b:e8:54 [Link] NamePolicy= Name=wlp4s0
Speichern und schließen Sie die Datei. Deaktivieren Sie dann den networking.service
und aktivieren Sie systemd-networkd.service
, das sich um die Vernetzung kümmert.
sudo systemctl disable networking sudo systemctl enable systemd-networkd
Sie können jetzt systemd-networkd
neu starten um zu sehen, ob Ihre Konfiguration funktioniert.
sudo systemctl restart systemd-networkd
Eine andere Möglichkeit, eine statische IP-Adresse zu erhalten, besteht darin, sich bei der Verwaltungsoberfläche Ihres Routers anzumelden und der MAC-Adresse Ihrer WLAN-Karte eine statische IP zuzuweisen, sofern Ihr Router diese Funktion unterstützt.
Empfohlene Lektüre
- So verwenden Sie Systemd unter Linux – Verwalten Sie Dienste, Ausführungsebenen und Protokolle
Mehrere Wi-Fi-Netzwerke
Die /etc/wpa_supplicant.conf
Konfigurationsdatei kann mehrere Wi-Fi-Netzwerke enthalten. wpa_supplicant wählt automatisch das beste Netzwerk aus, basierend auf der Reihenfolge der Netzwerkblöcke in der Konfigurationsdatei, der Netzwerksicherheitsstufe und der Signalstärke.
Um ein zweites Wi-Fi-Netzwerk hinzuzufügen, führen Sie
auswpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
Beachten Sie, dass Sie den -a
verwenden müssen Option mit dem tee
Befehl, der das neue WLAN-Netzwerk an die Datei anhängt, anstatt den ursprünglichen Inhalt zu löschen.
Wi-Fi-Sicherheit
Verwenden Sie kein WPA2 TKIP oder WPA2 TKIP+AES als Verschlüsselungsverfahren in Ihrem WLAN-Router. TKIP gilt nicht mehr als sicher. Sie können WPA2-AES verwenden als Verschlüsselungsverfahren.