Dieses Repository ist hiermit veraltet und wird kurz nach dem 22. August 2018 AOE entfernt. Das heißt, die bereitgestellte Konfiguration wird nicht mehr verfügbar sein, um Sicherheitsmängel nicht weiter zu verbreiten.
Das eduroam Configuration Assistant Tool (CAT) erledigt die Aufgabe, für die dieses Repository gedacht war, aber besser. Für Linux bieten sie Shellscript-Installationsprogramme an, die eine wpa_supplicant-Konfiguration für Sie generieren, wenn sie Network Manager nicht installiert finden.
CAT leistet bessere Arbeit, da es Ihnen auch ein Zertifikat zur Verfügung stellt, mit dem Sie den RADIUS-Server Ihrer Heimatinstitution überprüfen können, bevor Sie mit ihm kommunizieren. Die hier bereitgestellte Konfiguration hat dies nicht bewirkt, und das ist eine schlechte Vorgehensweise – möglicherweise haben Sie Ihr Passwort unbefugten Dritten zugänglich gemacht.
Die Verwendung von CAT anstelle dieser Konfiguration bedeutet auch, dass Sie von nun an im Auge behalten sollten, wann sich die Konfiguration oder das Zertifikat an Ihrer Heimatinstitution ändern kann, und Ihre Konfiguration entsprechend aktualisieren sollten.
Es wird empfohlen, dass Sie Ihr Passwort ändern, wenn Sie diese Konfiguration verwendet haben.
Siehe auch Ausgaben Nr. 23, Nr. 24 und Nr. 25.
TLDR; Diese wpa_supplicant
-Konfiguration für eduroam scheint ziemlich robust zu sein.
Eduroam ist ein sicherer, drahtloser Zugangsdienst, der der Bildungs- und Forschungsgemeinschaft von vielen Bildungseinrichtungen auf der ganzen Welt zur Verfügung gestellt wird. Es wurde so konzipiert, dass Sie als Student oder Forscher mit minimalem Aufwand eine Verbindung zu einem sicheren drahtlosen Netzwerk herstellen können, unabhängig davon, an welcher Bildungseinrichtung Sie sich gerade befinden. Dies fördert den Bildungsaustausch und die wissenschaftliche Zusammenarbeit auf der ganzen Welt. (Dieses Video erklärt eduroam anhand von Cartoons!)
wpa_supplicant
ist ein generischer „IEEE 802.1X-Supplicant“ (dh das Tool, das sicherstellen kann, dass Ihre drahtlose Verbindung sicher ist). Die meisten Linux-basierten Netzwerkmanager verwenden wpa_supplicant
im Hintergrund. Natürlich verfügt wpa_supplicant
über eine Befehlszeilenschnittstelle und es ist ziemlich einfach, umfassende Kontrolle über Ihre Konfiguration auszuüben. (Es gibt keine Cartoons über wpa_supplicant
☹.)
Daher ist es schade, dass die generische Eduroam-Website scheinbar (korrigiert mich, wenn ich falsch liege) keine Dokumentation zum Einrichten Ihres wpa_supplicant
bietet. Stattdessen bieten sie Endbenutzern Installationsprogramme an, einschließlich eines Shell-Skripts für Linux-Benutzer (was als primitive, aber ehrliche Dokumentation angesehen werden könnte). Einige Institutionen bieten zwar rohe wpa_supplicant
Dokumentation an, tun dies jedoch auf Ad-hoc-Weise – ohne Garantie, dass die Konfiguration bei jeder anderen Institution funktioniert, was den Zweck von Eduroam zunichte macht .
Dies ist ein Versuch, eine einheitliche wpa_supplicant
-Konfiguration einzurichten, die auf allen Ebenen funktioniert. Im Moment handelt es sich jedoch lediglich um eine undokumentierte wpa_supplicant
Konfiguration, die in einer Reihe von Institutionen recht gut zu funktionieren scheint. Helfen Sie mit und dokumentieren Sie es oder lassen Sie mich einfach wissen, ob diese Konfiguration auch für Sie funktioniert.
identity
auf [email protected]
fest, wenn Ihr Benutzername abc123
und die Domäne Ihrer Heimatuniversität ku.dk
ist.anonymous_identity
entweder auf [email protected]
oder einfach @ku.dk
. Durch die Verwendung einer anonymen Identität wird Ihre Identität nur der Heimatuniversität preisgegeben – jedes Mal, wenn Sie sich von einem anderen Standort aus anmelden, ruft eduroam zu Hause an, um Ihre Identität und Ihr Passwort zu überprüfen. Der Passwort-Hash muss ein MD4-Hash der Little-Endian-UTF16-Kodierung Ihres Passworts sein. Wenn Ihr Passwort beispielsweise hamster
lautet, können Sie es wie folgt hashen:
$ echo -n 'hamster' | iconv -t utf16le | openssl md4
(Beachten Sie die Verwendung von einfachen Anführungszeichen, um Escapezeichen in der Shell zu vermeiden.)
(Siehe auch die Bash-Variable HISTCONTROL
, um Befehle aus Ihrer ~/.bash_history
herauszuhalten.)
Wenn Sie pass
oder einen anderen Passwort-Manager mit einer Befehlszeilenschnittstelle verwenden, könnten Sie stattdessen eine Pipeline wie diese in Betracht ziehen:
$ pass eduroam | tr -d 'n' | iconv -t utf16le | openssl md4
Sobald Sie den MD4-Hash haben, schreiben Sie ihn wie folgt in Ihre Konfiguration:
password=hash:2fd23a...456cef
ACHTUNG! MD4 ist ein veralteter Hashing-Algorithmus und sollte nicht als sicher angesehen werden.
Wenn Sie lieber ohne Netzwerkmanager arbeiten möchten, können Sie wpa_supplicant
schnell und einfach mit dieser Konfiguration ausführen:
$ sudo wpa_supplicant -Dnl80211 -iwlp3s0 -c supplicant.conf -B
Dabei ist nl80211
der zu verwendende Kernel-Treiber. nl80211
ist die neue Standard-802.11-Netlink-Schnittstelle, die das ältere wext
(Wireless-Extensions) ersetzen soll. Wenn Sie nl80211
nicht herumliegen haben, können Sie es mit wext
versuchen, aber wext
kann mit dem Fehler ioctl[SIOCGIWSCAN]: Argument list too long
in the face of too much accesspoints“ fehlschlagen. Wenn Sie eine Intel-Karte haben, ist iwlwifi
eine weitere Alternative.
Eine Möglichkeit, den benötigten Treiber zu finden, ist die Verwendung von lspci
:
$ lspci -k
wlp3s0
ist der Netzwerkschnittstellenname Ihrer WLAN-Karte. Sie können dies über ip link
finden:
$ ip link
Verwenden Sie optional die Option -B
, um den wpa_supplicant
-Prozess in den Hintergrund zu verschieben. Wenn Sie es jedoch weglassen, erhalten Sie nützliche Erkenntnisse, wenn Sie sonst keine Verbindung herstellen können.
Starten Sie außerdem dhcpcd
, wenn es nicht automatisch startet.
Auf Raspbian Stretch müssten Sie außerdem die folgenden Zeilen hinzufügen (mit freundlicher Genehmigung von @patrick-nits):
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
country=<2-letter country code>
ctrl_interface
wird benötigt, da Raspbian Stretch standardmäßig wpa_cli
verwendet. ctrl_interface
wird immer dann benötigt, wenn Sie wpa_cli
verwenden.country
wird „zu Regulierungszwecken“ benötigt. Dies ändert insbesondere die Frequenzbänder, die wpa_supplicant
verwenden wird. Der Ländercode muss ein ISO 3166-1 Alpha-2-Code sein.