Router mit DD-WRT als RADIUS-Clients: Unterschied zwischen den Versionen

Aus dem IServ-Wiki
Zur Navigation springen Zur Suche springen
Zeile 71: Zeile 71:
 
Dies kann unter ''Administration'' -> ??? einstellen. Dort kann man ebenfalls die Sprache von Englisch auf Deutsch ändern, falls noch nicht getan.
 
Dies kann unter ''Administration'' -> ??? einstellen. Dort kann man ebenfalls die Sprache von Englisch auf Deutsch ändern, falls noch nicht getan.
  
==== DHCP-Server deaktivieren ====
+
==== Grundlegende Einstellungen ====
 +
[[Datei:dd-wrt-network-config.png|miniatur|Einstellungen in dd-wrt]]
 +
Die Grundlegenden Einstellungen sind unter ''Setup''->''Basis-Setup'' einstellen.
 +
[[Datei:dd-wrt-network.png]]
 +
 
 +
Als erstes ist es hilfreich den Verbindungstyp auf dynamische IP einzustellen.
 +
Weiter kann man unter Routername, den Namen angeben, der auch im IServ eingetragen wurde, dieser erscheint dann auch als Tabtitel.
 +
Nun muss unter ''Lokale-IP-Adresse'' anstatt 192.168.1.1 ein andere IP, die nicht vom IServ genutzt wird, gewählt werden, als Beispiel 192.168.2.1 .
 
Zudem darf der Router nach innen nicht als DHCP-Server auftreten - das macht ja schließlich der IServ selbst.
 
Zudem darf der Router nach innen nicht als DHCP-Server auftreten - das macht ja schließlich der IServ selbst.
Diese Einstellung findet man unter ''Setup'' -> ''Basis-Setup''
+
Diese Einstellung findet man unter ''Setup'' -> ''Basis-Setup''. Dort muss man die Einstellung DHCP-Server von Einschalten auf Ausschalten gewechselt werden.
[[Datei:dd-wrt-network.png]]
+
 
  
Dort muss man die Einstellung
 
  
 
==== Konfiguration von Chillispot ====
 
==== Konfiguration von Chillispot ====
 +
Die Konfiguration von Chillispot findet man unter ''Services''->''Hotspot'' in der Kategorie ''Chillispot''
 +
Zunächst muss Chillispot eingeschaltet werden, danach kann man die Felder wie Folgt ausfüllen:
  
 
== Einbindung des Routers am IServ ==
 
== Einbindung des Routers am IServ ==

Version vom 20. November 2012, 20:39 Uhr

Die Konfiguration von Windows-Clients für RADIUS ist nicht gerade einfach und selbsterklärend. Als Clients können auch WLAN-Router mit einer speziellen Firmware fungieren. Das Endgerät des Nutzers benötigt außer einem Browser nichts, um sich am WLAN anzumelden.

Grundprinzip

Das folgende Schema zeigt die Funktion und die beteiligten Komponenten:

Chillispot iserv.png

Ein Client, der nur über einen Browser verfügen muss (Handy, Tablet, Notebook...) verbindet sich über WLAN mit einem Router. Er erhält eine IP-Adresse, jedoch werden alle Anfragen an eine bestimmte Loginseite auf denm IServ weitergeleitet. Es können zunächst keine anderen Seiten geöffnet werden. Auf der Loginseite (iserv_hotspot.php) gibt der Benutzer nun seine Zugangsdaten über HTTPS ein. Diese werden durch das RADIUS-Modul auf dem IServ gegen dessen Benutzerdatenbank /etc/shadow geprüft. Wenn das erfolgreich ist, gibt der Router das Internet für den Client frei, indem er die Client-IP jetzt komplett routet. Damit die Lösung richtig bequem wird, sind aber noch einige Entwicklungsarbeiten am WLAN-Modul notwendig, die zumindest die hier noch beschriebene IServ-Konfiguration zu automatisieren vermögen.

Warnung

Die hier vorgestellte Konfiguration ist - wenn sie läuft - sehr attraktiv für Nutzer, jedoch nicht trivial und schon gar nicht ausschließlich über die IServ-Oberfläche vornehmbar. Sie hat den Vorteil, dass sie nur einmal zentral vorgenommen werden muss und die Clients gar nicht mehr eingerichtet werden müssen. Sie setzt aber GRundkentnisse auf der Konsole und "Mut zum Root" voraus.

Konfiguration

Als erstes muss das WLAN-Modul instaliert sein.

Welche Daten werden benötigt?

Für die Konfiguration der einzelnen Bestandteile benötigt man folgende Variablen:

