Difference between revisions of "WPA supplicant (Italiano)"

From ArchWiki
Jump to: navigation, search
m
Line 53: Line 53:
  
 
{{Nota|Per identificare il nome dell'interfaccia di rete in uso, utilizzare il comando {{ic|ip link}}.}}
 
{{Nota|Per identificare il nome dell'interfaccia di rete in uso, utilizzare il comando {{ic|ip link}}.}}
 
{{Nota|È consigliabile preferire [[Netctl|netctl]] per la connessione alle reti, poichè il suo utilizzo paga sul lungo termine.}}
 
  
 
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.
 
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.
Line 107: Line 105:
 
   ExecStart=
 
   ExecStart=
 
   ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/bar.conf -i%i
 
   ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/bar.conf -i%i
 
 
  [Install]
 
  WantedBy=multi-user.target
 
 
</nowiki>}}
 
</nowiki>}}
  
Sarà necessario ridefinire anche {{ic|1=WantedBy=}} se il nome dell'interfaccia in uso non corrisponde nella relativa riga in {{ic|wpa_supplicant@.service}}.
+
La direttva {{ic|WantedBy}} del .service correntemente fornito non è corretta. Se la riga nel servizio {{ic|wpa_supplicant@.service}} non corrisponde al nome della propria interfaccia di rete (wlan0), sarà necessario copiare il servizio in {{ic|/etc/systemd/system}} ed apportare le dovute modifiche.
 +
 
 +
[Install]
 +
WantedBy=multi-user.target
 +
 
 +
Il problema è stato risolto in [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=commitdiff;h=893a0a558cd8fd9a7dc5827f379e0f8a273a4fe5 questo] commit.
  
 
==Link correlati==
 
==Link correlati==
  
 
* [http://wireless.kernel.org/en/users/Documentation/wpa_supplicant documentazione di wpa_supplicant su kernel.org]
 
* [http://wireless.kernel.org/en/users/Documentation/wpa_supplicant documentazione di wpa_supplicant su kernel.org]

Revision as of 08:44, 6 August 2013


Summary help replacing me
Installazione ed utilizzo di wpa_supplicant
Argomenti correlati
Configuring Network (Italiano)
Wireless Setup (Italiano)


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: Per identificare il nome dell'interfaccia di rete in uso, utilizzare il comando ip link.

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.

Avvio tramite systemd

Per avviare la connessione wireless automaticamente al boot, si abiliti il servizio wpa_supplicant sull'interfaccia interessata. Se la propria connessione ottiene gli indirizzi tramite DHCP, abilitare anche dhcpcd.service. Per gestire eventuali connessioni ethernet si installi ifplugd e si abiliti il relativo servizio sull'interfaccia interessata.

I comandi da eseguire potrebbero essere simili ai seguenti:

# systemctl enable wpa_supplicant@wlp3s1
# systemctl enable dhcpcd
# systemctl enable ifplugd@enp5s2

wpa_supplicant gestirà il roaming per tutti i SSID contenuti nel suo file di configurazione e ifplugd configurerà automaticamente l'interfaccia ethernet spegnendo quella wireless all'inserimento di un cavo ethernet nella macchina, mentre dhcpcd si occuperà dell'asegnazione degli indirizzi IP alle varie interfacce.

È necessario modificare il servizio wpa_supplicant@.service per farlo puntare al file di configurazione corretto. Per ridefinire il valore della riga ExecStart= si crei il seguente file:

/etc/systemd/system/wpa_supplicant@.service.d/foo.conf
  [Service]
  ExecStart=
  ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/bar.conf -i%i

La direttva WantedBy del .service correntemente fornito non è corretta. Se la riga nel servizio wpa_supplicant@.service non corrisponde al nome della propria interfaccia di rete (wlan0), sarà necessario copiare il servizio in /etc/systemd/system ed apportare le dovute modifiche.

[Install]
WantedBy=multi-user.target

Il problema è stato risolto in questo commit.

Link correlati