WPA supplicant (Italiano)
| Summary |
|---|
| Installazione ed utilizzo di wpa_supplicant |
| Argomenti correlati |
| Configuring Network (Italiano) |
| Wireless Setup (Italiano) |
wpa_supplicant è un Supplicant WPA con supporto a WEP, WPA e WPA2 (IEEE 802.11i / RSN (Robust Secure Network)) adatto all'uso con PC desktop, portatili e persino in sistemi embedded. wpa_supplicant è il componente IEEE 802.1X/WPA utilizzato dai client, implementa la negoziazione della chiave con un WPA Authenticator, controlla il roaming e l'associazione / autenticazione del driver wireless.
Contents |
Installazione
Si installi wpa_supplicant dai repository ufficiali.
È inoltre possibile installare wpa_supplicant_gui; un frontend grafico per wpa_supplicant che utilizza il toolkit qt4.
Associazione
Per associarsi ad un Access Point wireless utilizzando wpa_supplicant, utilizzare il tool a riga di comando wpa_cli, incluso nel pacchetto. Per utilizzare wpa_cli è necessario specificare una interfaccia di controllo nel file di configurazione, aggiungendo una linea simile a ctrl_interface=/var/run/wpa_supplicant.
Per abilitare il salvataggio delle modifiche effettuate tramite wpa_cli, si aggiunga update_config=1 al file di configurazione, quindi si avvii wpa_supplicant come segue:
# wpa_supplicant -B -i interface -c /percorso/al/file/di/configurazione
Si invochi wpa_cli senza argomenti per ottenere un prompt interattivo (>). Il prompt supporta la tab completion e contiene le descrizioni dei comandi autocompletati. Ad esempio, il comando scan avvia una scansione delle reti wireless vicine ed invia una notifica una volta che l'operazione è stata completata.
Si esegua quindi:
> scan_results bssid / frequency / signal level / flags / ssid 00:00:00:00:00:00 2462 -49 [WPA2-PSK-CCMP][ESS] MYSSID 11:11:11:11:11:11 2437 -64 [WPA2-PSK-CCMP][ESS] ANOTHERSSID
Per associarsi con MYSSID sarà necessario informare wpa_supplicant. Ogni rete è numerata a partire da zero ed è possibile inserire la PSK senza apici, alternativamente all'inserimento della passphrase proposto nell'esempio sotto:
> add_network 0 > set_network 0 ssid "MYSSID" > set_network 0 psk "passphrase" > enable_network 0 <2>CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed (reauth) [id=0 id_str=]
Il messaggio di notifica indica l'avvenuta associazione con l'Access Point scelto: sarà ora possibile ottenere un indirizzo IP tramite dhcpcd o iproute2.
Si leggano gli articoli correlati per ulterori informazioni.
Per salvare le informazioni di rete nel file di configurazione si esegua:
> save_config OK
Configurazione
wpa_supplicant fornisce un file di configurazione d'esempio situato in /etc/wpa_supplicant/wpa_supplicant.conf che documenta in modo dettagliato tutte le opzioni disponibili e relative configurazioni.
Il contenuto minimo richiesto dal file di configurazione è un network block; ad esempio:
/etc/wpa_supplicant/foobar.conf
network={
ssid="..."
}
Quanto sopra può essere facilmente generato utilizzando il tool wpa_passphrase:
$ wpa_passphrase essid passphrase
network={
ssid=essid
#psk=passphrase
psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
}
Una volta ottenuto un file di configurazione, sarà possibile avviare il demone wpa_supplicant e collegarsi alla rete wireless richiesta:
# wpa_supplicant -B -i interfaccia -c file_di_configurazione
Potrebbe essere necessario specificare il driver da utilizzare: per una lista di quelli supportati, eseguire il comando wpa_supplicant -h. Si noti che il driver nl80211 è da preferirsi rispetto al vecchio wext, da ritenersi deprecato.
Il driver viene specificato tramite il parametro -D:
# wpa_supplicant -B -i interfaccia -c file_di_configurazione -D driver
Una volta autenticati, non rimane che connettersi utilizzando un IP statico oppure tramite DHCP. Ad esempio:
# dhcpcd interfaccia
Avvio tramite systemd
Una possibile configurazione consiste nell'abilitazione di wpa_supplicant e dhcpcd su un'interfaccia specifica (si veda a tal proposito Systemd (Italiano)#Usare le unità):
# systemctl enable wpa_supplicant@interfaccia # systemctl enable dhcpcd@interfaccia
La sezione [Install] del servizio di systemd fornito da wpa_supplicant è sbagliata (si veda questo bug report). Se la propria interfaccia di rete non si chiama wlan0, sarà necessario copiare il servizio in /etc/systemd/system e modificare la sezione [Install] in questo modo:
[Install] WantedBy=multi-user.target
Si consulti Systemd (Italiano)#Rimpiazzare le unità fornite per ulteriori informazioni sulla modifica delle unità.