GNU/Linux >> Linux Esercitazione >  >> Debian

Connettiti al Wi-Fi dal terminale su Debian 11/10 con WPA Supplicant

Questo tutorial ti mostrerà come connetterti alla rete Wi-Fi dalla riga di comando su Debian 11/10 server e desktop utilizzando wpa_supplicant , che è un'implementazione del componente supplicant per il protocollo WPA. Un supplicant in LAN wireless è un software client installato sul computer dell'utente finale che deve essere autenticato per poter entrare in una rete.

Tieni presente che dovrai installare wpa_supplicant software prima di connetterti al Wi-Fi, quindi devi prima connetterti a Ethernet cablata, che viene eseguita solo una volta. Se non ti piace questo metodo, per favore non essere arrabbiato con me. Forse un giorno Debian spedirà wpa_supplicant su un'installazione pulita.

Fase 1:trova il nome dell'interfaccia wireless e della rete wireless

Esegui iwconfig comando per trovare il nome della tua interfaccia wireless.

iwconfig

wlan0 è un nome comune per un'interfaccia di rete wireless su sistemi Linux. Su distribuzioni Linux basate su systemd, potresti avere un'interfaccia wireless denominata wlp4s0 .

Come puoi vedere, l'interfaccia wireless non è associata a nessun punto di accesso in questo momento. Quindi esegui il comando seguente per visualizzare l'interfaccia wireless.

sudo ip link set dev wlp4s0 up

Se riscontri il seguente errore,

RTNETLINK answers: Operation not possible due to RF-kill

devi sbloccare il Wi-Fi con il seguente comando.

sudo rfkill unblock wifi

Quindi, trova il nome della tua rete wireless scansionando le reti vicine con il comando seguente. Sostituisci wlp4s0 con il proprio nome di interfaccia wireless. ESSID è l'identificatore del nome della rete.

sudo iwlist wlp4s0 scan | grep ESSID

Fase 2:connettiti alla rete Wi-Fi con WPA_Supplicant

Ora installa wpa_supplicant su Debian 11/10 dal repository software predefinito.

sudo apt install wpasupplicant

Dobbiamo creare un file chiamato wpa_supplicant.conf usando il wpa_passphrase utilità. wpa_supplicant.conf è il file di configurazione che descrive tutte le reti a cui l'utente desidera che il computer si connetta. Eseguire il comando seguente per creare questo file. Sostituisci ESSID (nome rete) e passphrase Wi-Fi con la tua.

wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

Se il tuo ESSID contiene spazi bianchi come (linuxbabe WiFi ), è necessario racchiudere l'ESSID tra virgolette ("linuxbabe WiFi" ) nel comando precedente.

L'output di wpa_passphrase il comando verrà inviato a tee , e quindi scritto in /etc/wpa_supplicant/wpa_supplicant.conf file. Ora usa il comando seguente per connettere la tua scheda wireless al punto di accesso wireless.

sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0

Il seguente output indica che la tua scheda wireless è connessa correttamente a un punto di accesso.

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=]

Nota che se stai utilizzando l'edizione desktop di Debian, devi interrompere Network Manager con il seguente comando, altrimenti causerà un problema di connessione quando usi wpa_supplicant .

sudo systemctl stop NetworkManager

E disabilita l'avvio automatico di NetworkManager all'avvio eseguendo il comando seguente.

sudo systemctl disable NetworkManager-wait-online NetworkManager-dispatcher NetworkManager

Per impostazione predefinita, wpa_supplicant viene eseguito in primo piano. Se la connessione è completata, apri un'altra finestra del terminale ed esegui

iwconfig

Puoi vedere che l'interfaccia wireless è ora associata a un punto di accesso.

Puoi premere CTRL+C per interrompere l'attuale wpa_supplicant elaboralo ed eseguilo in background aggiungendo il -B bandiera.

sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlp4s0

Sebbene siamo autenticati e connessi a una rete wireless, non abbiamo ancora un indirizzo IP. Per ottenere un indirizzo IP privato dal server DHCP, utilizzare il comando seguente:

sudo dhclient wlp4s0

Ora la tua interfaccia wireless ha un indirizzo IP privato, che può essere mostrato con:

ip addr show wlp4s0

Ora puoi accedere a Internet. Per rilasciare l'indirizzo IP privato, esegui

sudo dhclient wlp4s0 -r

Connessione a una rete wireless nascosta

Se il tuo router wireless non trasmette ESSID, devi aggiungere la seguente riga in /etc/wpa_supplicant/wpa_supplicant.conf file.

scan_ssid=1

Come di seguito:

network={
        ssid="LinuxBabe.Com Network"
        #psk="12345qwert"
        psk=68add4c5fee7dc3d0dac810f89b805d6d147c01e281f07f475a3e0195
        scan_ssid=1
}

