Konfiguracja sieci eduroam na GNU/Linuksie.
Wstęp
Poniższa konfiguracja sieci jest napisana w oparciu o program wpa_supplicant (wer. 0.6.3). Choć można to zrobić przy pomocy programu np. network-manager lub knetwork-manager. Przed rozpoczęciem konfiguracji należy się upewnić czy w używanej dystrybucji w repozytorium są dostępne w/w programy.
Dla ścisłości: korzystamy z konta root’a.
Konfiguracja pliku wpa_supplicant.conf
Tak powinien wyglądać plik konfiguracyjny dla WPA2 i CCMP/AES:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network = { ssid="eduroam" proto=WPA2 key_mgmt=WPA-EAP eap=PEAP pairwise=CCMP group=CCMP phase2="auth=MSCHAPV2" anonymous_identity="ID@eduroam.ujd.edu.pl" identity="ID@eduroam.ujd.edu.pl" password="twoje_haslo" ca_cert="/etc/ujdca.crt }
Mimo, że to oczywiste, może jednak należy wspomnieć:
- ID – numer ID
- twoje_haslo – hasło do sieci eduroam i usosweb
- /etc/ujdca.crt – pełna ścieżka do pliku z certyfikatem wraz z plikiem
- Certyfikat dostępny na stronie eduroam.ujd.edu.pl lub tutaj.
Dla porządku przenieśmy plik wpa_supplicant.conf do katalogu /etc i z certyfikatem zróbmy podobnie.
Dla bezpieczeństwa, aby inny użytkownicy nie podglądali pliku konfiguracyjnego z hasłem wydajemy polecenie:
chmod 600 /etc/wpa_supplicant.conf
Uruchomienie programu
Aby uruchomić program w konsoli podajemy:
wpa_supplicant -i wlan0 -D wext -c/etc/wpa_supplicant.conf &
lub
wpa_supplicant -B -i wlan0 -D wext -c/etc/wpa_supplicant.conf
Objaśnienia:
- Główna różnica przy tych poleceniach to: -B, dzięki czemu program działa w tle jako demon
- Opcja -i służy do wyznaczanie interfejsu przez który będziemy się łączyć. Inne przykładowe interfejsy to: eth1, ath0, itp. Dostępne interfejsy można sprawdzić za pomocą polecenia: ifconfig -a
- Opcja -D wyznacza sterownik za pomocą, którego będziemy się łączyć. W powyższym przypadku to wext, w zależności od karty jaką posiadamy może to być m.in. ipw, madwifi itp.
- Opcją -c podajemy ścieżkę do pliku konfiguracyjnego dzięki czemu program działa w tle jako demon.
Kolejnym krokiem jest pobranie adresu IP przez dhcp.
Do tego potrzebny jest demon dhcpcd.
Uruchamiamy go wraz z interfejsem, czyli:
dhcpcd wlan0
Dla sprawdzenia czy mamy łączność ze światem pingujemy np. onet.pl.
Które, karty sieciowe działają?
- Wspierane karty działające opisane są na głównej stronie eduroamu.
- Jeśli, jednak coś jest nie tak, lub karty nie ma na liście sprawdź czy Twoją kartę wspiera Linux. Jeśli nie, to czy są dostępne jakieś zewnętrzne sterowniki np. coś takiego jak: madwifi, iwlwifi, itp.
- Czy Twoja karta wspierana jest przez wpa_supplicant. Jeśli nie chce Ci się szukać to przetestuj wszystkie sterowniki w opcji -D. W najgorszym wypadku czeka Cię rekompilacja programu wpa_supplicant i dodanie do pliku .config opcji wspierających Twoją kartę.
Gdzie szukać pomocy
- Wszelkiego rodzaju fora o tematyce linuksowej 😉
- Manuale systemowe (np: man wpa_supplicant)
- Wśród tych, którzy już używają 😉
Linki, które mogą pomóc:
- www.eduroam.pl
- Wspierane karty przez eduroam
- wpa_supplicant
- ipw3945
- iwlwifi
- compat-wireless-2.6
- madwifi
Możliwe problemy z kartami / sterownikami.
Dotyczy kart intela.
Problem z kartami intelowskimi można znaleźć już na etapie samego sterownika.
Pierwszy to, który sterownik wybrać? Ipw, czy iwlwifi. Otóż jak chodzi o iwlwifi, który jest dostępny w jądrze Linuksa od wersji 2.6.24 to w nim nie działa uwierzytelnianie. Natomiast jest to już poprawione w nowych wersjach. Tu można się natknąć na błąd kompilacji, ponieważ te dostępne na głównej stronie nie są kompatybilne z najnowszym kernelem. Lecz są źródła kompatybilne z nowymi wersjami i działają sprawnie. Dostępne pod nazwą: compat-wireless-2.6.tar.bz2. Jeśli chcemy jednak pokusić się o stare poczciwe ipw, to skazani jesteśmy na kernel w wersji 2.6.23.x ponieważ do tej wersji się kompilują.
Testowane na Slackware, z kernelem 2.6.25-rc9 i sterownikiem iwlwifi na karcie ipw3945, ze sterownikiem do wpa_supplicant wext działa.
Jak chodzi o początkujących na Linuksie, to pewno korzystają z dystrybucji typu: Mandriva, OpenSUSE, Fedora, Ubuntu, itp. i jak sądzę powinno działać bez problemów ponieważ developerzy danych dystrybucji starają się o dobre wsparcie dla sprzętu.
Dotyczy kart opartych o chipset atherosa.
W tym przypadku należy przekompilować sobie sterownik i zainstalować go. Oraz przekompilować wpa_supplicant ze wsparciem dla sterownika madwifi,
ponieważ domyślnie opcja kompilacji dla madwifi jest wyłączona.
Karta pod port PCMCIA firmy TP-LINK model TL-WN510G.
Po instalacja compat-wireless, „zniknął” mi moduł do karty atherosa: ath-pci.
Po instalacji sterowników iwlwifi kernel wykorzystywał moduł ath5k, a nie ath-pci.
I do karty atherosa, również został wykorzystany sterownik z paczki compat-wireless.
Stało się tak ponieważ po wydaniu polecenia: make install skrypt zainstalował
również sterownik ath5k, i dla zachowania bezpieczeństwa moduł ath-pci.ko
został wyłączony. Aby go włączyć należy wydać polecenie:
athenable madwifi
Jednak możemy przetestować, czy nasza karta działa stabilnie na module ath5k.
Autor: Zygmunt Ptak