GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Verbinden Sie sich mit Wi-Fi From Terminal auf Debian 11/10 mit WPA Supplicant

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

aus
sudo 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

aus
wpa_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.


Debian
  1. So installieren Sie Webmin unter Debian 10/11

  2. Sichern Sie Apache2 mit Let’s Encrypt SSL auf Debian 10/11

  3. Sichern Sie Nginx mit Let’s Encrypt SSL auf Debian 10/11

  4. So installieren Sie den XFCE-Desktop unter Debian 10/11

  5. Installieren Sie Wireguard-Server auf Debian 10/11

Machen Sie Debian zu einem drahtlosen Zugangspunkt

So installieren Sie das neueste PHP 8.1 unter Debian 11/10

So installieren Sie das Webmin-Verwaltungstool unter Debian 10/11

Verbinden Sie sich mit Wi-Fi From Terminal auf Ubuntu 18.04/20.04 mit WPA Supplicant

So installieren Sie mehrere PHP-Versionen mit Apache unter Debian 11/10

Kannel SMS Gateway auf Debian 10/11