Passaggio 3:connessione automatica all'avvio del sistema

Per connetterci automaticamente alla rete wireless all'avvio, dobbiamo modificare il wpa_supplicant.service file. È una buona idea copiare il file da /lib/systemd/system/ directory in /etc/systemd/system/ directory, quindi modifica il contenuto del file, perché non vogliamo una versione più recente di wpa_supplicant per ignorare le nostre modifiche.

sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service

Modifica il file con un editor di testo da riga di comando, come Nano.

sudo nano /etc/systemd/system/wpa_supplicant.service

Trova la riga seguente.

ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant

Cambialo come segue. Qui abbiamo aggiunto il file di configurazione e il nome dell'interfaccia wireless a ExecStart comando.

ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp4s0

Si consiglia di provare sempre a riavviare wpa_supplicant quando viene rilevato un errore. Aggiungi quanto segue subito sotto ExecStart linea.

Restart=always

Salva e chiudi il file. (Per salvare un file nell'editor di testo Nano, premi Ctrl+O , quindi premi Enter per confermare. Per uscire, premi Ctrl+X .) Quindi ricarica systemd.

sudo systemctl daemon-reload

Abilita wpa_supplicant servizio da avviare all'avvio.

sudo systemctl enable wpa_supplicant.service

Dobbiamo anche avviare dhclient all'avvio per ottenere un indirizzo IP privato dal server DHCP. Questo può essere ottenuto creando un'unità di servizio systemd per dhclient .

sudo nano /etc/systemd/system/dhclient.service

Inserisci il seguente testo nel file.

[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

Salva e chiudi il file. Quindi abilita questo servizio.

sudo systemctl enable dhclient.service

Come ottenere un indirizzo IP statico

Se vuoi ottenere un indirizzo IP statico, devi disabilitare dhclient.service .

sudo systemctl disable dhclient.service

Crea un file di configurazione di rete.

sudo nano /etc/systemd/network/static.network

Aggiungi le seguenti righe.

[Match]
Name=wlp4s0

[Network]
Address=192.168.1.8/24
Gateway=192.168.1.1

Salva e chiudi il file. Quindi crea un .link file per l'interfaccia wireless.

sudo nano /etc/systemd/network/10-wifi.link

Aggiungi le seguenti righe in questo file. È necessario utilizzare il proprio indirizzo MAC e il nome dell'interfaccia wireless. Questo serve per impedire al sistema di modificare il nome dell'interfaccia wireless.

[Match]
MACAddress=a8:4b:05:2b:e8:54

[Link]
NamePolicy=
Name=wlp4s0

Salva e chiudi il file. Quindi disabilita networking.service e abilita systemd-networkd.service , che si occuperà del networking.

sudo systemctl disable networking

sudo systemctl enable systemd-networkd

Ora puoi riavviare systemd-networkd per vedere se la tua configurazione funziona.

sudo systemctl restart systemd-networkd

Un altro modo per ottenere un indirizzo IP statico è accedere all'interfaccia di gestione del router e assegnare un IP statico all'indirizzo MAC della scheda wireless, se il router supporta questa funzione.

Lettura consigliata

  • Come utilizzare Systemd su Linux:gestione di servizi, livelli di esecuzione e registri

Più reti Wi-Fi

Il /etc/wpa_supplicant.conf il file di configurazione può includere più reti Wi-Fi. wpa_supplicant selezionerà automaticamente la rete migliore in base all'ordine dei blocchi di rete nel file di configurazione, al livello di sicurezza della rete e alla potenza del segnale.

Per aggiungere una seconda rete Wi-Fi, esegui

wpa_passphrase your-ESSID your-wifi-passphrase | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

Nota che devi usare il -a opzione con il tee comando, che aggiungerà, invece di eliminare il contenuto originale, la nuova rete Wi-Fi al file.

Sicurezza Wi-Fi

Non utilizzare TKIP WPA2 o TKIP WPA2+AES come metodo di crittografia nel router Wi-Fi. TKIP non è più considerato sicuro. Puoi utilizzare WPA2-AES come metodo di crittografia.


Debian
  1. Come installare il desktop XFCE su Debian 10/11

  2. Installa il server Wireguard su Debian 10/11

  3. Installa il server OpenVPN su Debian 10/11

  4. Come installare KDE plasma su Debian 10/11

  5. Installa WordPress con Nginx su Debian 10/11

Rendi Debian un punto di accesso wireless

Come installare l'ultimo PHP 8.1 su Debian 11/10

Come installare Webmin Admin Tool su Debian 10/11

Connettiti al Wi-Fi dal terminale su Ubuntu 18.04/20.04 con WPA Supplicant

Come installare più versioni di PHP con Apache su Debian 11/10

Gateway SMS Kannel su Debian 10/11