Configurare wpa supplicant

Da Wiki di NetBSD Italia.

Questo articolo non rispetta le linee guida per i contenuti per tanto necessita di essere wikificato (ovvero reso conforme sulla base di queste regole). Offri il tuo contributo per migliorare questo wiki secondo le convenzioni di NetBSD-it.

Indice

Introduzione

WPA Supplicant è un pacchetto che permette di connettersi ad access point WPA abilitati. Questo programma richiede un file di configurazione, /etc/wpa_supplicant.conf, per funzionare. Esula dagli scopi di questa piccola guida spiegare nei dettagli come funziona wpa_supplicant, e come configurarlo. Per maggiorni informazioni:

$ man wpa_supplicant
$ man wpa_supplicant.conf

Nota: attualmente wpa_supplicant non supporta tutti i driver. Per un elenco di tutti i driver supportati, leggere il sito di wpa_supplicant [1].

Prerequisiti

La scheda wifi deve essere correttamente riconosciuta dal kernel prima di procedere oltre con questa guida. Scrivi:

# ifconfig -l

ed essicurati che la tua scheda venga riconosciuta.

Intel® PRO/Wireless 3945ABG

Nel mio caso la scheda wifi è una Intel® PRO/Wireless 3945ABG. Questa scheda (come molte altre) è già riconosciuta di default dal kernel di NetBSD 4.0 col il nome wpi0.

Nota: Se sei in possesso di un'atro tipo di scheda wifi, in seguito sostituisci wpi0 con il nome della tua scheda.

A causa di problemi di licenze, prima di iniziare ad usarla bisogna installare il firmware ed accettare la licenza. Il firmware per questa scheda può essere trovato su pkgsrc:

sysutils/wpi-firmware
sysutils/wpi-firmware2

Una volta installati ed accettata la licenza (situata in /usr/pkgsrc/licenses/intel-ipw-license), possiamo iniziare.

Configurazione

Assicuratevi di avere nel file /etc/rc.conf:

wpa_supplicant=YES

serve per avviare wpa_supplicant all'avvio del computer.

wpa_supplicant_flags="-i wpi0 -c /etc/wpa_supplicant.conf -B"

wpa_supplicant_flags da la possibilità di "passare" delle opzioni a wpa_supplicant. Quelle indispensabili sono -c (che serve per specificare il percorso del file di configurazione) e -i (che serve per impostare il device della scheda wifi da utilizzare). Ho aggiunto anche -B, che serve per fare un detach dal terminale, ed eseguire wpa_supplicant come processo in background.

Oltre le due righe precedenti di wpa_supplicant, assicuriamoci anche di avere:

ifconfig_wpi0="192.168.1.4"
ifconfig_wpi0="DHCP"

qui nulla di speciale, semplicemente configuriamo la scheda wifi assegnandogli un ip statico nel primo caso, o uno dinamico con dhcp nel secondo caso.

defaultroute="192.168.1.1"

impostiamo l'IP del gateway di default (per esempio potrebbe essere un router wifi)

Una volta configurata la scheda wifi, passiamo a configurare wpa_supplicant. Un /etc/wpa_supplicant.conf essenziale assomiglia a questo:

 
network={
 ssid="''tuo_ssid''"
 psk="''tua_password''"
 priority=5
}

Per quanto sia semplice e basilare, per reti wifi casalinghe (WPA-PSK, PSK come un ASCII passphrase) è più che sufficiente.

wpa_supplicant.conf in generale risulta essere un pò più difficile in base al tipo di configurazione di sicurezza degli Access Point a cui si sta cercando di connettere. L'esempio seguente è preso (e semplificato) da un esempio che viene fornito insieme a wpa_supplicant.

 
ctrl_interface=/var/run/wpa_supplicant

# Assicurarsi che solo root possa leggere la configurazione WPA
ctrl_interface_group=0

# Lasciare che wpa_supplicant si occupi della scansione e della selezione AP
ap_scan=1

# Caso semplice: WPA-PSK, PSK come un ASCII passphrase, permette tutte cifre valide
network={
  ssid="simple"
  psk="very secret passphrase"
  # Più alta è la priorità  prima c'è riconoscimento
  priority=5
}

# Lo stesso del precedente, ma è richiesto la scansione specifica per
# SSID (per AP che rifiutano il broadcast del SSID)
network={
  ssid="second ssid"
  scan_ssid=1
  psk="very secret passphrase"
  priority=2
}

# È usato solo WPA-PSK. Qualsiasi combinazione di cifre valida è accettata
network={
  ssid="example"
  proto=WPA
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
  priority=2
}

# Connessione plaintext (no WPA, no IEEE 802.1X)
network={
  ssid="plaintext-test"
  key_mgmt=NONE
}

# Connessione condivisa WEP key (no WPA, no IEEE 802.1X)
network={
  ssid="static-wep-test"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
}

# Connessione condivisa WEP key (no WPA, no IEEE 802.1X) usando
# autenticazione Shared Key IEEE 802.11
network={
  ssid="static-wep-test2"
  key_mgmt=NONE
  wep_key0="abcde"
  wep_key1=0102030405
  wep_key2="1234567890123"
  wep_tx_keyidx=0
  priority=5
  auth_alg=SHARED
}

# Rete IBSS/ad-hoc con WPA-None/TKIP
network={
  ssid="test adhoc"
  mode=1
  proto=WPA
  key_mgmt=WPA-NONE
  pairwise=NONE
  group=TKIP
  psk="secret passphrase"
}

Fatto questo è sufficiente riavviare il computer, oppure:

# /etc/rc.d/network start

o

# /etc/rc.d/network restart

Per informazioni sulla configurazione avanzata di un client WPA con autenticazione RADIUS fare riferimento alla sezione supplicant della guida Proteggere la rete Wi-Fi con FreeRADIUS (EAP).

Strumenti personali