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:

 

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