Eduroam mit Gnublin

Autor: Hubert Högl <Hubert.Hoegl@hs-augsburg.de>
Datum: 2012-04-19

URL: http://elk.informatik.fh-augsburg.de/pub/gnublin-lpc3131/appnotes/eduroam.html

Inhalt

1   Eduroam

Eduroam bezeichnet das "roaming" in drahtlosen Netzen, das seit einiger Zeit bei Einrichtungen im Bildungsbereich verwendet wird. Derjenige, der mit seinem Notebook drahtlos in das Netz will, verwendet für den Netzzugang den gleichen zentralen Login und das gleiche Passwort, das er vom Rechenzentrum der Einrichtung zum Einloggen auch an allen öffentlich zugänglichen Rechnern verwendet.

  • Siehe [1], [2], [3]
  • Das Authentifizierungsverfahren wird im Standard IEEE 802.1x beschrieben [4].
  • Die SSID ist "eduroam"

2   Anleitung

2.1   Drahtlose Schnittstelle installieren

Um in ein drahtloses Netz zu kommen, muss man zunächst einen USB zu WLAN Adapter an Gnublin anschliessen (siehe z.B. [5]). Für das Experiment mit Eduroam habe ich den Patriot Adapter mit einkompiliertem Treiber r8712u verwendet. Den gleichen Treiber verwendet auch der Asus WL167G-v3 Adapter:

Am Anfang sollte man mit ifconfig und iwconfig etwa folgende Ausgaben erhalten

root@armv5te:~# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


root@armv5te:~# iwconfig
lo        no wireless extensions.

wlan0     unassociated  Nickname:"rtl_wifi"
          Mode:Auto  Access Point: Not-Associated   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

2.2   Kernel prüfen

Der Kernel muss mit CONFIG_UNIX und CONFIG_PACKET konfiguriert worden sein.

2.3   WPA Werkzeuge prüfen

Diese Programme müssen vorhanden sein:

root@armv5te:~# ls /usr/sbin/wpa_*
/usr/sbin/wpa_cli  /usr/sbin/wpa_passphrase  /usr/sbin/wpa_supplicant

Sie benötigen folgende Bibliotheken:

root@armv5te:/usr/sbin# ldd wpa_supplicant
        libnl.so.2 => /usr/lib/libnl.so.2 (0x42268000)
        libnl-genl.so.2 => /usr/lib/libnl-genl.so.2 (0x42288000)
        libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x430b0000)
        libgnutls-extra.so.26 => /usr/lib/libgnutls-extra.so.26
        (0x42008000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x43030000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x42718000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x42168000)
        libc.so.6 => /lib/libc.so.6 (0x42018000)
        libm.so.6 => /lib/libm.so.6 (0x421c8000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x42150000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x43158000)
        libz.so.1 => /usr/lib/libz.so.1 (0x42190000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x43020000)
        liblzo2.so.2 => /usr/lib/liblzo2.so.2 (0x42298000)
        librt.so.1 => /lib/librt.so.1 (0x421b0000)
        /lib/ld-linux.so.3 (0x41fe0000)

root@armv5te:/usr/sbin# ldd wpa_cli
        libc.so.6 => /lib/libc.so.6 (0x42018000)
        /lib/ld-linux.so.3 (0x41fe0000)

root@armv5te:/usr/sbin# ldd wpa_passphrase
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0x43030000)
        libc.so.6 => /lib/libc.so.6 (0x42018000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x43020000)
        /lib/ld-linux.so.3 (0x41fe0000)

Konfigurationsdatei anlegen: /etc/wpa_supplicant/wpa_supplicant.conf (siehe [6])

# path to UNIX socket control interface
ctrl_interface=/var/run/wpa_supplicant

#eapol_version=1

ap_scan=1

network={
    ssid="eduroam"
    key_mgmt=WPA-EAP
    eap=TTLS
    proto=WPA RSN
    identity="hhoegl"
    anonymous_identity=anonymous@hs-augsburg.de"
    password="..."
    phase2=auth=PAP"
}

2.4   Den Server starten

Zum Test im Vordergrund starten:

root@armv5te:~# sudo wpa_supplicant -i wlan0 -D wext
-c /etc/wpa_supplicant/wpa_supplicant.conf -d

Später im Hintergrund starten:

root@armv5te:~# sudo wpa_supplicant -i wlan0 -D wext
-c /etc/wpa_supplicant/wpa_supplicant.conf -B

Wenn man in die wpa_supplicant.conf kein Passwort schreiben möchte, kann man dieses mit dem Programm wpa_cli interaktiv setzen.

Zum Schluss bezieht man mit DHCP noch die nötigen IP Nummern:

root@armv5te:~# udhcpc -i wlan0
udhcpc (v1.17.3) started
Setting IP address 0.0.0.0 on wlan0
Sending discover...
Sending select for 141.82.171.254...
Lease of 141.82.171.254 obtained, lease time 7200
Setting IP address 141.82.171.254 on wlan0
ifconfig: bad address '+'
Deleting routers
Adding router 141.82.160.1
Recreating /etc/resolv.conf
Adding DNS server 141.82.16.200
Adding DNS server 141.82.16.242

Nun sollte die drahtlose Verbindung in das Internet funktionieren:

ping www.gnublin.org
...

Abschliessend nochmal aus Neugier mit ifconfig und iwconfig die Netzwerkschnittstelle prüfen:

root@armv5te:~# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:47 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4910 (4.7 KiB)  TX bytes:4910 (4.7 KiB)

wlan0     Link encap:Ethernet  HWaddr F4:6D:04:8B:3C:D8
          inet addr:141.82.171.254  Bcast:141.82.175.255
          Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:140821 errors:0 dropped:159 overruns:0
          frame:0
          TX packets:78 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18872805 (17.9 MiB)  TX bytes:7975 (7.7 KiB)
root@armv5te:~# iwconfig
lo        no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"eduroam" Nickname:"rtl_wifi"
          Mode:Managed  Frequency:2.412 GHz  Access Point:
          00:0B:86:DB:8E:43
          Bit Rate:54 Mb/s   Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****
          Security mode:open
          Power Management:off
          Link Quality=100/100  Signal level=60/100  Noise
          level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

3   Literatur

[1] Eduroam Homepage

http://www.eduroam.org

http://www.eduroam.de

[2] Eduroam Standard

http://www.eduroam.org/downloads/docs/GN2-06-137v5-Deliverable_DJ5-1-4_Inter-NREN_Roaming_Technical_Specification_20060908164149.pdf

[3] Hochschule Augsburg, Rechenzentrum

http://www.hs-augsburg.de/einrichtung/rz/dienste/vpn-wlan/index.html

[4] IEEE 802.1x

http://de.wikipedia.org/wiki/IEEE_802.1X

[5] Gnublin Application Note AP0021 "WLAN mit Gnublin"

http://wiki.gnublin.org/index.php/Application_Notes

[6] Diese Anleitung war sehr hilfreich:

http://www.cms.hu-berlin.de/dl/netze/wlan/config/eduroam/linux