Angabe Funktion Quelle
<secret> Absicherung der Kommunikation zwischen Client und RADIUS Vom RADIUS-Modul bei Installation abgefragt
<uam_secret> Absicherung der Kommunikation zwischen Webserver und ChilliSpot frei wählbar
<radius_ip> IP des Freeradius-Servers typischerweise IP des internen Netzdevices von IServ (192.168.0.1 bzw. 10.0.0.1)
<login_url> URL der ChilliSpot-Loginseite auf dem IServ <url_zu>/hotspot.php
<nas_id> Name des Hotspots (notwendig) frei wählbar
<dns_ip> IP des Gateways ins Internet (meist IServ-IP) vgl. IServ-IP (192.168.0.1 bzw. 10.0.0.1)


hotspot.php

Die in dem Archiv Medium:hotspot.zip enthaltene php-Datei ist für den Gebrauch von DD-WRT nötig. Sie wird erst einmal konfiguriert. Dabei öffnet man diese mit einem Text-Editor. Nun muss man die Variablen wie folgt anpassen:

Variable Funktion Quelle
$uamsecret Absicherung der Kommunikation zwischen Webserver und ChilliSpot <uam_secret>
$ChilliSpot Angezeigter Name im Loginscript Bsp.: WLAN der (Schulname)

Weiter muss nun die hotspot.php auf die hochladen. Dafür muss auch php für die Website aktiviert sein, wenn es noch nicht aktiviert ist, kann man es nach der Anleitung PHP für die Homepage freischalten aktivieren.


Konfiguration auf dem IServ

Freeradius

Das WLAN-Modul verwendet zurzeit eine Konfiguration, die notwendig ist, um Passworte zu verarbeiten, die ein Windows-Client direkt verschlüsselt. Folgerichtig werden diese gegen Samba auf IServ geprüft. Optionen in der radiusd.conf des WLAN-Moduls verhindern die für dieses Setup notwendige Authentifizierung gegen /etc/shadow. Das WLAN-Modul ist daher für die Hotspotfunktionalität in der vorliegenden Form nicht brauchbar. Mittelfristig müssten zwei getrennte VHosts im RADIUS für beide Authentifizierungsarten konfiguriert werden. Derzeitig wird das WLAN-Modul mit dd-wrt aber reibungslos an dem Gymnasium Neue Oberschule aus Braunschweig eingesetzt.

Konfiguration des Routers

Geeignete Hardware

Auf dem Router muss eine spezielle Firmware (DD-WRT) installiert werden. Diese enthält bereits den ChilliSpot-Dienst mit einem Web-Interface zur Konfiguration. Welche Router in Frage kommen, kann auf der Internetseite des DD-WRT-Projektes recherchiert werden: Webseite von DD-WRT. Dort sucht man in der Router-Database nach kompatiblen Geräten - das sind erstaunlich viele alte und neuere Router. Bei jedem Modell befindet sich eine Anleitung, wie die neue Firmware installiert werden kann und welche Firmwaredatei sich eignet.

Ich empfehle zwei Router:

  • Den Linksys WRT54GL (lange Zeit das Standardmodell für jede Art von OpenSource-Firmware, mit 50€ derzeitig in einer guten Preisklasse und erfolgreich an der Neuen Oberschule in Braunschweig getestet)
  • Den TP-Link TL-WR1043ND (viel Leistung für kleines Geld, z.B. WLAN nach N-Standard, Gbit-Switch, USB-Port - das macht ihm für rund 50 Euro kaum einer nach)

Einstellungen am Router

Integration in das IServ-Netz

Der Router muss zunächst in das interne Netzwerk des IServ integriert werden.

Adminoberfläche freigeben

Damit wir den Router auch über seinen WAN-Port erreichen können, muss zusätzlich sein Admin-Interface freigegeben werden. Dies kann unter Administration -> ??? einstellen. Dort kann man ebenfalls die Sprache von Englisch auf Deutsch ändern, falls noch nicht getan.

Grundlegende Einstellungen

Einstellungen in dd-wrt

Die Grundlegenden Einstellungen sind unter Setup->Basis-Setup einstellen. Dd-wrt-network.png

Als erstes ist es hilfreich den Verbindungstyp auf dynamische IP einzustellen. Weiter kann man unter Routername, den Namen angeben, der auch im IServ eingetragen wurde, dieser erscheint dann auch als Tabtitel. Nun muss unter Lokale-IP-Adresse anstatt 192.168.1.1 ein andere IP, die nicht vom IServ genutzt wird, gewählt werden, als Beispiel 192.168.2.1 . Zudem darf der Router nach innen nicht als DHCP-Server auftreten - das macht ja schließlich der IServ selbst. Diese Einstellung findet man unter Setup -> Basis-Setup. Dort muss man die Einstellung DHCP-Server von Einschalten auf Ausschalten gewechselt werden.


Konfiguration von Chillispot

Die Konfiguration von Chillispot findet man unter Services->Hotspot in der Kategorie Chillispot Zunächst muss Chillispot eingeschaltet werden, danach kann man die Felder wie Folgt ausfüllen:

Einbindung des Routers am IServ