Radius to us?uga zdalnej autoryzacji u?ytkowników i urz?dze?. Za jego pomoc? mo?na skonfigurowa? autoryzacj? w OpenWrt opieraj?c si? o certyfikaty. Logowanie odbywa? si? b?dzie na podstawie standardu 802.1x wykorzystuj?c mi?dzy innymi metody autoryzacji EAP-TLS, EAP-TTLS-MSCHAPV2, EAP-PEAP-MSCHAPV2. Do takiej konfiguracji trzeba dodatkowo zainstalowa? w OpenWrt freeradius lub freeradius2.
Ma?o kto jednak wie, ?e hostapd mo?e s?u?y? jako serwer radius dla siebie samego. Nie ma potrzeby instalowania ?adnego serwera radius w routerze. Przedstawi? prost? konfiguracj?, która doprowadzi do uruchomienia routera z autoryzacj? EAP-TLS, EAP-TTLS,PEAP-mschapv2. Wszystko to testowa?em na fon 2100 (Atheros) i WR1043ND (Atheros)
Wszystko dostowowane do OpenWrt 8.09.x i 10.03.x
Najnowsze poprawki zawsze znajdziesz na http://rpc.one.pl
Za?o?enia:
Dost?p do sieci WIFI: WPA2
Autoryzacja klienta poprzez protokó?
EAP-TLS - do logowania wykorzystujemy certyfikaty po stronie serwera i klienta
EAP-TTLS-mschapv2 - do logowania wykorzystujemy nazw? u?ytkownika i has?o
EAP-PEAP-mschapv2 - do logowania wykorzystujemy nazw? u?ytkownika i has?o
Tekst posta? jako rozwini?cie poni?szych artyku?ów:
Generowanie certyfikatów openssl x509
Konfiguracja radius jako kontrolera autoryzacji WIFI pod OpenWrt 8.09.1
Cz??? tego tekstu znajdzie si? na mojej stronie:
Autoryzacja EAP-TLS,TTLS,PEAP do sieci wifi bez radiusa na podstawie hostapd w OpenWrt
Instalacja:
opkg update
opkg install hostapd hostapd-util
lub w Backfire 10.03.x:
opkg update
opkg install wpad
opcjonalnie - nie jest wymagane
opkg install openssl-util libopenssl
Konfiguracja /etc/config/wireless w OpenWrt
Plik /etc/config/wireless winien zawiera?:
config wifi-device wifi0
option type atheros
option disabled 0
option channel 1
option diversity 0
option txantenna 1
option rxantenna 1
config wifi-iface
option device wifi0
option network lan
option mode ap
option ssid OpenWrt
option encryption wpa2
option eap_server 1 # 0- hostapd jako client radius, 1-hostapd jako server radius
option eap_user_file /etc/config/hostapd.eap_user # plik w którym definiujemy uprawnienia logowania
option ca_cert /etc/config/certs/cacert.pem # plik z certyfikatem centrum certyfikacji CA
option server_cert /etc/config/certs/newcert.pem # certyfikat serwera
option priv_key /etc/config/certs/newcert.p12 # klucz prywatny serwera w formacie PKCS12
option priv_key_pwd haslo # has?o do klucza prywatnego .p12 lub .p8
option check_crl 0 # czy sprawdza? CRL
option dh_file /etc/config/certs/dh.pem # plik protoko?u Diffi-Hellman
Jeszcze opisz? parametr check_crl. Mo?e on przyjmowa? warto?ci:
0 - nie weryfikuje CRL
1 - szuka listy CRL w certyfikacie usera
2 - szuka wszystkich list CRL we wszystkich ?cie?kach w certyfikacie
hostapd nie obs?uguje oddzielnych plików CRL. Listy (a w zasadzie ?cie?ki do list) CRL musz? by? zawarte w pliku cacert.pem. Zmienna nsCaRevocationUrl w openssl.cnf.
Plik dh.pem generujemy:
openssl dhparam -out dh.pem 1024
Oczywi?cie mo?na przedstawi? zmiany w sposób standardowy:
root@OpenWrt:~# uci show wireless.@wifi-iface[0]
wireless.cfg034ca5=wifi-iface
wireless.cfg034ca5.device=wifi0
wireless.cfg034ca5.network=lan
wireless.cfg034ca5.mode=ap
wireless.cfg034ca5.ssid=OpenWrt
wireless.cfg034ca5.encryption=wpa2
wireless.cfg034ca5.eap_server=1
wireless.cfg034ca5.eap_user_file=/etc/config/hostapd.eap_user
wireless.cfg034ca5.ca_cert=/etc/config/certs/cacert.pem
wireless.cfg034ca5.server_cert=/etc/config/certs/newcert.pem
wireless.cfg034ca5.priv_key=/etc/config/certs/newcert.p12
wireless.cfg034ca5.priv_key_pwd=haslo
wireless.cfg034ca5.check_crl=0
wireless.cfg034ca5.dh_file=/etc/config/certs/dh.pem
Jak wida? pojawi?y si? nowe opcje w pliku konfiguracyjnym. Aby by?y analizowane nale?y pobra? i podmieni? plik na routerze hostapd.sh. Czyli na konsoli routera po zalogowaniu do shella wykonujemy:
cd /root
wget http://rpc.one.pl/pliki/openwrt/kamikadze/8.09.1/atheros/hostapd.sh
mv /lib/wifi/hostapd.sh /lib/wifi/hostapd.sh.org
cp /root/hostapd.sh /lib/wifi/
W tym pliku jest definicja nowych opcji. Dzi?ki nim OpenWrt wie jak parsowa? nowe parametry.
Dla wersji 8.09.2. Plik hostapd.sh w tym wypadku jest identyczny:
cd /root
wget http://rpc.one.pl/pliki/openwrt/kamikadze/8.09.2/atheros/hostapd.sh
mv /lib/wifi/hostapd.sh /lib/wifi/hostapd.sh.org
cp /root/hostapd.sh /lib/wifi/
Dla wersji 10.03.x. Plik hostapd.sh w tym wypadku jest identyczny:
cd /root
wget http://rpc.one.pl/pliki/openwrt/backfire/10.03.x/atheros/hostapd.sh
mv /lib/wifi/hostapd.sh /lib/wifi/hostapd.sh.org
cp /root/hostapd.sh /lib/wifi/
Konfiguracja pliku uprawnie? do logowania usera:
Nale?y utworzy? nowy plik /etc/config/hostapd.eap_user w nast?puj?cy sposób:
touch /etc/config/hostapd.eap_user
o zawarto?ci:
#phase 1
* PEAP,TTLS,TLS
#phase 2
"username" MSCHAPV2 "haslo_usera" [2]
#"CommonName" TLS
#"username2" PEAP [ver=0]
#"username2" MSCHAPV2 "haslo_usera" [2]
#"username3" TTLS
#"username3" MSCHAPV2 "haslo_usera" [2]
#"username4" TTLS
#"username4" MD5 "haslo_usera" [2]
Mo?e po krótce opisz? konfiguracj? w/w pliku:
Definicja pliku dzieli si? na dwie sekcje. Pierwsza definiuje po jakim protokole odb?dzie si? logowanie #phase1, druga sekcja definiuje metod? autoryzacji na routerze #phase2.
* PEAP,TTLS,TLS
Tutaj mówimy, ?e autoryzujemy wszystkich u?ytkowników na podstawie protoko?u EAP-PEAP lub EAP-TTLS, lub EAP-TLS
"username" MSCHAPV2 "haslo_usera" [2]
Tutaj mówimy, i? u?ytkownik "username" mo?e si? zalogowa? je?li poda has?o i metod? autoryzacji MSCHAPV2
"CommonName" TLS
Tutaj wystarczy w zasadzie tylko ten wiersz. W polu CommonName wpisujemy to co klient ma w certyfikacie prywatnym zdefiniowane w polu CommonName(CN). Np. "
Adres poczty elektronicznej jest chroniony przed robotami spamującymi. W przeglądarce musi być włączona obsługa JavaScript, żeby go zobaczyć.
" lub "Imie Nazwisko". Do logowania wystarczy tylko certyfikat.
#"username2" PEAP [ver=0]
#"username2" MSCHAPV2 "haslo_usera" [2]
Definiujemy, i? "username2" mo?e zalogowa? si? do systemu po protokole EAP za pomoc? metody autoryzacji PEAP-MSCHAPV2. W Windows XP mo?e by? konieczno?? skorzystania z PEAP w wersji [ver=0]
Jak wida? kombinacji opcji w pliku jest wiele. Plik analizowany jest od góry do do?u. Czyli analiza jest przerywana po doj?ciu do pierwszej pasuj?cej warto?ci.
Certyfikaty:
Certyfikaty serwera umieszczamy w katalogu /etc/config/certs (musimy go utworzy?)
mkdir /etc/config/certs
Tworzenie certyfikatów opisa?em w artykule: Generownie certyfikatów openssl x509
Je?li chcesz tworzy? certyfikaty w OpenWrt to mo?esz skorzysta? ze skryptu CA.sh, który wgraj sobie na router. Nie zapomnij dogra? openssl-util. Koniecznie pami?taj aby wszystkie dane si? zgadza?y w ?cie?ce certyfikacji - by?y identyczne ( oprócz pól CommonName i email )
Certyfikat dla hostapd EAP - server MUSI by? odpowiednio przygotowany. Urz?d wystawiaj?cy certyfikat MUSI w certyfikacie serwera doda? rozszerzenie TLS Web Server Authentication. W pliku etc/ssl/openssl.cnf nale?y odremowa? wiersze lub je?li ich nie ma utworzy? w sekcji [usr_cert]:
nsCertType = server
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
Certyfikat dla clienta (windows,linux) logowania radius MUSI by? odpowiednio przygotowany. Je?eli u?ywamy uwierzytelniania EAP-TLS klient musi si? dysponowa? certyfikatem zawieraj?cym rozszerzenie TLS Web Client Authentication. W pliku /etc/ssl/openssl.cnf nale?y odremowa? wiersze lub je?li ich nie ma utworzy? w sekcji [usr_cert]:
nsCertType = client, email
extendedKeyUsage = 1.3.6.1.5.5.7.3.2
Po krótce przypomn?:
Generowanie centrum certyfikacji CA (w wyniku otrzymamy mi?dzy innymi cacert.pem)
./CA.sh -newca
Generowanie certyfikatu serwera radius/hostapd (Musimy w pliku openssl.cnf odremowa? w sekcji [usr_cert] nsCertType = server oraz extendedKeyUsage = 1.3.6.1.5.5.7.3.1)
./CA.sh -newreq
./CA.sh -sign
./CA.sh -pkcs12
Generowanie certyfikatu klienta windows/linux (Musimy w pliku openssl.cnf odremowa? w sekcji [usr_cert] nsCertType = client, email oraz extendedKeyUsage = 1.3.6.1.5.5.7.3.2)
./CA.sh -newreq
./CA.sh -sign
./CA.sh -pkcs12
W wyniku wykonania w/w polece? otrzymamy:
demoCA/cacert.pem
newreq.pem
newcert.pem
newkey.pem
newcert.p12
I to te pliki wklejamy do routera/serwera lub do clienta (windows/linux).
Mo?emy mie? certyfikat i klucz prywatny w jednym pliku (zamiast oddzielnie newcert.pem i newkey.pem) robimy to nast?puj?co:
openssl pkcs12 -in newkey.p12 -out certyfikat.pem
i tylko plikiem certyfikat.pem pos?ugujesz si?.
Ps. Uwagi do tematu artyku?u
Plik hostapd.sh do wersji 8.09.1. W trunku trzeba sobie go samemu przerobi?. Poni?ej podaje parametry jakie przyjmuje hostapd dla EAP:
root@OpenWrt:~# cat /var/run/hostapd-ath0.conf
ctrl_interface=/var/run/hostapd-ath0
driver=madwifi
interface=ath0
ssid=OpenWrt
debug=0
wpa=2
wpa_pairwise=CCMP
eap_server=1
eap_user_file=/etc/config/hostapd.eap_user
ca_cert=/etc/config/certs/cacert.pem
server_cert=/etc/config/certs/newcert.pem
private_key=/etc/config/certs/newcert.p12
private_key_passwd=haslo
check_crl=0
dh_file=/etc/config/certs/dh.pem
ieee8021x=1
auth_algs=1
wpa_key_mgmt=WPA-EAP
wpa_group_rekey=300
wpa_gmk_rekey=640
W backfire 10.03.x plik /var/run/hostapd-phy0.conf mo?e wygl?da? nast?puj?co
root@OpenWrt:/tmp/run# cat hostapd-phy0.conf
ctrl_interface=/var/run/hostapd-phy0driver=nl80211
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
tx_queue_data3_aifs=7
tx_queue_data3_cwmin=15
tx_queue_data3_cwmax=1023
tx_queue_data3_burst=0
tx_queue_data2_aifs=3
tx_queue_data2_cwmin=15
tx_queue_data2_cwmax=63
tx_queue_data2_burst=0
tx_queue_data1_aifs=1
tx_queue_data1_cwmin=7
tx_queue_data1_cwmax=15
tx_queue_data1_burst=3.0
tx_queue_data0_aifs=1
tx_queue_data0_cwmin=3
tx_queue_data0_cwmax=7
tx_queue_data0_burst=1.5
hw_mode=g
channel=5
country_code=PL
ieee80211n=1
ht_capab=[HT20][SHORT-GI-40][DSSS_CCK-40][SHORT-GI-40][DSSS_CCK-40]
interface=wlan0
bss=wlan2
eap_server=1
eap_user_file=/etc/config/hostapd.eap_user
ca_cert=/etc/config/certs/cacert.pem
server_cert=/etc/config/certs/newcert.pem
private_key=/etc/config/certs/newkey.p8
private_key_passwd=xxxxxx
check_crl=0
dh_file=/etc/config/certs/dh.pem
ieee8021x=1
auth_algs=1
wpa_key_mgmt=WPA-EAP
wpa_group_rekey=300
wpa_gmk_rekey=640
wpa=2
wpa_pairwise=CCMP
ssid=eaps
bridge=br-lan
wmm_enabled=1
bssid=0a:23:cd:36:b4:ba
ignore_broadcast_ssid=0
W/w plik generowany jest za ka?dym razem jak startuje radio i tworzony jest dynamicznie. Do testów pliku mo?emy pos?u?y? si? trybem debug w konsoli:
hostapd /var/run/hostapd-ath0.conf -dd
lub dla Backfire 10.03.x
hostapd var/run/hostapd-phy0.conf -dd
oczywi?cie po tym jak ubijemy proces w systemie hostapd.
Co dopisa?em do pliku hostapd.sh 8.90.x (podaje tylko cz??c zmienionej sekcji aby mozna si? by?o zorientowa?)
*wpa*|*WPA*)
# required fields? formats?
# hostapd is particular, maybe a default configuration for failures
config_get eap_server "$vif" eap_server
if [ "$eap_server" == "1" ]
then
append hostapd_cfg "eap_server=$eap_server" "$N"
config_get eap_user_file "$vif" eap_user_file
append hostapd_cfg "eap_user_file=$eap_user_file" "$N"
config_get ca_cert "$vif" ca_cert
append hostapd_cfg "ca_cert=$ca_cert" "$N"
config_get server_cert "$vif" server_cert
append hostapd_cfg "server_cert=$server_cert" "$N"
config_get priv_key "$vif" priv_key
append hostapd_cfg "private_key=$private_key" "$N"
config_get private_key_passwd "$vif" priv_key_pwd
append hostapd_cfg "private_key_passwd=$priv_key_pwd" "$N"
config_get check_crl "$vif" check_crl
check_crl=${check_crl:-0}
append hostapd_cfg "check_crl=$check_crl" "$N"
config_get dh_file "$vif" dh_file
append hostapd_cfg "dh_file=$dh_file" "$N"
else
config_get server "$vif" server
append hostapd_cfg "auth_server_addr=$server" "$N"
config_get port "$vif" port
port=${port:-1812}
append hostapd_cfg "auth_server_port=$port" "$N"
config_get secret "$vif" key
append hostapd_cfg "auth_server_shared_secret=$secret" "$N"
config_get nasid "$vif" nasid
append hostapd_cfg "nas_identifier=$nasid" "$N"
append hostapd_cfg "eapol_key_index_workaround=1" "$N"
append hostapd_cfg "radius_acct_interim_interval=300" "$N"
fi
Co dopisa?em do pliku hostapd.sh 10.03.x (podaje tylko cz??? zmienionej sekcji aby mo?na si? by?o zorientowa?)
*wpa*)
# required fields? formats?
# hostapd is particular, maybe a default configuration for failures
config_get eap_server "$vif" eap_server
if [ "$eap_server" == "1" ]; then
append "$var" "eap_server=$eap_server" "$N"
config_get eap_user_file "$vif" eap_user_file
append "$var" "eap_user_file=$eap_user_file" "$N"
config_get ca_cert "$vif" ca_cert
append "$var" "ca_cert=$ca_cert" "$N"
config_get server_cert "$vif" server_cert
append "$var" "server_cert=$server_cert" "$N"
config_get priv_key "$vif" priv_key
append "$var" "private_key=$priv_key" "$N"
config_get priv_key_pwd "$vif" priv_key_pwd
append "$var" "private_key_passwd=$priv_key_pwd" "$N"
config_get check_crl "$vif" check_crl
check_crl=${check_crl:-0}
append "$var" "check_crl=$check_crl" "$N"
config_get dh_file "$vif" dh_file
append "$var" "dh_file=$dh_file" "$N"
else
config_get server "$vif" server
append "$var" "auth_server_addr=$server" "$N"
config_get port "$vif" port
port=${port:-1812}
append "$var" "auth_server_port=$port" "$N"
config_get secret "$vif" key
append "$var" "auth_server_shared_secret=$secret" "$N"
config_get nasid "$vif" nasid
append "$var" "nas_identifier=$nasid" "$N"
append "$var" "eapol_key_index_workaround=1" "$N"
append "$var" "radius_acct_interim_interval=300" "$N"
fi
append "$var" "ieee8021x=1" "$N"
append "$var" "auth_algs=1" "$N"
append "$var" "wpa_key_mgmt=WPA-EAP" "$N"
append "$var" "wpa_group_rekey=300" "$N"
append "$var" "wpa_gmk_rekey=640" "$N"
;;
*wep*)
Konfigurowanie clienta windows (vista, windows7 - tu testowa?em)
EPA-PEAP:
Sprawa jest bardzo prosta. Klikam na po??czenie sieci bezprzewodowej i podajemy nazw? u?ytkownika i has?o. Tyle wystarczy.
![]() |
![]() |
![]() |
![]() |
![]() |
EAP-TLS:
Importujemy nasz prywatny certyfikat w formacie p12 (pkcs12) w windows do magazynu "Osobisty". Jednocze?nie dodaje si? automatem nasze centrum certyfikacji do windows jako zaufane.Teraz wystarczy klikn?? na nasze po??czenie bezprzewodowe do którego si? zalogujemy - nie podajemy ?adnych hase? je?li system by si? spyta?. Od teraz windows automatycznie b?dzie logowa? si? za pomoc? certyfikatu do sieci WIFI.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
EAP-TTLS:
Windows natywnie nie obs?uguje tej metody uwierzytelnienia. Mo?na dogra? program SecureW2.
Konfigurowanie clienta linux pod gnome ( network-manager w Ubuntu 9.10)
Nale?y wybra? sie? do której chcemy si? zalogowa?:
EAP-PEAP:
Wskazujemy plik certyfikatu centrum CA (cacert.pem) oraz podajemy nazw? u?ytkownika i has?o.
EAP-TLS:
Wskazujemy certyfikat centrum CA (cacert.pem) oraz klucz prywatny w formacie PKCS12 (newcert.p12) i has?o do niego. Podajemy To?samo?? - to jest to co mamy wpisane w certyfikacie prywatnym danego usera w polu CommonName.
EAP-TTLS:
Wskazujemy plik certyfikatu centrum CA (cacert.pem) oraz podajemy nazw? u?ytkownika i has?o.
Konfigurowanie clienta linux pod kde (knetworkmanager w debian lenny)
EAP-PEAP:
Klikamy na nasze po??czenie sieciowe. Wybieramy sposób po??czenia czyli PEAP+MSCHAPV2 podajemy nazw? usera i has?o. Ew. dla WPA wybieramy TKIP a dla WPA2 AES. I to wszystko.
EAP-TTLS:
Klikamy na nasze po??czenie sieciowe. Wybieramy sposób po??czenia czyli TTLS+MSCHAPV2 podajemy nazw? usera i has?o. Mo?emy wskaza? certyfikat cacert.pem, bez tego te? dzia?a. Ew. dla WPA wybieramy TKIP a dla WPA2 AES. I to wszystko.
EAP-TLS:
Klikamy na nasze po??czenie sieciowe. Wybieramy sposób po??czenia czyli TLS+NONE podajemy nazw? usera takie jak mamy w certyfikacie prywatnym w polu CommonName (np. Jan Kowalski). Wskazujemy certyfikat CA cacert.pem, certyfikat u?ytkownika newcert.pem, certyfikat prywatny usera newkey.pem i podajemy has?o do tego certyfikatu prywatnego. Ew. dla WPA wybieramy TKIP a dla WPA2 AES. I to wszystko.
Konfigurowanie OpenWrt jako klienta (testowane na fonero 2100)
Musimy mie? zainstalowany pakiet wpa-supplicant ( ten pakiet wspiera 802.1x jako klienta EAP i tylko w WPA2 - tak s? skrypty napisane /lib/wifi/wpa_supplicant.sh)
opkg install wpa-supplicant
Plik /etc/config/wireless winien zawiera?:
#EAP-TLS: - UWAGA nie dzia?a w wersji OpenWrt 8.09.1 i 8.09.2. Patrz ni?ej.
config wifi-iface
option device "ath0"
option network lan
option ssid eap
option eap_type tls
option encryption wpa2
option ca_cert "/etc/config/certs/cacert.pem"
option client_cert "/etc/config/certs/newcert.pem"
option priv_key "/etc/config/certs/newkey.pem"
option priv_key_pwd "has?o do klucza prywatnego - opcjonalnie"
#EAP-PEAP:
config wifi-iface
option device "ath0"
option network lan
option ssid eap
option eap_type peap
option encryption wpa2
option ca_cert "/etc/config/certs/cacert.pem"
option auth MSCHAPV2
option identity username
option password password
#EAP-TTLS:
config wifi-iface
option device "ath0"
option network lan
option ssid eap
option eap_type ttls
option ca_cert "/etc/config/certs/cacert.pem"
option encryption wpa2
option auth MSCHAPV2
option identity username
option password password
Konfigurowanie OpenWrt jako klienta ver.2 (testowane na fonero 2100 - przerobiony skrypt wpa_supplicant.sh)
Musimy mie? zainstalowany pakiet wpa_suplikant ( ten pakiet wspiera 802.1x jako klienta EAP)
opkg install wpa-supplicant
UWAGA Poniewa? skrypt /lib/wifi/wpa_supplicant.sh jest niekompletny dopisa?em do niego troch? funkcjonalno?ci.
Dla openWrt 8.09.1 plik do pobrania: wpa_supplicant.sh.
Dla openWrt 8.09.2 plik do pobrania: wpa_supplicant.sh.
W openWrt 8.09.1 wykonujesz:
Nale?y podmieni? go w katalogu /lib/wifi w openwrt.
cd /root
wget http://rpc.one.pl/pliki/openwrt/kamikadze/8.09.1/atheros/wpa_supplicant.sh
mv /lib/wifi/wpa_supplicant.sh /lib/wifi/wpa_supplicant.sh.org
cp /root/wpa_supplicant.sh /lib/wifi/
W openWrt 8.09.2 wykonujesz:
Nale?y podmieni? go w katalogu /lib/wifi w openwrt.
cd /root
wget http://rpc.one.pl/pliki/openwrt/kamikadze/8.09.2/atheros/wpa_supplicant.sh
mv /lib/wifi/wpa_supplicant.sh /lib/wifi/wpa_supplicant.sh.org
cp /root/wpa_supplicant.sh /lib/wifi/
Przeróbki wspieraj? dodatkowo:
EAP-WPA+TKIP
EAP-WPA2+CCMP(AES)
client_cert
identity_anonymous
Trzeba równie? przekompilowa? openwrt, a w zasadzie dwa pakiety wpa-supplicant oraz libopenssl. Domy?lnie jest skompilowany ze wsparciem TLS - uboga wersja openssl. Nie pracuje to poprawnie. Musz? by? wkompilowane nast?puj?ce opcje:
Network->wpa-supplicant
Network->wpa-supplicant->Disable timestamp check
Network->wpa-supplicant->Chouse TLS provider (openssl)
Pakiety OpenWrt 8.09.1 pobierasz tu: wpa-supplicant wpa-supplicant oraz libopenssl libopenssl.
Pakiety OpenWrt 8.09.2 pobierasz tu: wpa-supplicant wpa-supplicant oraz libopenssl libopenssl.
Plik /etc/config/wireless winien zawiera?:
#EAP-TLS:
config wifi-iface
option device "ath0"
option network lan
option ssid eap
option eap_type tls
option encryption wpa2 #opcje mo?liwe to WPA lub WPA2
option ca_cert "/etc/config/certs/cacert.pem" #certyfikat CA
#option client_cert "/etc/config/certs/newcert.pem" #certyfikat usera
option priv_key "/etc/config/certs/newcert.p12" # klucz prywatny usera
option priv_key_pwd "has?o do klucza prywatnego - opcjonalnie"
#identity_anonymous "anonymous" # logowanie anonimowe/gosc
#EAP-PEAP:
config wifi-iface
option device "ath0"
option network lan
option ssid eap
option eap_type peap
option encryption wpa2 #opcje mo?liwe to WPA lub WPA2
option ca_cert "/etc/config/certs/cacert.pem"
option auth MSCHAPV2
option identity username
option password password
#EAP-TTLS:
config wifi-iface
option device "ath0"
option network lan
option ssid eap
option eap_type ttls
option ca_cert "/etc/config/certs/cacert.pem"
option encryption wpa2 #opcje mo?liwe to WPA lub WPA2
option auth MSCHAPV2
option identity username
option password password
Najaktualniejsz? wersj? tego dokumentu znajdziesz pod adresem http://rpc.one.pl