Difference between revisions of "WPA supplicant (Italiano)"

From ArchWiki
Jump to: navigation, search
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
[[ru:WPA Supplicant]]
 
[[ru:WPA Supplicant]]
 
[[zh-CN:WPA Supplicant]]
 
[[zh-CN:WPA Supplicant]]
 
 
{{Related articles start (Italiano)}}
 
{{Related articles start (Italiano)}}
 
{{Related|Configuring Network (Italiano)}}
 
{{Related|Configuring Network (Italiano)}}
Line 17: Line 16:
  
 
È inoltre possibile installare {{Pkg|wpa_supplicant_gui}}; un frontend grafico per {{ic|wpa_supplicant}} che utilizza il toolkit {{Pkg|qt4}}.
 
È inoltre possibile installare {{Pkg|wpa_supplicant_gui}}; un frontend grafico per {{ic|wpa_supplicant}} che utilizza il toolkit {{Pkg|qt4}}.
 +
 +
==Setup per dhcpcd==
 +
 +
[[Configuring_Network_(Italiano)#Indirizzo_IP_dinamico|dhcpcd]] contiene un hook (abilitato di default) per l'avvio automatico di ''wpa_supplicant'' su tutte le interfacce wireless.
 +
Quest'ultimo viene avviato solo se:
 +
 +
* Non vi è un altro processo di ''wpa_supplicant'' in ascolto su una determinata interfaccia, il che implica che ''dhcpcd'' non avvierà ''wpa_supplicant'' in caso  quest'ultimo sia stato lanciato da ''systemd'' o avviato con qualsiasi altro metodo.
 +
* Esiste un file di configurazione per ''wpa_supplicant''. A partire dalla versione 6.2.1-1 (Febbraio 2014) di ''dhcpcd'' verrà controllato anche il percorso {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}} oltre al classico {{ic|/etc/wpa_supplicant.conf}}.
 +
L'hook che si occupa di lanciare ''wpa_supplicant'' si trova in {{ic|/usr/lib/dhcpcd/dhcpcd-hooks/10-wpa_supplicant}}.
  
 
==Configurazione==
 
==Configurazione==
  
 
{{Pkg|wpa_supplicant}} fornisce un file di configurazione d'esempio situato in {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}} che documenta in modo dettagliato tutte le opzioni disponibili e relative configurazioni.
 
{{Pkg|wpa_supplicant}} fornisce un file di configurazione d'esempio situato in {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}} che documenta in modo dettagliato tutte le opzioni disponibili e relative configurazioni.
 +
È quindi consigliabile effettuarne un backup, poichè i metodi per l'aggiunta automatica delle reti descritti sotto eliminano qualsiasi commento dal {{ic|wpa_supplicant.conf}}.
 +
 +
$ sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.bak
 +
  
 
Il contenuto minimo richiesto dal file di configurazione è un network block; ad esempio:
 
Il contenuto minimo richiesto dal file di configurazione è un network block; ad esempio:
Line 54: Line 66:
 
Potrebbe essere necessario specificare il driver da utilizzare: per una lista di quelli supportati, eseguire il comando {{ic|wpa_supplicant -h}}.
 
Potrebbe essere necessario specificare il driver da utilizzare: per una lista di quelli supportati, eseguire il comando {{ic|wpa_supplicant -h}}.
  
* {{ic|nl80211}} è il driver standard attuale, ma non tutti i sistemi lo supportano.
+
* {{ic|nl80211}} è il driver standard attuale, ma non tutti i chip wireless lo supportano.
* {{ic|wext}} è deprecato, ma più supportato.
+
* {{ic|wext}} è deprecato, ma maggiormente supportato.
  
 
Il driver viene specificato tramite il parametro {{ic|-D}}:
 
Il driver viene specificato tramite il parametro {{ic|-D}}:

Revision as of 15:59, 8 February 2014

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.

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.

Setup per dhcpcd

dhcpcd contiene un hook (abilitato di default) per l'avvio automatico di wpa_supplicant su tutte le interfacce wireless. Quest'ultimo viene avviato solo se:

  • Non vi è un altro processo di wpa_supplicant in ascolto su una determinata interfaccia, il che implica che dhcpcd non avvierà wpa_supplicant in caso quest'ultimo sia stato lanciato da systemd o avviato con qualsiasi altro metodo.
  • Esiste un file di configurazione per wpa_supplicant. A partire dalla versione 6.2.1-1 (Febbraio 2014) di dhcpcd verrà controllato anche il percorso /etc/wpa_supplicant/wpa_supplicant.conf oltre al classico /etc/wpa_supplicant.conf.

L'hook che si occupa di lanciare wpa_supplicant si trova in /usr/lib/dhcpcd/dhcpcd-hooks/10-wpa_supplicant.

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. È quindi consigliabile effettuarne un backup, poichè i metodi per l'aggiunta automatica delle reti descritti sotto eliminano qualsiasi commento dal wpa_supplicant.conf.

$ sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.bak


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 e aggiunto al file di configurazione. Questa configurazione è utile se si utilizzano router o access points che richiedono una password. Ad esempio:

$ wpa_passphrase essid passphrase
network={
   ssid=essid
   #psk=passphrase
   psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
}

È possibile utilizzare un file di testo come input per l'inserimento di alcune passphrase particolarmente complesse:

# wpa_passphrase essid < passphrase.txt > /etc/wpa_supplicant/wpa_supplicant-interfaccia.conf
Suggerimento: wpa_passphrase può inserire le varie impostazioni direttamente nel file di configurazione, ma sarà necessario specificare il link allo stesso come argomento del comando sudo.

Assicurarsi di star utilizzando >>, altrimenti si sovrascriverà l'intero file di configurazione:

$ sudo sh -c "wpa_passphrase essid passphrase >> /etc/wpa_supplicant/wpa_supplicant.conf"

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.

  • nl80211 è il driver standard attuale, ma non tutti i chip wireless lo supportano.
  • wext è deprecato, ma maggiormente supportato.

Il driver viene specificato tramite il parametro -D:

# wpa_supplicant -B -i interfaccia -c file_di_configurazione -D driver
Suggerimento: È possibile combinare l'utilizzo di wpa_supplicant e wpa_passphrase per connettersi a quasi tutte le reti WPA2 (Personal), ma sarà necessario acquisire i privilegi di superuser, poichè il link al file di configurazione viene eseguito prima del comando sudo:
$ sudo -i
# wpa_supplicant -B -i interfaccia -c <(wpa_passphrase essid passphrase)

Una volta configurato wpa_supplicant per la propria rete, non rimane che connettersi utilizzando un IP statico oppure tramite DHCP. Ad esempio:

# dhcpcd interfaccia

Utilizzare wpa_cli

È possibile controllare wpa_supplicant manualmente a runtime, utilizzando il tool a riga di comando wpa_cli. Per utilizzare 'wpa_cli è necessario che wpa_supplicant venga configurato per creare una interfaccia di controllo (socket) attraverso la variabile ctrl_interface, da inserire nel relativo file di configurazione (percorso di default /etc/wpa_supplicant/wpa_supplicant.conf).

Quanto segue creerà il socket in /run/wpa_supplicant e permetterà ai membri del gruppo adm di accedervi:

ctrl_interface=DIR=/run/wpa_supplicant GROUP=adm

È possibile modificare il file di configurazione di wpa_supplicant direttamente da wpa_cli, il chè potrebbe essere utile nel caso si abbia la necessità di aggiungere nuove reti manualmente senza riavviare il demone wpa_supplicant. Per abilitare questo comportamento, si imposti il valore della variabile update_config ad 1:

update_config=1

Una volta che il demone wpa_supplicant si è avviato, è possibile avviare anche wpa_cli, che cercherà il socket di controllo specificato nel file di configurazione (oppure passato come argomento tramiete lo switch -p). È inoltre possibile specificare l'interfaccia da configurare con lo switch -i; in caso contrario verrà utilizzata la prima interfaccia trovata.

Una volta invocato wpa_cli, verrà visualizzato un prompt interattivo (>). Il prompt supporta l'autocompletamento e fornisce una descrizione dei comandi completati.

Aggiungere una nuova rete utilizzando wpa_cli

Per effettuare una scansione delle reti disponibili si scriva scan al prompt (>). Verrà inviata una notifica una volta che la scansione è terminata:

> scan
OK
<3>CTRL-EVENT-SCAN-RESULTS
>

Si esegua quindi scan_results per visualizzare i risultati:

> scan_results
bssid / frequency / signal level / flags / ssid
00:00:00:00:00:00 2462 -49 [WPA2-PSK-CCMP][ESS] MIOSSID
11:11:11:11:11:11 2437 -64 [WPA2-PSK-CCMP][ESS] ALTROSSID
>

Per associarsi con MIOSSID, passare il nome della rete a wpa_supplicant. Ad ogni rete specificata nel file di configurazione viene assegnato un numero progressivo partendo da zero. Ogni nuova rete avrà quindi un numero assegnato di conseguenza.

> add_network
0
>

Si utilizzi questo numero per specificare quale rete si desidera conifigurare. In caso si stia aggiungendo una nuova rete, impostare anche il SSID, racchiuso da virgolette:

> set_network 0 psk "passkey"
OK
>

Si abiliti la rete:

> enable_network 0
OK
>

Si scrivano le modifiche sul file di configurazione:

> save_config
OK
>

Action script

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: To be re-added from this old revision with a meanigful example. (Discuss in Talk:WPA supplicant (Italiano)#)


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à.

Nota: Se si utilizza il servizio dhcpcd@.service è possibile sostituire il parametro -w con -b, in modo che dhcpcd non aspetti di ricevere un indirizzo prima di essere messo in background.
Suggerimento: dhcpcd contiente un hook (abilitato di default) per l'avvio automatico di wpa_supplicant su tutte le interfacce wireless, che viene attivato solamente se è presente il file di configurazione /etc/wpa_supplicant.conf e se non vi è nessun processo di wpa_supplicant in ascolto su quella specifica interfaccia. Per questo motivo è possibile utilizzare semplicemente il servizio dhcpcd@interfaccia per la configurazione della rete, senza abilitare wpa_supplicant@interfaccia.

Link correlati