Quindi, fondamentalmente, mi piacerebbe usare iwconfig
per connettermi alla mia rete wifi quando non sono dentro X. Ma non vedo un modo per farlo nella pagina man. Qualche idea?
Quindi, fondamentalmente, mi piacerebbe usare iwconfig
per connettermi alla mia rete wifi quando non sono dentro X. Ma non vedo un modo per farlo nella pagina man. Qualche idea?
Risposte:
iw
(list / config) può gestire solo WEP.
È necessario il wpasupplicant
pacchetto che fornisce il wpa_supplicant
comando, installare se necessario tramite sudo apt-get install wpasupplicant
.
Inserisci SSID e password /etc/wpa_supplicant.conf
(richiede sudo).
Esempio:
network={
ssid="ssid_name"
psk="password"
}
Supponendo che la tua interfaccia sia wlan0, puoi connetterti con:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
"wext" è un driver e sarà specifico per ogni carta; fare riferimento a wpa_supplicant -h
. Esempi:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
non si è connesso alla rete wireless, anche se per impostazione predefinita NetworkManager mi collega alla rete voglio provare in modo da riga di comando c'è qualche errore che sto facendo?
root
(amministratore di sistema). Quindi sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
o dividerli in due comandi in giro &&
.
Questo link mostra tutto e ha funzionato bene per me: http://linux.icydog.net/wpa.php
Sto copiando i contenuti qui, quindi li abbiamo, nel caso in cui quel sito non sia in linea.
Riga di comando WPA
A volte ti troverai a una riga di comando senza accesso agli strumenti di rete della GUI, ma il tuo punto di accesso è protetto con WPA. cosa fai?
Supponendo che la tua scheda wireless funzioni davvero (ovvero che iwconfig può vederla e interagire con essa), l'utilizzo di wpa_supplicant è in realtà piuttosto semplice. Installazione di wpa_supplicant
La maggior parte delle distribuzioni al giorno d'oggi ha wpa_supplicant installato per impostazione predefinita. Se hai i comandi wpa_passphrase e wpa_supplicant disponibili, allora sei a posto. Altrimenti, dovrai installare il pacchetto facendo qualcosa di simile (per Ubuntu):
$ sudo apt-get install wpasupplicant
Oppure (per Fedora):
# yum install wpa_supplicant
O qualunque sia il comando per la tua distribuzione.
Generazione del file di configurazione
Ora che wpa_supplicant è installato, creeremo il suo file di configurazione. Una volta che conosci la passphrase SSID e WPA, tutto ciò che devi fare è eseguire:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Naturalmente, sostituisci "myrouter" con l'SSID del tuo router, "mypassphrase" con la tua passphrase WPA e "wpa.conf" con qualsiasi file in cui desideri memorizzare la configurazione. Questo nome file non deve seguire un formato particolare o avere un'estensione particolare.
In alternativa, per evitare di digitare la passphrase sulla riga di comando (in modo che non venga salvata nella cronologia della shell), è possibile specificare solo l'SSID sulla riga di comando. wpa_passphrase attenderà che tu digiti la passphrase seguita da enter:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Dovresti finire con un file simile al seguente:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Connettersi
Ora eseguiremo effettivamente wpa_supplicant per connetterci alla rete wireless. Innanzitutto, se il tuo router trasmette il suo SSID (lo fanno tutti per impostazione predefinita), probabilmente vorrai assicurarti che la tua scheda wireless possa effettivamente vederlo:
$ iwlist scan
Potrebbe essere necessario eseguirlo come root per forzare un aggiornamento.
Successivamente, dovrai conoscere tre informazioni:
wpa_supplicant --help
elenca i diversi driver che ha (in "driver:"). A partire dal 0.5.8, le scelte utili sono: wext
, hostap
, madwifi
, atmel
, ndiswrapper
, e ipw
(ipw è solo per i vecchi kernel;> = 2.6.13 dovrebbe usare wext). Se non vedi una corrispondenza specifica per la tua carta, prova wext, in quanto è una specie di catch-all.iwconfig
. Riferirà "nessuna estensione wireless" per i dispositivi non wireless e mostrerà alcuni dati per tutti i dispositivi wireless.Ora che hai questi dati, esegui (come root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Non ci sono spazi tra le opzioni e i parametri. Non includere le parentesi quadre come ho appena aggiunto quelle per chiarezza. Ad esempio, per il mio laptop sembra così:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Puoi anche eseguirlo in background utilizzando l' -B
opzione in modo che non occupi la tua console.
Ora sei associato alla rete.
Andare online
Per essere effettivamente online, dovrai ottenere un IP in qualche modo. Molte persone vorranno semplicemente ottenere un IP dinamico da un server DHCP, probabilmente quello integrato nel router. (Non ho intenzione di coprire l'impostazione di un IP statico e la tabella di routing perché è una bestia in sé.)
Per ottenere un lease DHCP, rilascia prima tutti i lease a cui stai ancora trattenendo (come root):
# dhclient -r
Quindi chiedi un nuovo contratto di locazione (ovviamente sostituendo eth1 con il nome del tuo dispositivo di rete, lo stesso che hai usato nella sezione precedente):
# dhclient eth1
Ora hai un IP, almeno in teoria. Buona navigazione!
Debian e altre distro hanno wpa_suplicant in esecuzione come servizio di default per gestire le reti wifi. wpa_suplicant può essere gestito da diversi client / front-end come la GUI del gestore di rete. Questo è meglio spiegato in questa wiki debian .
wpa_cli è il client wpa_suplicant della riga di comando per gestire le reti wifi.
Modifica : ho appena trovato questo post che spiega come usare nmcli ed è molto meglio di wpa_cli poiché è compatibile con il Network Manager della GUI, le loro impostazioni e le reti wifi salvate.
Esempio di utilizzo di wpa_cli :
Verifica che abbia già un'interfaccia di rete abilitata per il wifi:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Controlla se il processo wpa_suplicant è in esecuzione:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Entra in modalità interattiva client wpa:
# wpa_cli
Elenca i punti di accesso disponibili:
> scan
> scan_results
... e ottieni qualcosa del genere:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Aggiungi il tuo AP:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Selezionalo come corrente:
> enable_network 0
Connettiti ad esso:
> reconnect
Controlla lo stato:
> status
Esci da wpa_cli:
> quit
Dalla shell, richiedere DHCP per un IP e le impostazioni di rete:
# dhclient -r
# dhclient wlan0
wpa_cli
e poi scrivi wpa_client
? Su Kubuntu 18.10 wpa_client
sembra non esistere come comando
Per prima cosa aggiungi la tua carta se non è in esecuzione:
ifconfig wlan0 up
Imposta i parametri secondo la tua rete
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
In realtà c'è un modo per farlo usando NetworkManager, se il checkbox
pacchetto è installato.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Credito: bug 923836 , che è emerso nelle mie ricerche sull'argomento.)
Tutte le risposte che suggeriscono che wpa_supplicant sono sbagliate. Sì, potrebbe collegarti alla rete WPA, ma questa è una cattiva soluzione a lungo termine perché sarà molto difficile da mantenere e non giocherà bene con una connessione cablata. Leggi questa risposta e semplifica la vita utilizzando Network Manager dalla riga di comando. Ho perso ore a cercare di configurare wpa_supplicant, quindi ho provato nmcli e "ha funzionato".
È possibile utilizzare VSWM - Very Simple Wireless Manager. Metti i tuoi AP conosciuti su un semplice file cfg (/etc/vswm.cfg) e quando lo esegui vswm
scansiona le reti disponibili e connetti la tua scheda con la prima che appare su /etc/vswm.cfg.
VSWM è disponibile su https://github.com/dmelo/vswm . Ecco una scelta di come appare il file di configurazione vswm.cfg:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Sotto i cofani, utilizza gli strumenti standard della riga di comando: iwlist, wpa_supplicant, iwconfig, dhclient ... Solo automatizza il lavoro.
Ho avuto problemi a utilizzare wpa_supplicant
direttamente per accedere a una rete wireless. Il mio ID di rete e la password hanno generato errori quando ho usato il wpa_supplicant.conf
file dalla wpa_supplicant
riga di comando, ad es
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Sono stato in grado di aggirare il problema con wpa_cli
. La sequenza di comandi che ho dovuto usare, poiché sto usando un driver Windows con Linux ndiswrapper, è:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
Ho configurato la rete aggiungendola nella sezione wireless della rete nella GUI, in modo da poter fare clic sull'icona della rete cablata o wireless e selezionare il provider wireless (che a volte era necessario per completare l'accesso).
La nmcli
è la versione a riga di comando del gestore di rete predefinita applicazione su Ubuntu.
Alcuni dei vantaggi sono che utilizza la configurazione che hai già dall'interfaccia grafica e non ha bisogno dell'accesso root.
È possibile eseguire nmcli
per mostrare le opzioni disponibili.
Esempio per connettersi a un wifi chiamato MYESSID:
nmcli c up MYESSID