Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa guida sono contenute le informazioni per connettersi ad una rete Wi-Fi tramite riga di comando.
Tali operazioni possono risultare utili in varie situazioni, tra cui:
in sistemi server, installazioni minimali ecc.
qualora non fosse possibile utilizzare strumenti con interfacce grafiche, quali Networkmanager, Wicd o Wifi Radar (ad esempio qualora sia impossibile accedere alla sessione grafica in seguito a malfunzionamenti).
Preparativi
Configurazione del router
La prima operazione da effettuare è configurare il proprio router wireless, se non fatto in precedenza. A tale scopo è sempre utile consultare la manualistica del modello utilizzato. Nel dettaglio, fra le altre cose, dovranno essere impostati:
ESSID: è in pratica il nome identificativo della rete wireless.
Server DHCP: nei casi più comuni, è bene impostare l'assegnamento automatico degli indirizzi di rete ai client connessi alla rete.
Politiche di sicurezza: oltre alla generazione di una password della rete Wi-Fi sicura (a tal fine si consiglia la consultazione di questa pagina), occorre impostare lo standard desiderato, ossia WEP, WPA o WPA2.
Si raccomanda di non impostare nelle nuove connessioni la chiave WEP, poiché deprecata e soggetta problemi critici di sicurezza che potrebbero permettere a utenti non autorizzati di connettersi in maniera fraudolenta alla rete. Usare sempre la chiave WPA/WPA2.
Per garantire una maggiore sicurezza, sebbene non strettamente necessario, si raccomanda inoltre di:
modificare il nome della rete con uno che non contenga il nome di marca e/o modello del router e/o nome dell'ISP;
- modificare la password della rete Wi-Fi preimpostata di fabbrica;
modificare la password di accesso alle configurazioni del router stesso (sostituendo, se preimpostati, nomi utente o password generiche quali «admin», «user», «password» ecc.).
Identificazione dell'interfaccia di rete
Per conoscere il nome assegnato dal sistema alla scheda di rete wifi è sufficiente digitare il seguente comando all'interno di un terminale:
iwconfig
Il risultato del precedente comando dovrebbe essere simile al seguente:
wlp7s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=16 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions. enp9s0 no wireless extensions.
dove l'interfaccia di rete rilevata nell'esempio è wlp7s0. In questo caso almeno una periferica di rete è riconosciuta. Sarà quindi possibile procedere con la connessione alla rete.
Nel caso invece nessun dispositivo venga riconosciuto e accanto a tutti compaia la dicitura «no wireless extensions», consultare questo paragrafo.
Connessione da riga di comando
Identificata l'interfaccia di rete wifi e supposto che essa si chiami wlp7s0, per effettuare la connessione seguire i passaggi descritti di seguito.
Se si desidera ottenere l'elenco delle reti wireless disponibili, completo di dettagli, digitare in un terminale il comando:
sudo iwlist wlp7s0 scan
Se invece si desidera semplicemente visualizzare l'elenco degli ESSID digitare il comando:
sudo iwlist scan | grep -i essid
Tra le reti rilevate dovrebbe essere presente quella del proprio router.Per connettersi alla rete desiderata digitare:
sudo iwconfig wlp7s0 essid nome_della_rete
Sostituire "nome_della_rete" con il nome della propria rete rispettando i caratteri maiuscoli o minuscoli presenti nel nome.
Chiave WPA/WPA2
Per usare la chiave WPA/WPA2 fare riferimento a questa guida.
Chiave WEP
Poiché la chiave WEP è stata deprecata a causa della sua compromissione, si raccomanda di usarla solo su dispositivi molto vecchi qualora non sia possibile sostituirla con WPA/WPA2.
Per sbloccare la protezione tramite la chiave WEP digitare il comando:
sudo iwconfig wlp7s0 key 1A2B3C4D5E6F
Il codice esadecimale «1A2B3C4D5E6F» va sostituito con la chiave WEP fornita in formato numerico esadecimale. Una volta digitato il codice della chiave, dovrebbe essere possibile accedere alla rete.
Ottenere indirizzo IP
Infine ottenere un indirizzo IP dal server DHCP digitando:
sudo dhclient wlan0
Nel caso in cui il comando dhclient non funzionasse, consultare questo paragrafo.
Verifica della connessione
Per verificare l'avvenuta connessione è sufficiente avviare un browser e navigare.
In alternativa, se si dispone della sola riga di comando o si preferisce adoperare quest'ultima, utilizzare il comando ping con un sito web, come nel seguente esempio:
ping google.com -c 4
Il risultato dovrebbe essere simile al seguente:
PING google.com (216.58.209.46) 56(84) bytes of data. 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=1 ttl=110 time=92.2 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=2 ttl=110 time=79.1 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=3 ttl=110 time=77.8 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=4 ttl=110 time=87.8 ms --- google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 77.830/84.286/92.229/6.002 ms
Nel caso in cui il risultato dovesse essere simile a «Destination host unreachable», digitare il comando:
ping -n 4.2.2.2 -c 4
Il risultato dovrebbe essere simile al seguente:
PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data. 64 bytes from 4.2.2.2: icmp_seq=1 ttl=50 time=6487 ms 64 bytes from 4.2.2.2: icmp_seq=2 ttl=50 time=5476 ms 64 bytes from 4.2.2.2: icmp_seq=3 ttl=50 time=4452 ms 64 bytes from 4.2.2.2: icmp_seq=4 ttl=50 time=3430 ms --- 4.2.2.2 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3059ms rtt min/avg/max/mdev = 3430.742/4961.582/6487.292/1139.687 ms, pipe 4
Se in questo caso si ottengono messaggi quali «unknown host», «Destination host unreachable» o «request timed out», i DNS potrebbero essere non correttamente impostati nel modem router in uso.
Impostare quindi le configurazioni corrette e ripetere la verifica (consultare in tal caso il manuale del dispositivo, se necessario).
Risoluzione problemi
Dispositivi non riconosciuti da iwconfig
Qualora nell'output del comando iwconfig tutti i dispositivi elencati dovessero avere la dicitura «no wireless extensions», potrebbero essere non riconosciuti dal sistema. In tal caso procedere con i seguenti passaggi:
Abilitare eventuali driver proprietari, come descritto in questa guida (si potrebbe avere bisogno di un cavo di rete e/o un adattatore wireless esterno funzionante).
Se il dispositivo non risultasse ancora riconosciuto, consultare le guide specifiche elencate in questa pagina (a seconda dei casi, si potrebbe avere bisogno di un cavo di rete e/o un adattatore wireless esterno funzionante e/o un altro dispositivo connesso alla rete).
Se ancora non si fosse risolto il problema, identificare la periferica non funzionante quindi rivolgersi all'assistenza del produttore oppure ai canali di supporto (per navigare si potrebbe avere bisogno di un altro dispositivo connesso alla rete).
Una volta installati i driver, ripetere la procedura di identificazione e verificare che i dispositivi siano correttamente riconosciuti.
Nel caso di driver proprietari, poiché le interfacce di rete non sono presenti nel codice sorgente, devono essere caricate come moduli nel kernel. Come conseguenza i moduli delle interfacce installate si perdono ad ogni aggiornamento del kernel. Per non perdere la configurazione ad ogni aggiornamento dello stesso, si consiglia di accertarsi della presenza di DKMS (Dynamic Kernel Module Support), installando quindi il pacchetto dkms, se assente.
Terminare avahi-daemon
Dall'introduzione del demone avahi-daemon, sebbene il comando dhclient funzioni nella maggior parte dei casi, in alcuni computer per ristabilire la connessione alla rete è necessario eseguire il comando:
sudo /etc/init.d/avahi-daemon stop
quindi ridare il comando:
sudo dhclient wlan0
Richiesta di supporto
Qualora non si riuscisse a far funzionare la scheda wireless è possibile rivolgersi ai canali di supporto.
In particolare si consiglia di aprire una discussione nel forum, all'interno della sezione Driver e periferiche, riportando:
- marca e modello della scheda all'interno del titolo.
all'interno del messaggio, l'output del seguente comando:
lspci -nnk | grep -A5 -i net