Návod pro připojení do bezdrátové sítě Eduroam pomocí osobního síťového certifikátu (Linux Debian)
Obsah |
1 Instalace a konfigurace wpasupplicantu
Instalci wpasupplicantu provedeme příkazem: apt-get install wpasupplicant
dále vytvoříme adresář /etc/wpa_supplicant
mkdir /etc/wpa_supplicant
v tomto adresáři vytvoříme soubor wpa_supplicant.conf s následujicím obsahem:
- WPA supplicant configuration file for eduroam network University of West Bohemia.
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=2 fast_reauth=1
network={
ssid="eduroam" key_mgmt=WPA-EAP
- v pripade nefunkcnosti nebo nekompatibility vaseho zarizeni s metodou WPA-EPA zkuste vymenit za nasledujici radek
key_mgmt=IEEE8021X eap=TLS identity="jnovak@ZCU.CZ" ca_cert="/etc/wpa_supplicant/ZCUrootCA.pem" client_cert="/etc/wpa_supplicant/usercrt.pem" private_key="/etc/wpa_supplicant/userkey.pem" eapol_flags=3
Zde si nezapomeňte nastavit svůj Orion login s příponou @ZCU.CZ
2 Stáhnout certifikát certifikační autority ZČU
Stáhnutí provedeme přikazem: wget http://crl.zcu.cz/crl/ZCUrootCA.pem -o /etc/wpa_supplicant/ZCUrootCA.pem
3 Připojení do sítě eduroam
v souboru /etc/network/interfaces nastavíme pro konfiguraci bezdrátové síťové karty (předpokládejme eth1) následující řádky:
iface eth1 inet dhcp
wpa-driver XXXX wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
kde XXXX je příslušný ovladač síťové karty (pro Intel PRO/Wireless 2200BG a 2915ABG je asi nejvhodnější volbou ovladač wext).
Nyní již můžeme ověřit funkčnost spojení spuštěním sítě:
ifconfig eth1 up
V případě, že je žádoucí, aby k přihlášení do sítě docházelo automaticky při startu systému, případně po spuštění /etc/init.d/networking restart měly by relevantní pasáže v /etc/network/interfaces vypadat takto:
auto lo eth1
iface eth1 inet dhcp
wpa-driver XXXX wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Nyní by spojední se sítí eduroam mělo být funkční. Pokud tomu tak není, zkuste projít následující dvě sekce - sekci popisující alternativní způsob připojení a diagnostiku možných problémů a sekci věnovanou nutným jaderným prerekvizitám pro funčknost WPA na GNU/Linuxu.
2. Alternativní způsob připojení a diagnostika problémů
Podle výše uvedného návodu provedeme body 1. a 2.
Poté je potřeba změnit mod karty na "managed" a nastavit požadované SSID:
iwconfig eth1 mode managed iwconfig eth1 essid eduroam
Ovladač karty může pracovat ve třech modech: MANAGED - karta se asociuje k nějakému aktivnímu access pointu, MASTER - karta sama plní funkci access pointu a konečně AD-HOC - slouží pro spojení několika radiových karet bez nutnosti použít AP .
Dále aktivujeme bezdrátový interface:
ifconfig eth1 up
Příkazem iwconfig wlan0 zkontrolujeme, zda se karta skutečně asociovala k access pointu, pokud ano, vypadá výpis zhruba takto:
eth1 IEEE 802.11b ESSID:"eduroam"
Mode:Managed Frequency:2.412GHz Access Point: 00:0D:BD:92:72:6C Bit Rate:11Mb/s Sensitivity=1/ Retry min limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:41/0 Signal level:-28 dBm Noise level:-70 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag: Tx excessive retries:0 Invalid misc:0 Missed beacon:
Pokud k asociaci nedošlo, bude v políčku "Access Point" hodnota 44:44:44:44:44:44. K této situaci by dojít nemělo, ale může se to stát (např. při hustém pokrytí signálem, kdy se karta neustále přepíná z jenoho AP na druhý). Řešením pak může být tato posloupnost příkazů, která zajistí, že se karta nebude automaticky asociovat k nejsilnějšímu AP, ale spojí se pouze s tím, který explicitně zadáme příkazem iwconfig.
iwpriv eth1 host_roaming 2 iwconfig eth1 ap xx:xx:xx:xx:xx:xx
Hodnota xx:xx:xx:xx:xx:xx zde představuje mac adresu access pointu.
Dalším důležitým krokem je samotné spuštění wpasupplicanta:
wpa_supplicant -i eth1 -c /etc/wpa_supplicant/wpa_supplicant.conf -Dwext
Parametr -D ipw určuje jaký ovladač bezdrátové karty se má použít. V našem případě se jedná o ovladač pro Intel PRO/Wireless 2200BG and 2915ABG Network Connection miniPCI adapters použitý u notebooků firmy IBM. V tomto okamžiku by jste měli být připojený do bezrátové sítě edruoam, pro získání IP adresy z DHCP serveru napište příkaz:
dhclient eth1
Příkazem ifconfig si můžete zkontrolovat zda Váš interface eth1 IP adresu opravdu dostal a funkčnost ověříte například příkazem ping 147.228.1.1 nebo spuštěním Vašeho internetového prohlížeče a zobrazením Vaší oblíbené internetové stránky.
3. Nutné prerekvizity pro fungování WPA na systémech GNU/Linux
Pro správné fungování WiFi je potřeba mít v jádře (předpokládáme-li již funkčnost ovladače síťové karty) správně nastavenou podporu, což zjistíme například následujícím způsobem:
grep IEEE80211 /boot/config-`uname -r`
Ve výpisu by se měly objevit mimo jiné tyto řádky:
CONFIG_IEEE80211=m CONFIG_IEEE80211_CRYPT_WEP=m CONFIG_IEEE80211_CRYPT_CCMP=m CONFIG_IEEE80211_CRYPT_TKIP=m
Místo =m může být i =y. Dále pak ještě zkontrolujeme (nutné především pro Intel PRO/Wireless 2200BG/2915ABG a použití ovladače wext), zda výpis
grep CRYPTO /boot/config-`uname -r`
obsahuje
CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_AES_586=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_MICHAEL_MIC=y
Pokud výpisy neodpovídají výše uvedeným požadavkům, pak vaše linuxové jádro není správně nastavené pro funkčnost WPA a pravděpodobně se vám nepovede do sítě eduroam připojit (do té doby, než jádro změníte, případně překompilujete tak, aby vyhovovalo uvedeným požadavkům).