Difference between revisions of "WPA supplicant (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Gestire una configurazione personalizzata)
(26 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Configurazione e connessione==
+
[[Category:Wireless Networking (Italiano)]]
 +
[[es:WPA supplicant]]
 +
[[en:WPA supplicant]]
 +
[[ru:WPA Supplicant]]
 +
[[zh-CN:WPA Supplicant]]
 +
[http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant] è un [[Wikipedia:Supplicant_(computer) | Supplicant WPA]] con supporto a WPA e WPA2 ([[Wikipedia:IEEE_802.11i|IEEE 802.11i]] / RSN (Robust Secure Network)) adatto all'uso con PC desktop e portatili e in sistemi embedded. {{ic|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 wlan.
  
WPA Supplicant è pacchettizzato con un file di configurazione d'esempio: {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}, il quale è ben commentato e fornisce numerose informazioni sulle meccaniche di rete. Tutte le variabili usate in questo articolo sono descritte in questo file, che contiene inoltre molte configurazioni d'esempio già preimpostate, pertanto ne è fortemente consigliata la lettura, assieme alle pagine di manuale {{ic|man wpa_supplicant}} e {{ic|man wpa_supplicant.conf}}.
+
==Installazione==
  
Il file di configurazione di WPA Supplicant contiene tutte le impostazioni relative a {{ic|wpa_supplicant}}. È possibile crearne quanti se ne vuole e posizionarli dove più vi aggrada, dal momento che è necessario specificare il file di configurazione da utilizzare ad ogni invocazione di {{ic|wpa_supplicant}}.
+
Si installi {{Pkg|wpa_supplicant}} dai [[Official Repositories (Italiano)|repository ufficiali]].
  
Il contenuto del file è molto semplice:
+
È inoltre possibile installare {{Pkg|wpa_supplicant_gui}}; un frontend grafico per {{ic|wpa_supplicant}} che utilizza il toolkit {{Pkg|qt4}}.
  
* La prima parte riguarda la configurazione generale. È una serie di linee contenenti coppie ''chiave-valore''.
+
==Configurazione==
* La seconda parte è composta dai ''network blocks'', uno per ogni profilo che si desidera impostare.
+
  
Per semplificare, si lascerà invariato il file di configurazione d'esempio e si partirà da zero creando il file {{ic|/etc/wpa_supplicant.conf}}.
+
{{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.
  
Ci sono molti modi per configurare {{ic|wpa_supplicant}}, ed è possibile scegliere tra quelli sotto elencati.
+
Il contenuto minimo richiesto dal file di configurazione è un network block; ad esempio:
  
===Metodo manuale===
+
{{hc|/etc/wpa_supplicant/foobar.conf|<nowiki>
 
+
====File di configurazione====
+
 
+
Innanzitutto è necessario essere in possesso di tutti i parametri relativi alla connessione al proprio Access Point, gran parte dei quali ottenibili con il tool {{ic|iwlist}}:
+
 
+
# iwlist wlan0 scan
+
 
+
Ulteriori dettagli sono disponibili [https://wiki.archlinux.org/index.php/Wireless_Setup_%28Italiano%29#Ricerca_degli_Access_Points qui].
+
 
+
Ora dovreste conoscere i seguenti parametri necessari a {{ic|wpa_supplicant}} per funzionare:
+
 
+
* SSID
+
* proto (opzionale su reti non protette)
+
* key_mgmt
+
* pairwise
+
* group
+
 
+
Inoltre, si potrebbe aver bisogno dei parametri di autenticazione (EAP, PEAP, ecc.) se si è su reti particolari, come quelle universitarie, ad esempio.
+
 
+
=====Primi ritocchi=====
+
 
+
È ora possibile procedere con la creazione di un network block nel file di configurazione:
+
 
+
{{hc|wpa_supplicant.conf|
+
<nowiki>
+
 
network={
 
network={
        ssid="mywireless_ssid"
+
    ssid="..."
        psk="secretpassphrase"
+
  }
        # parametri aggiuntivi (proto, key_mgmt, etc.)
+
}
+
 
</nowiki>}}
 
</nowiki>}}
  
Questo è il file di configurazione di base necessario affinchè l'autenticazione WPA funzioni. La prima riga è la dichiarazione d'apertura del network block, la seconda contiene l'SSID dell'Access Point al quale si vuole connetterti, mentre la terza è la passphrase.
+
Quanto sopra può essere facilmente generato utilizzando il tool {{ic|wpa_passphrase}}:
  
{{Attenzione|Ci si ricordi di usare i doppi apici alle voci ssid e psk!}}
+
$ wpa_passphrase foobarssid foobarspassword
 +
network={
 +
    ssid="foobarssid"
 +
    #psk="foobarspassword"
 +
  psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
 +
}
  
=====Passphrase e PSK=====
+
È ora possibile combinare l'utilizzo di {{ic|wpa_supplicant}} e {{ic|wpa_passphrase}} per collegarsi a praticamente tutte le reti WPA2 personali:
  
Il lettore attento avrà notato che la PSK dovrebbe essere una stringa esadecimale. Infatti, la passphrase e la PSK non sono esattamente la stessa cosa: la passphrase è una chiave leggibile dall'utente che viene usata in combinazione con il SSID per generare la chiave di rete "machine friendly" conosciuta come "PSK". A livello di rete, la passphrase non viene mai usata, e rappresenta solamente un modo comodo per gestire la chiave da parte degli utenti.
+
# wpa_supplicant -B -i [interfaccia] -c <(wpa_passphrase [essid] [passphrase])
  
Se si vuole risparmiare tempo, è possibile fornire direttamente la versione esadecimale della passphrase, usando l'utility {{ic|wpa_passphrase}}, che è fornita dal pacchetto {{Pkg|wpa_supplicant}} stesso. Si utilizzi la sintassi {{ic|wpa_passphrase [ssid] [passphrase]}}.
+
Non resta che impostare un [[Configuring Network (Italiano)#Indirizzo IP Statico|indirizzo IP statico]] o utilizzare [[Configuring Network (Italiano)#Indirizzo IP Dinamico|DHCP]]. Ad esempio:
  
* Un esempio:
+
# dhcpcd -A [interfaccia]
  
# wpa_passphrase mywireless_ssid "secretpassphrase"
+
===Gestire una configurazione personalizzata===
  
Il comando dovrebbe generare il seguente network block:
+
{{Nota|È consigliabile preferire [[Netctl|netctl]] per la connessione alle reti, poichè il suo utilizzo paga sul lungo termine.}}
  
network={
+
Come si è visto sopra, è possibile utilizzare {{ic|wpa_passphrase}} per generare una configurazione di base a cui aggiungere poi reti aggiuntive ed opzioni di propria scelta, che potrebbero essere necessarie in caso di configurazioni di rete avanzate che utilizzano [[Wikipedia:Extensible_Authentication_Protocol|EAP]] in modo estensivo.
        ssid="mywireless_ssid"
+
        #psk="secretpassphrase"
+
        psk=7b271c9a7c8a6ac07d12403a1f0792d7d92b5957ff8dfd56481ced43ec6a6515
+
}
+
  
La terza linea è la passphrase (la chiave leggibile dall'utente) e la quarta la PSK (la chiave esadecimale), che è richiesta per la connessione. Il {{ic|#}} commenta la linea relativa alla passphrase, dal momento che utilizzeremo la PSK per la connessione.
+
Innanzitutto, si generi un file di configurazione minimale con {{ic|wpa_passphrase}}:
 +
# wpa_passphrase foobarssid foobarspassword > /etc/wpa_supplicant/foobar.conf
  
{{Nota|La PSK esadecimale non deve essere inclusa tra doppi apici.}}
+
{{Suggerimento|Alcune passphrase particolarmente complesse potrebbero dover essere immesse in un file prima dell'utilizzo: {{ic|# wpa_passphrase foobarssid < passphrase.txt > /etc/wpa_supplicant/foobar.conf}}. }}
  
* Utilizzando {{ic|wpa_passphrase}} si specifichi il proprio SSID reale e la propria passphrase, e si rediriga l'output su {{ic|/etc/wpa_supplicant.conf}}:
+
Si aggiunga quindi l'opzione {{ic|ctrl_interface}}, in modo da poter controllare il demone {{ic|wpa_supplicant}}. È possibile autorizzare {{ic|wpa_cli}} ad effettuare modifiche al file con l'opzione {{ic|1=update_config=1}}. Consentiremo inoltre a {{ic|wpa_supplicant}} di effettuare una scansione e selezione degli Access Points presenti con {{ic|1=ap-scan=1}}.
  
# wpa_passphrase mywireless_ssid "secretpassphrase" >> /etc/wpa_supplicant.conf
+
{{hc|/etc/wpa_supplicant/foobar.conf|<nowiki>
 +
ctrl_interface=DIR=/run/wpa_supplicant GROUP=wheel # consente ai membri del gruppo 'wheel' di controllare il demone
 +
  update_config=1
 +
  ap_scan=1
  
Il {{ic|>>}} redirigerà l'output su {{ic|/etc/wpa_supplicant.conf}}, aggiungendolo ad eventuali righe preesistenti. È possibile aggiungere un numero illimitato di network blocks, e wpa_supplicant saprà quale utilizzare in base agli SSID trovati nell'area.
+
  network={
 
+
    ssid="foobarssid"
=====Opzioni del network block=====
+
    psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
 
+
  }
Tutti i parametri di sicurezza devono essere specificati qui. Si noti che se si è insicuri sui valori richiesti dal proprio Access Point, è possibile utilizzarne diversi contemporaneamente, e {{ic|wpa_supplicant}} sceglierà automaticamente quello funzionante.
+
</nowiki>}}
 
+
Ad esempio, è possibile aggiungere:
+
 
+
proto=WEP WPA
+
  
in modo che il se prorpio Access Point utilizza WEP o WPA, il tutto funzionerà in entrambi i casi. Se però lo stesso utilizza RSN (ovvero WPA2), sarà necessario aggiungerlo agli altri valori.
+
È possibile aggiungere network blocks multipli al file di configurazione di cui sopra.
  
Se il SSID è nascosto, si aggiunga la seguente opzione al network block:
+
Per connettersi alla rete prescelta si eseguano i seguenti comandi:
  
  scan_ssid=1
+
  # ip link set [interfaccia] up
 +
# wpa_supplicant -B -D nl80211 -i [interfaccia] -c /etc/wpa_supplicant/foobar.conf
 +
# dhcpcd -A [interfaccia]
  
Se è necessario connettersi a più reti, si definisca un altro network block nello stesso file. È possibile specificare la priorità per ognuno di essi:
+
{{Nota|È preferibile utilizzare {{ic|nl80211}} rispetto al driver {{ic|wext}}, da considerarsi deprecato. Per ottenere un elenco dei driver supportati, si esegua {{ic|wpa_supplicant}} senza argomenti.}}
  
priority=17
+
Per reti di complessità crescente si studino gli esempi forniti nel file di configurazione di default sito in {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}.
  
Si cambi la priorità a piacere, ricordandosi che i numeri più grandi avranno la precedenza.
+
==Link utili==
  
Ci sono inoltre numerose altre opzioni di configurazioni impostabili nel network block che è possibile trovare nel file di configurazione originale.
+
* [[Wireless Setup (Italiano)|Wireless Setup]]
Nella maggior parte dei casi non si avrà bisogno di specificare nulla oltre ai paremetri di default.
+
* [[Netctl|netctl]]
 +
* [http://wireless.kernel.org/en/users/Documentation/wpa_supplicant documentazione di wpa_supplicant su kernel.org]

Revision as of 17:31, 6 June 2013

wpa_supplicant è un Supplicant WPA con supporto a WPA e WPA2 (IEEE 802.11i / RSN (Robust Secure Network)) adatto all'uso con PC desktop e portatili e 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 wlan.

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.

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 foobarssid foobarspassword
network={
   ssid="foobarssid"
   #psk="foobarspassword"
  psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
}

È ora possibile combinare l'utilizzo di wpa_supplicant e wpa_passphrase per collegarsi a praticamente tutte le reti WPA2 personali:

# wpa_supplicant -B -i [interfaccia] -c <(wpa_passphrase [essid] [passphrase])

Non resta che impostare un indirizzo IP statico o utilizzare DHCP. Ad esempio:

# dhcpcd -A [interfaccia]

Gestire una configurazione personalizzata

Nota: È consigliabile preferire netctl per la connessione alle reti, poichè il suo utilizzo paga sul lungo termine.

Come si è visto sopra, è possibile utilizzare wpa_passphrase per generare una configurazione di base a cui aggiungere poi reti aggiuntive ed opzioni di propria scelta, che potrebbero essere necessarie in caso di configurazioni di rete avanzate che utilizzano EAP in modo estensivo.

Innanzitutto, si generi un file di configurazione minimale con wpa_passphrase:

# wpa_passphrase foobarssid foobarspassword > /etc/wpa_supplicant/foobar.conf
Suggerimento: Alcune passphrase particolarmente complesse potrebbero dover essere immesse in un file prima dell'utilizzo: # wpa_passphrase foobarssid < passphrase.txt > /etc/wpa_supplicant/foobar.conf.

Si aggiunga quindi l'opzione ctrl_interface, in modo da poter controllare il demone wpa_supplicant. È possibile autorizzare wpa_cli ad effettuare modifiche al file con l'opzione update_config=1. Consentiremo inoltre a wpa_supplicant di effettuare una scansione e selezione degli Access Points presenti con ap-scan=1.

/etc/wpa_supplicant/foobar.conf
ctrl_interface=DIR=/run/wpa_supplicant GROUP=wheel # consente ai membri del gruppo 'wheel' di controllare il demone
  update_config=1
  ap_scan=1

  network={
     ssid="foobarssid"
     psk=f5d1c49e15e679bebe385c37648d4141bc5c9297796a8a185d7bc5ac62f954e3
  }

È possibile aggiungere network blocks multipli al file di configurazione di cui sopra.

Per connettersi alla rete prescelta si eseguano i seguenti comandi:

# ip link set [interfaccia] up
# wpa_supplicant -B -D nl80211 -i [interfaccia] -c /etc/wpa_supplicant/foobar.conf
# dhcpcd -A [interfaccia]
Nota: È preferibile utilizzare nl80211 rispetto al driver wext, da considerarsi deprecato. Per ottenere un elenco dei driver supportati, si esegua wpa_supplicant senza argomenti.

Per reti di complessità crescente si studino gli esempi forniti nel file di configurazione di default sito in /etc/wpa_supplicant/wpa_supplicant.conf.

Link utili