Portál AbcLinuxu, 30. dubna 2025 12:42
Poměrně často do svých kamarádů slýchám o problémech spojených s rozcházením bezdrátového připojení k univerzitní síti Eduroam na Mendelově zemědělské a lesnické univerzitě v Brně. Potíže postihují všechny obvyklé operační systémy. V případě Linuxu je tomu nejinak. V poslední době se však situace začíná obracet k lepšímu a realizace připojení už není taková tragédie. Moje HOWTO se vás pokusí provést procesem, na jehož konci by mělo být fungující připojení.
Jako naprosto nezbytným předpokladem pro úspěch se jeví co nejčerstvější linuxová distribuce. Důvod je jednoduchý -- aktuální ovladače k bezdrátovým kartám. Srovnám-li například stav ovladačů v aktuálním openSUSE 11.1 s tím, jaký byl v openSUSE 10.3 něco přes rok starém, je rozdíl obrovský. Alespoň co se novějších intelích karet týče. Pokud tedy nemůžete či nechcete používat nejnovější verzi své oblíbené distribuce, nainstalujte si alespoň nové ovladače či jádro, pokud už byly začleněny.
Dalším předpokladem je vyzkoušená funkčnost připojení k šifrovaným sítím. Některé ovladače, zvláště těch exotičtějších karet, poskytují jen základní podporu a tudíž byste na Eduroam nemuseli uspět. Ne nadarmo se říká, že kdo se připojí k Eduroam (aspoň na MZLU to platí), tak už se připojí kamkoli Pokud budete zjišťovat, co vaše ovladače umí, zajímejte se zejména o podporu WPA EAP-TLS (aka WPA Enterprise). Bez této funkcionality se budete moci připojit jen k volně přístupné síti, kde ovšem funguje jen informační systém a zbytek webu vám nepojede. Eduroam.cz poskytuje seznam vyzkoušeného hardware.
Dále je nutné mít nainstalovaný následující software:
Pokud disponujete jak poměrně novou distribucí, tak podporovanou síťovou kartou a softwarem, můžete se pustit do nastavování.
Cerfitikáty, které vám vygeneruje UIS (Vytvoření uživatelského certifikátu pro WiFi síť eduroam je nutné před použitím převést do formátu, kterému rozumí wpa_supplicant
(PEM). Ačkoli UIS nabízí certifikáty ve formátu "vhodném pro Linux", nikdy se mi nepodařilo z těchto vytvořit funkční certifikát ve formátu PEM -- tak jak jsou je použít nelze.
Postup převodu je jednoduchý, vyžaduje jen nainstalované OpenSSL, které je snad na všech distribucích standardně (bez instalace) dostupné.
gnome-terminal
či konsole
)openssl pkcs12 -in user-váš_login.p12 -out user-váš_login.pem
, tj. například openssl pkcs12 -in user-xnovak.p12 -out user-xnovak.pem
openssl x509 -inform DER -outform PEM -out root.pem -in root.der
Po provedení výše uvedených příkazů máme certifikáty ve správném formátu pro připojení k Eduroam.
Všechny (kromě čistého wpa_supplicantu) následující možnosti využívají síťový nástroj NetworkManager, který je nanejvýš praktický, přecházíte-li často mezi více sítěmi a nechcete-li se zabývat jejich ručním nastavováním. Desktopové distribuce mají obvykle NetworkManager ve výchozím stavu povolený. Pokud jste jej tedy nezakázali, mělo by vám vše fungovat samo od sebe.
Pokud máte v úmyslu řešit síťování tradičními nástroji jako je ifup
a nechcete, aby za vás vše obstarala služba, pokračujte rovnou na předposlední odstavec Možnost třetí: čistý wpa_supplicant z konzole.
Osobně sice používám KDE, musím zde však vzdát hold programátorům Gnome, kteří odvedli skvělou práci na klikátku nm-applet. Připojení je ještě 10x snazší než ve Windows a uživatel nemusí nad ničím složitě přemýšlet. Tak bych si to asi představoval
Postup pro Gnome je snadný -- pokud nemáme spuštěný nm-applet (počítačky v liště), spusťe jej (např. přes Alt+F2). Dále postupujte podle následujících obrázků:
Vybereme síť Eduroam ze seznamu po levém kliknutí na nm-applet
Zvolte typ autentizace TLS, zadejte jako identitu váš_login@mendelu.cz. Dále jako uživatelský certifikát a soukromý klič vyberte převedený certifikát uživatele a jako CA certifikát vyberte kořenový certifikát certifikační autority. Heslo odpovídá heslu ze stránek UISu.
Po potvrzení je nastavení dokončeno a za několik okamžiků budete připojeni.
V případě KDE 3 existuje "drobný" problém zcela znemožňující připojení k sítím používajícím certifikáty. Tato chyba způsobuje nepředávání certifikátů NetworkManageru, který se tudíž nikam nepřipojí. V době psaní článku se tento problém projevoval i na nejnovější verzi z openSUSE Factory (k dispozici např. přes OBS). Verzi ze SVN se mi nepodařilo skompilovat.
Proto, aspoň prozatím, doporučuji použít buď konzolová řešení nebo nm-applet z Gnome, který si poslušně přidá ikonku do systraye a zcela bezproblémově tak nahradí KNetworkManager. Přes tento problém přikládám i návod pro KDE 3 jelikož starší verze KNetworkManageru fungovaly správně a předpokládám, že brzy opět budou.
Klikneme pravým myšítkem na ikonku síťového připojení v liště a zvolte Nové připojení a dále wlan0 (nebo eth1 či jak máte pojmenované bezdrátové rozhraní)
Zvolte síť eduroam a klikneme na Další
Vyplňte okno dle obrázku. Jako identitu zadete váš_login@mendelu.cz, metodu TLS, jako klientský certifikát a soukromý klíč vyberte převedený uživatelský certifikát, jako CA certifikát vyberte kořenový certifikát certifikační autority. Zda je potřeba zadat jak heslo, tak heslo k soukromému klíči, to nevím, doporučuji vyplnit oboje. Fáze dva není žádná. Pokračujeme Připojit a uložit.
Nyní byste měli být připojení k Eduroam. Samozřejmě za předpokladu, že vývojáři software opraví
Nemáte-li v úmyslu používat klikátka nebo máte-li problémy s připojením a chcete zjistit, v čem vězí, je vhodným řešením použití čistého wpa_supplicantu bez jakýchkoli nástaveb a rozhraní. Konfigurace tohoto nástroje je snadná. V souboru wpa_supplicant.conf
(obvykle v /etc/
nebo /etc/wpa_supplicant/
) je třeba uložit nastavení Eduroam. Osobně pro připojení používám následující konfiguraci:
# cat /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel network={ ssid="eduroam" scan_ssid=1 key_mgmt=WPA-EAP eap=TLS identity="váš_login@mendelu.cz" ca_cert="/cesta/k/root.pem" client_cert="/cesta/k/user-váš_login.pem" private_key="/cesta/k/user-váš_login.pem" private_key_passwd="heslo z UISu" }
Po nastavení obvykle stačí jen spustit # wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
. Samozřejmě je třeba upravit rozhraní, ovladač a cestu ke konfiguraci podle vaší distribuce a nastavení. Vše je popsáno v manuálu.
Výše uvedený příkaz by měl poskytnout výstup podobný následujícímu:
# wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf No network configuration found for the current AP CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys ioctl[SIOCSIWENCODEEXT]: No such file or directory CTRL-EVENT-SCAN-RESULTS CTRL-EVENT-SCAN-RESULTS CTRL-EVENT-SCAN-RESULTS Trying to associate with 00:12:da:e5:1d:20 (SSID='eduroam' freq=2432 MHz) CTRL-EVENT-SCAN-RESULTS Associated with 00:12:da:e5:1d:20 CTRL-EVENT-EAP-STARTED EAP authentication started CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys ioctl[SIOCSIWENCODEEXT]: No such file or directory Associated with 00:12:da:e5:1d:20 CTRL-EVENT-SCAN-RESULTS CTRL-EVENT-EAP-STARTED EAP authentication started OpenSSL: pending error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error OpenSSL: pending error: error:140C800D:SSL routines:SSL_use_certificate_file:ASN1 lib OpenSSL: pending error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag OpenSSL: pending error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error OpenSSL: pending error: error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib OpenSSL: pending error: error:140CB00D:SSL routines:SSL_use_PrivateKey_file:ASN1 lib CTRL-EVENT-EAP-METHOD EAP vendor 0 method 13 (TLS) selected OpenSSL: tls_connection_handshake - Failed to read possible Application Data error:00000000:lib(0):func(0):reason(0) CTRL-EVENT-EAP-SUCCESS EAP authentication completed successfully WPA: Key negotiation completed with 00:12:da:e5:1d:20 [PTK=CCMP GTK=WEP-104] CTRL-EVENT-CONNECTED - Connection to 00:12:da:e5:1d:20 completed (auth) [id=0 id_str=]Chyb při připojování si není třeba všímat, potýká se s nimi více uživatelů aniž by to mělo vliv na stabilitu či úspěch připojení. Posledním krokem, nutným v případě ruční konfigurace je spuštění DHCP klienta (např.
dhclient wlan0
). Jakmile dostanete IP adresu, jste úspěšně připojeni.
Další možností je použití cnetworkmanager
případně jiného softwaru spolupracujícího s wpa_supplicant
nebo NetworkManagerem. Nemám k dispozici aktuální KDE 4, pokusím se však v budoucnu tento návod o KDE 4 doplnit. V případě problému s připojením doporučuji prohledat internet (zvláště bugzilly dodavatelů ovladačů bezdrátových karet), případně diskusní fóra. Je dobré vědět, že Linux není na MZLU oficinálně podporován, tak je zbytečné psát e-maily integrátorům
Výhledově budu žádat o zařazení do oficiálního školního návodu, současný stav KNetworkManageru však neumožňuje připojení pod KDE 3. Chci vyčkat než se tento problém vyřeší.
UPDATE: 2.7.2009 byl v Bugzille označent KNetworkManager 3 označen jako nadále nepodporovaný a proto nebude chyba týkající se nezapamatování certifikátů dále řešena. Je tedy nutné použít nm-applet
, případně přejít na KDE 4.
Tiskni
Sdílej:
... no škoda, že málokdo pořádně čte, jelikož by jste pak nenapsal celý tenhle blogpost a přitom už to samé bylo dávno hotové :) a dokonce v jednodužší formě... viz
disk.jabbim.cz/fractal@jabber.cz/faro_navod_1-7.pdf
btw popis je i v těch dizkuích...
a opravdu stačí ty certifikáty co generuje UIS ve formátu pem, používám to už 3 roky
a sry, špatný link... ale tam je to teda taky popsané správně, na konci..
Me funguji i ty linuxove certifikaty z UISu. Takze staci je stahnout a naklikat si ten network manager.
Je to pěkné, ale třeba NetworkManager pdo KDE4 má trochu jiné položky, zítra skusím jeslti bude fungovat. A taky třeba u nás na škole (Ostravská univerzita) nemáme osobní certifikáty, ale jen ca_osu.der/.pem/.cer a pak taky ještě nějaký dlaší doporučený certifikát cesnet.der/.pem./cer. Ale nevím ka s tímhle. :( Může někdo poradit?
Pravda že KDE4 se opčas chová prapodivně a taky s ním v některých chvílích bojuju. Zítra vyzkouším postup pžřez NetworkManager od KDE4 a napíšu jak jsme uspěl/neuspěl...
To znamená, že se se svým účtem z FITu přihlásil snáz? Tak to s autentizačním postupem MZLU ale nesouvisí, jak už tu bylo zmíněno alespoň jednou. A Eduroam na FITu ještě nedávno (tenhle časový údaj brát s rezervou, půl roku už to bude ) nefungoval studentům z jiných univerzit..
Koukam, ze na hnojarne jsou docela zajimave veci.
Nahodne sem si po nekolika dnech boje vsiml tohoto clanku, k nicemu mi sice nebyl ale jenom bych chtěl přidat svoje zkušenosti. Na KDE4 je stale jedinou možností Gnome network manager a jeho nm-applet pomoci ktereho se jde pripojit. Knetwork manager, Network Management ani Wicd nefungují
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.