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.