Netzwerkzugang in den Wohnheimen mit Linux
1. Grundlegendes
2. MD5 oder PEAP
3. verschiedene Clients wpa_supplicant, xsupplicant, AEGISClient Linux, statischer xsupplicant
4. Client-Konfiguration
5. distributionsspezifische Vorgehensweisen
6. Spezielle Hardware
7. Root Certifikat Deutsche Telekom CA2
8. FAQ
9. Links
1. Grundlegendes
Um den Internet-Zugang über das Wohnheimnetzwerk nutzen zu können, ist eine Authentifizierung des Nutzers zu Beginn der Sitzung notwendig. Dazu benötigen Sie eine spezielle Client-Software sowie Ihr Login und Kennwort von der Universität Bielefeld (Kennwort für "dialin"-Berechtigung), der FH Bielefeld oder dem OS. Die Authentifizierung findet auf Basis des 802.1X-Protokolls statt. Erst nach der erfolgreichen Authentifizierung gegenüber dem Radius-Server vergibt der DHCP-Server an den Client-Computer eine gültige IP-Adresse und wird der Zugriff auf das Internet freigeschalten. Im folgenden Text finden Sie Informationen und Anleitungen zur Konfiguration Ihres Linux-Systems.
2. MD5 oder PEAP
Zur Zeit sind für die Authentifizierung über 802.1X zwei EAP-Methoden möglich: EAP-MD5 und EAP-PEAP (MSCHAPV2) können verwendet werden. Die zweite Variante ist sicherer, aber auch geringfügig aufwendiger, da Sie das Wurzelzertifikat der Deutschen Telekom AG einbinden müssen. Im Folgenden werden beide Methoden erläutert.
3. verschiedene Clients
Derzeit sind drei verschiedene Linux-Clients für die Authentifizierung verfügbar: Die Opensource-Clients wpa_supplicant und xsupplicant, die mittlerweile im Software-Paket vieler Linux-Distributionen enthalten sind sowie der kommerzielle AEGISClient für Linux der Firma Meetinghouse. Der AEGISClient läßt sich nur auf Systemen mit rpm-Paketverwaltung installieren und benötigt für das Konfigurations-GUI das Java-Runtime-Environment ab Version 1.4 von Sun Microsystems. Für den AEGISClient für Linux benötigen Sie ferner einen 40stelligen Registrierungs-Schlüssel, welchen Sie in der Wohnheimverwaltung oder bei Ihrem Hausmeister erhalten.
Für ältere Distributionen und solche, die keinen der Clients in ihrem Software-Paket mitbringen und auf denen auch der AEGISClient von Meetinghouse nicht funktioniert, bestehen die Möglichkeiten, dass Sie sich den aktuellen Quellcode eines der Clients besorgen und auf Ihrem System neu kompilieren oder den statisch gelinkten xsupplicant verwenden. Dieser sollte über einen weiten Bereich von Linux-Systemen mit i386-kompatiblen Prozessoren lauffähig sein. Diese Vorgehensweisen setzen allerdings grundlegende Systemkenntnisse voraus.
Bei aktuellen Linux-Distributionen verwenden Sie am besten die mitgelieferten Netzwerk-Tools wie den GNOME Network-Manager und die ebenfalls einen der mitgelieferten Clients wpa_supplicant oder xsupplicant (dies gilt etwa ab Ubuntu 7.04, OpenSuse 10.2, Mandriva 2008, Fedora 8 und alle neueren Versionen). Bei älteren Distributionen sind diese Clients möglicherweise nicht geeignet. In dem Fall können Sie den statisch gelinkten xsupplicant verwenden oder den AEGISClient, falls Ihr System die übrigen Voraussetzungen erfüllt. Alternativ Sie besorgen sich den aktuellen Quellcode zum wpasupplicant oder x_supplicant und kompilieren diesen auf Ihrem System neu.
4. Client-Konfiguration
Falls Ihr System noch keine geeigneten Netzwerk-Tools bereit stellt oder Sie diese aus anderen Gründen nicht verwenden wollen, müssen Sie die Clients manuell konfigurieren.
Im Folgenden wird immer davon ausgegangen, dass eth0 die Netzwerkkarte bezeichnet, mit der Sie eine Verbindung zum Wohnheimnetzwerk herstellen wollen. Verwenden Sie mehrere Netzwerkkarten in Ihrem Computer, so passen Sie die Bezeichnung bitte an.
wpa_supplicant
Installieren Sie mit Hilfe Ihrer Paket-Verwaltung (Yast, Mandriva-Kontrollsystem, Synaptic-Paketverwaltung, usw.) das Paket wpa_supplicant. Konfigurieren Sie die Netzwerkkarte eth0 mit Hilfe Ihrer Systemverwaltung für den dynamischen Bezug einer IP-Adresse (DHCP).Nun müssen Sie die Konfigurations-Datei für den wpasupplicant mit einem Editor Ihrer Wahl erstellen. Im Folgenden finden Sie jeweils eine Musterdatei für die Methode MD5 sowie PEAP. Bitte tragen Sie keine unnötigen Leerzeichen ein und stellen Sie alle Pfade, Login und Kennwort in doppelte Anführungszeichen, da das Weglassen dieser Zeichen je nach Distribution nach den bisheringe Beobachtungen zu Fehlern führen kann. Entscheiden Sie sich für eine der beiden Varianten:
# wpa_supplicant mit MD5 #######################################
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=0
fast_reauth=1
network={
key_mgmt=WPA-EAP
eap=MD5
identity="<login>"
password="<password>"
eapol_flags=0
}oder
# wpa_supplicant mit EAP-PEAP ##################################
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=0
fast_reauth=1
network={
key_mgmt=WPA-EAP
eap=PEAP
identity="<login>"
password="<password>"
ca_cert="<Pfad zum Zertifikat der Deutschen Telekom AG>"
phase2="auth=MSCHAPV2"
priority=10
}Ersetzen Sie jeweils <login> und <password> durch Ihr Login und Kennwort, wie Sie es auf dem Loporello mitgeteilt bekommen haben bzw. für die Dienste des HRZ nutzen. Setzen Sie Ihr Login und Ihr password bitte in Anführungszeichen. Auf einzelnen Systemen wurden andernfalls Probleme beobachtet. Verwenden Sie keine Leerzeichen rechts oder links der "="-Zeichen. Es wurden Probleme beim Parsen der Konfigurations-Dateien beobachtet.
Wenn Sie sich für die Methode PEAP entscheiden, benötigen Sie ferner das Zertifikat der Deutschen Telekom AG und den Pfad zu diesem Zertifikat auf Ihrem Computer. Details dazu finden Sie im Anhang.
Speichern Sie die erstellte Konfigurations-Datei unter dem Dateinamen /etc/wpasupplicant/wpasupplicant.conf.
Achtung: Die Datei enthält Ihr Kennwort für das HRZ. Ändern sie daher die Berechtigungen für die Datei so, dass Dritte keinesfalls Zugriff darauf haben mit
# chmod 400 /etc/wpasupplicant/wpasupplicant.confVon der Konsole können Sie nun erstmalig den wpasupplicant starten mit
# wpasupplicant -d -Dwired -ieth0 -c/etc/wpasupplicant/wpasupplicant.confWenn alles richtig ist, sollte der wpasupplicant sich jetzt erfolgreich authentifizieren.
Falls noch kein DHCP-Client im Hintergrund arbeitet, starten Sie diesen jetzt mit
#dhclient eth0
(Alternativ zum dhclient können Sie auch #pump -i eth0 oder #dhcpcd eth0 verwenden.)#ifconfig eth0
sollte jetzt Ihre aktuelle IP-Adresse anzeigen.Automatische Authentifikation beim Systemstart konfigurieren:
Im folgenden wird ein Weg beschrieben, der auf einer breiten Palette von Systemen funktionieren sollte. Unabhängig davon sind bei vielen aktuellen Distributionen weitere graphische Konfigurationswerkzeuge wie der Network-Manager integriert, denen Sie vielleicht den Vorzug geben möchten. Lesen Sie dazu bitte weiter unten nach.
Erstellen Sie eine Datei mit folgendem Inhalt
#!/bin/shell
wpasupplicant -Dwired -ieth0 -c/etc/wpasupplicant/wpasupplicant.confSpeichern Sie dieses Shell-Skript als /etc/wpasupplicant/start_wpasupplicant.sh und änderns Sie die Rechte wie folgt
# chmod 744 /etc/wpasupplicant/start_wpasupplicant.shNun können Sie eine Verknüpfung auf den Desktop erstellen und dann zukünftig die Authentifizierung manuell starten. Dies kann bei Notebooks mit wechselnden Standorten und Netzwerkumgebungen sinnvoll sein.
Ist Ihr Computer ortsfest aufgestellt und soll sich bei jedem Systemstart im Wohnheim-Netz authentifizieren, können Sie in den rc-Verzeichnissen rc3.d und rc5.d zu den Runlevel 3 und 5 jeweils symbolische Links auf das Skript erstellen:
ln -s /etc/wpasupplicant/start_wpasupplicant.sh /etc/rc3.d/S50start_wpasupplicant
ln -s /etc/wpasupplicant/start_wpasupplicant.sh /etc/rc5.d/S50start_wpasupplicantx_supplicant
Installieren Sie mit Hilfe Ihrer Paket-Verwaltung (apt-get, yast, yum, Mandriva-Paketverwaltung, Synaptic-Paketverwaltung, usw.) das Paket wpa_supplicant. Konfigurieren Sie die Netzwerkkarte eth0 für den dynamischen Bezug einer IP-Adresse (DHCP).Nun müssen Sie die Konfigurations-Datei für den wpasupplicant mit einem Editor Ihrer Wahl erstellen. Im Folgenden finden Sie jeweils eine Musterdatei für die Methode MD5 sowie PEAP. Entscheiden Sie sich für eine der beiden Varianten:
# xsupplicant mit MD5 #######################################
network_list = all
default_netname = default
logfile = /var/log/xsupplicant.log
default
{
allow_types =eap-md5
type=wired
identity = "<login>"
eap-md5 {
username = ""
password = "<password>"
}
}
oder
# xsupplicant mit EAP-PEAP ##################################
network_list = all
default_netname = default
logfile = /var/log/xsupplicant.log
default
{
allow_types = all
identity = "<login>"
eap-peap {
inner_id = "<login>"
root_cert = "<Pfad zum Zertifikat der Deutschen Telekom AG>"
chunk_size = 1398
random_file = /dev/urandom
cncheck = radius.uni-bielefeld.de
cnexact = yes
session_resume = no
allow_types = all
proper_peap_v1_keying = no
eap-mschapv2 {
password = "<password>"
}
}
}
Ersetzen Sie jeweils <login> und <password> durch Ihr Login und Kennwort, wie Sie es auf dem Loporello mitgeteilt bekommen haben bzw. für die Dienste des HRZ nutzen. Setzen Sie Ihr login und Ihr password bitte in Anführungszeichen. Auf einzelnen Systemen wurden andernfalls Probleme beobachtet. Verwenden Sie keine Leerzeichen rechts oder links der "="-Zeichen. Es wurden Probleme beim Parsen der Konfigurations-Dateien beobachtet.
Wenn Sie sich für die Methode PEAP entscheiden, benötigen Sie ferner das Zertifikat der Deutschen Telekom AG und den Pfad zu diesem Zertifikat auf Ihrem Computer. Details dazu finden Sie im Anhang.
Speichern Sie die erstellte Konfigurations-Datei unter unter dem Dateinamen /etc/x_supplicant/x_supplicant.conf. Achtung: Die Datei enthält Ihr Kennwort für das HRZ. Ändern sie daher die Berechtigungen für die Datei so, dass Dritte keinesfalls Zugriff darauf haben mit
# chmod 400 /etc/x_supplicant/x_supplicant.confVon der Konsole können Sie nun erstmalig den xsupplicant starten mit
# xsupplicant -d -Dwired -ieth0 -c/etc/x_supplicant/x_supplicant.conf
Wenn alles richtig ist, sollte der xsupplicant sich jetzt erfolgreich authentifizieren. Falls noch kein DHCP-Client im Hintergrund arbeitet, starten Sie diesen jetzt mit
# dhclient eth0 (alternativ #pump3 eth0 oder #dhcpcd eth0).# ifconfig eth0
sollte jetzt Ihre aktuelle IP-Adresse anzeigen.Automatische Authentifikation beim Systemstart konfigurieren:
Im folgenden wird ein Weg beschrieben, der auf einer breiten Palette von Systemen funktionieren sollte. Unabhängig davon sind bei vielen aktuellen Distributionen weitere graphische Konfigurationswerkzeuge wie der Network-Manager integriert, denen Sie vielleicht den Vorzug geben möchten. Lesen Sie dazu bitte weiter unten nach.
Erstellen Sie eine Datei mit folgendem Inhalt:
#!/bin/shell
xsupplicant -Dwired -ieth0 -c/etc/xsupplicant/xsupplicant.confSpeichern Sie dieses Shell-Skript als /etc/xsupplicant/start_xsupplicant.sh und änderns Sie die Rechte wie folgt
# chmod 744 /etc/xsupplicant/start_xsupplicant.shNun können Sie eine Verknüpfung auf den Desktop erstellen und dann zukünftig die Authentifizierung manuell starten. Dies kann bei Notebooks mit wechselnden Standorten und Netzwerkumgebungen sinnvoll sein.
Ist Ihr Computer ortsfest aufgestellt und soll sich bei jedem Systemstart im Wohnheim-Netz authentifizieren, können Sie in den rc-Verzeichnissen rc3.d und rc5.d zu den Runlevel 3 und 5 jeweils symbolische Links auf das Skript erstellen:
ln -s /etc/xsupplicant/start_xsupplicant.sh /etc/rc3.d/S50start_xsupplicant
ln -s /etc/xsupplicant/start_xsupplicant.sh /etc/rc5.d/S50start_xsupplicant
AEGISClient für Linux
Voraussetzung für die Verwendung des AEGISClient ist ein Sun Microsystems Java Runtime Environment ab Version 1.4.x.Überprüfen Sie dies mit dem Befehl
# java -versionTests mit alternativen Java-Laufzeitumgebungen, wie sie mit einigen Linux-Distributionen ausgeliefert werden, schlugen bisher fehl!
Entpacken Sie die Datei AEGISClient-linux-1.2.2.tgz. Diese enthält neben der Dokumentation die Datei AEGISClient-1.2.2-1.i386.rpm.bin. Führen Sie anschließend die Datei aus AEGISClient-1.2.2-1.i386.rpm.bin aus. Die daraufhin entpackte Datei AEGISClient-1.2.2-1.i386.rpm installieren Sie nun mit Hilfe der Software-Verwaltung Ihrer Linux-Distribution oder mit dem Konsol-Befehl
# rpm -i AEGISClient-1.2.2-1.i386.rpm.Der AEGISClient-Service läuft im Hintergrund. Zur Konfiguration starten Sie das AEGISClientGUI.
Im AEGISClientGUI müssen Sie zunächst im Menue Help/ Register den Registrierschlüssel für die Client-Software eintragen. Den 40stelligen (!) Schlüssel bekommen Sie in der Wohnheimverwaltung und beim Hausmeiser Ihres Wohnheimes.
Anschließend können Sie den Client im Menue Configure konfigurieren. Auch hier können Sie wieder zwischen MD5 und PEAP wählen. Entscheiden Sie sich für PEAP, müssen Sie zuvor das "Wurzelzertifikat Deutsche Telekom Root CA 2" in die Software einpflegen. Nähere Angaben dazu finden Sie in der zum Client mitgelieferten Dokumentation bzw. im Menue Help des AEGISClient.
Da der AEGISClient schon recht als ist, sollten Sie wenn möglich die zuvor genannten Alternativen anwenden.
Statisch gelinkter xsupplicant
Dieser Client basiert auf einer älteren Version des xsupplicant, der von M.Letzgus statisch gelinkt wurde, sodass er auf einer Vielzahl von Linux-Systemen und i386-kompatibler Hardware verwendet werden kann. Sie können diesen Client verwenden, wenn die drei zuvor genannten Clients nicht geeignet sind und Sie auch den Quellcode der aktuellen Clients nicht auf Ihrem System kompilieren können.5. Distributionsspezifische Besonderheiten
Ubuntu
Spätestens seit Ubuntu 9.04 wird der oben genannte, komfortable Gnome Network-Manager mit ausgeliefert. Für ältere Versionen der Ubuntu-Distribution gilt:
Bei Installation des zur Distribution mitgelieferten wpa_supplicant oder des xsupplicant wird alles Notwendige zum automatisierten Start der Clients mit installiert. Neben der unter 4. genannten Anpassung der conf-Datei ist noch wie folgt vorzugehen:
wpa_supplicant:
Bei Installation des wpa_supplicant wird ein Link angelegt.
xsupplilcant:
Der xsupplicant wird über das Verzeichnis /etc/default konfiguriert.
Debian
Im Wesentlichen gelten die Aussagen zu Ubuntu
Mandriva
Die Distribution 2007 bringt zwar sowohl den xsupplicant, wie auch den wpa_supplicant mit, beide Programme geben aber eine Fehlermeldung für den Interface-Typ "wired" ab. Mandriva selbst rät hier zum Update auf Mandriva 2008.
Die 2008er Distribution bringt ebenfalls den xsupplicant und den wpa_supplicant mit. Leider wurde der xsupplicant gegen eine ältere, auf 2008 nicht mehr vorhandene Bibliothek gelinkt und ist damit nicht installierbar. Dieser Fehler ist in den Updates zu Mandriva 2008 mittlerweile behoben. Sie finden das Update in den offiziellen Update-Quellen zu Mandriva Linux. Der wpa_supplicant funktioniert einwandfrei, das Update des xsupplicant ebenfalls.
Für ältere Mandriva-Distributionen verwenden Sie bitte den AEGISclient oder den statisch gelinkten xsupplicant.
OpenSUSE
OpenSUSE bzw. SUSE bringen den wpa_supplicant bereits im Distributionsumfang mit. Sie können den wpa_supplicant mit Hilfe der Netzwerkkonfiguration im YAST einbinden. Damit haben sie eine elegante Möglichkeit, um die Authentifizierung nach 802.1X in ihr System einzubinden.
Fedora/ RedHat/ Centos
Die aktuellen Distributionen ab Fedora 11 bringt ebenfalls beide Clients und den komfortablen Gnome Network-Manager mit.
6. Spezielle Hardware
i) Asus Eee PC 700
Der Asus Eee PC 700 bringt von Haus aus den wpa_supplicant mit. Leider unterstützt dieser ausschließlich die im Gerät eingesetzte Wireless-Netzwerkkarte und nicht die drahtgebundene LAN-Netzwerkkarte.
Als mögliche Auswege zeigen sich:
a) Einsatz eines weiteren, für drahtgebundene Netzwerkkarten kompilierten wpa_supplicant.
b) Beschaffung eines wpa_supplicant oder xsupplicant aus dem Debian-/Ubuntu-Bereichs. Diese können möglicherweise funktionieren. Dabei sind die vielen Hinweise zum Import
c) Installation einer anderen, für den EeePC geeeigneten Linuxdistribution (z.B. Mandriva Spring 2008 (2008.1) oder Xubuntu)
7. Wurzel-Zertifikat "Wurzelzertifikat Deutsche Telekom Root CA 2"
Für die Authentifizierung mittels EAP-PEAP wird das "Wurzelzertifikat Deutsche Telekom Root CA 2" benötigt. Laden Sie sich dieses Zertifikat hier
http://www.pki.dfn.de/index.php?id=globalroot herunter. Wählen Sie das PEM-Zertifikat in ASCII-kodierter Form (.pem). Anschließend sollten Sie die Echtheit des soeben heruntergeladenen Zertifikates anhand der ebenda angegebenen Prüfsumme untersuchen. Berechnen Sie die Prüfsumme des heruntergeladenen Zertifikates wie folgt:
# openssl x509 -noout -sha1 -fingerprint -in deutsche-telekom-root-ca-2.pemDas Ergebnis sollte mit dem folgenden, auch auf der DFN-Seite genannten Fingerabdruck übereinstimmen:
SHA1 Fingerprint=85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF .
Folgende Verzeichnisse bieten sich zum Ablegen des Zertifikates an:
/usr/share/ssl-cert/ Ubuntu, Debian, Knoppix etc
/usr/share/ssl/certs/ RedHat, Fedora, Mandriva, OpenSuse
Um das Zertifikat vor Manipulationen zu schützen, setzen Sie die Zugriffsrechte für das Zertifikat bitte unbedingt mit chmod auf reinen Lesezugriff
# chmod 444 /usr/share/ssl/certs/deutsche-telekom-root-ca-2.pem .8. FAQ
9. Links
http://hostap.epitest.fi/wpa_supplicant
http://www.uni-bielefeld.de/hrz/netze/dot1x/index.html
http://w148.de/wertherwiki/StartSeite
http://wwwhomes.uni-bielefeld.de/mletzgus/linux/linux.html
http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol
http://en.wikipedia.org/wiki/Protected_Extensible_Authentication_Protocol

