WPA, Amilo i Debian/Ubuntu
Instalacja WEP jest prosta - wszystko sobie działa bezproblemowo, wystarczy wszak instalacja koniecznego i tak pakietu wireless-tools, a potem prosta komenda iwconfig eth1 essid
Pierwszym krokiem, który musimy wykonać, jest instalacja pakietu wpasupplicant, który wspomaga w autoryzacji - i to nie tylko jeśli chodzi o sieci WPA/WPA2 (TKIP, EAP), ale także WEP oraz sieci otwarte - więc jest pomocniejszy zdecydowanie niż ręczna konfiguracja przez iwconfig.
Niestety ma też swoje wady, przynajmniej w systemie Debian. Otóż nie instaluje on żadnych plików konfiguracyjnych, ani do katalogu /etc/, ani do katalogu /etc/init.d, co jak na rozpieszczającego mnie Debiana jest trzeba przyznać dziwne. Niemniej zmusza do tego, czego misie nie lubią - czyli zamiast “podejścia przez walkę” do przeczytania najpierw instrukcji. Szybkie przejrzenie katalogu /usr/share/doc/wpasupplicant powoduje, że procedura instalacji jest banalnie prosta. Potrzebujemy do niej jednak danych, których część zdobędziemy poprzez wykonanie komendy:
host:~# iwlist eth1 scan.
eth1 Scan completed :
Cell 01 - Address: 00:16:41:60:13:B2
ESSID:"neostrada_195d"
Protocol:IEEE 802.11bg
Mode:Master
Channel:10
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=68/100 Signal level=-59 dBm
Extra: Last beacon: 4ms ago
Cell 02 - Address: 00:16:41:10:00:30
ESSID:"default"
Protocol:IEEE 802.11bg
Mode:Master
Channel:11
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=89/100 Signal level=-40 dBm
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Extra: Last beacon: 8ms ago
Widzimy, że w zasięgu mamy dwie sieci, jedną chronioną przez WEP, drugą zaś przez WPA - używające szyfrowania AES/TKIP oraz klucza wstępnej autoryzacji (PSK). Jeśli ów klucz znamy, to wystarczy teraz:
- skopiować plik examples/wpa-psk-tkip.conf - cp examples/wpa-psk-tkip.conf /etc/wpa_supplicant/wpa_supplicant.conf
- dokonać w nim odpowiednich zmian - czyli w liniach essid wpisujemy nazwę sieci (tu: default), w proto zostawić WPA, w key-mgmt zostawić WPA-PSK, w pairwise dodać CCMP, zaś w psk wpisać właściwy klucz
- wydać komendę wpa_supplicant -w -i eth1 -D ipw -c /etc/wpa_supplicant/wpa_supplicant.conf, co przy założeniu, że AP nas wpuści, powinno spowodować autoryzację w sieci…
Niestety zamiast podłączenia się do sieci, otrzymujemy komunikat:
ioctl[IPW_IOCTL_WPA_SUPPLICANT]: Operation not supported ioctl[IPW_IOCTL_WPA_SUPPLICANT]: Operation not supported Failed to set encryption. Trying to associate with 00:16:41:10:00:30 (SSID=’default’ freq=0 MHz) Authentication with 00:00:00:00:00:00 timed out.
Jak widać problem leży gdzieś w sterowniku do ipw, który czegoś nie wspiera, nie ustawia szyfrowania i próbuje się autentykować do nicości/wszystkiego (ciekawe, co ma MAC ::?) Co nam pozostaje? Spróbujmy dokonać debugowania sesji - sam wpa_supplicant to dość dobrze wspiera, wystarczy, że do linii poleceń dodamy “-d”.
host:~# wpa_supplicant -w -i eth1 -D ipw -c /etc/wpa_supplicant/wpa_supplicant.conf -d. Jedną z pierwszych kluczowych dla nas linii jest:
wpa_driver_ipw_set_wpa: enabled=1 ioctl[IPW_IOCTL_WPA_SUPPLICANT]: Operation not supported
Suuuuuper. Jak zwykle kochane sterowniki ipw robią problemy (albo ich implementacja w wpa_supplicant?). Na szczęście jest rozwiązanie wygooglane w bugtracku Debiana - wystarczy zmienić sterownik dla wpa_supplicant na wext, czyli nasza linia wywołania programu powinna wyglądać następująco:
wpa_supplicant -w -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf . Teraz pozostaje tylko skonfigurować interfejs - np. dhclient -i eth1 i voila.