WLAN Hotspot mit Chillispot(DD-WRT), Freeradius und MySQL unter Ubuntu

Heute mal ein etwas außergewöhnliches Tutorial. Wir richten einen WLAN-Hotspot ein, wie er zum Beispiel in einem Café, oder ähnlichem, zur Versorgung der Kunden mit drahtlosem Internet dienen könnte.

Für dieses Tutorial gehe ich von folgenden Vorraussetzungen aus:

Hardware:

  • Ein Router auf dem DD-WRT v2.4 (standard) lauffähig ist (Liste der unterstützten Geräte)
  • Ein Rechner (auch gerne etwas älter) auf dem die Ubuntu Server Edition läuft. Netzwerkzugang sollte er natürlich auch haben.

Netzwerk:

  • Getrennte Netze für das Gäste-WLAN (192.168.182.0/24) und das interne LAN (192.168.1.0/24)
  • Internet-Zugang erfolgt direkt über den Router, der auch das WLAN bereitstellt
  • IP-Adressen:
    • Router/Access-Point (Gateway, DNS): 192.168.1.1
    • Radius/Webserver: 192.168.1.254

Software:

  • DD-WRT v24 standard auf dem Router; Chillispot ist darin integriert
  • Freeradius (RADIUS-Server) zur Verwaltung der Gastzugänge (für Zeitbasierte Zugänge z.B.)
  • Apache 2 zur Anzeige der Login-Seite
  • MySQL zum halten der Daten die Freeradius verwendet

Einrichtung des Routers

Auf die Grundeinrichtung des Routers werde ich hier nicht eingehen, nur die Einstellungen für unser Setup werden kurz erwähnt.

Generelles Setup

Über den Tab "Setup"->"Basic Setup" muss der DHCP-Server ausgeschaltet werden, da dieser sonst mit dem Chillispot-internen kollidiert

WLAN Setup

Über den Tab "Wireless" das W-LAN einrichten, allerdings sollte die Verschlüsselung deaktiviert werden, da wir unsere Zugänge ja von Chillispot und Freeradius verwalten lassen.

Chillispot Setup

Unter dem Tab "Services->HotSpot" finden wir die Chillispot-Konfiguration.

Wie welche Felder auszufüllen sind, ist weiter unten beschrieben.

Erklärung der Optionen:

  • Chillispot - Aktivieren der Chillispot-Funktionalität auf dem Router
  • Seperate Wifi from LAN Bridge - Läßt zu, dass das Ethernet per Kabel, ohne Anmeldung genutzt werden kann.
  • Primary Radius Server - IP-Adresse des Radius-Servers
  • Backup Radius Server - wenn nur ein Radius-Server selbe IP wie oben
  • DNS IP - IP des DNS-Servers der an die Nutzer verteilt werden soll (i.d.R. der lokale Router)
  • Remote Network - Das Netz aus dem die Clients IP-Adressen bekommen (192.168.182.0/24 heißt 192.168.182.1 bis 192.168.182.254 - siehe http://de.wikipedia.org/wiki/Subnetz)
  • Redirect URL - Hierher werden die Nutzer umgeleitet um sich am HotSpot anzumelden
  • Shared Key - Damit wird die Verbindung zum Radius-Server verschlüsselt
  • DHCP-Interface - Netzwerkschnittstelle an die Chillispot gebunden werden soll (i.d.R. wl0 oder eth1, sollte auf jeden Fall das W-LAN-Interface sein)
  • Radius NAS ID - Name des AccessPoints (frei wählbar)
  • UAM Secret: Mit diesem Schlüssel wird die Verbindung zur der Seite verschlüsselt auf der die Nutzer Benutzername und Passwort angeben müssen
  • UAM Any DNS - legt fest ob der Nutzer einen selbst definierten DNS-Server benutzen darf (sollte man aus Sicherheitsgründen bei 0 belassen; nur auf 1 setzen, wenn man weiß was man tut)
  • UAM allowed - Hier können Domains eingetragen werden, die auch ohne Anmeldung zugänglich sein sollen (wichtig zum Beispiel wenn man die Bezahlung des Zugangs über einen externen Anbieter löst)
  • MACauth - legt fest ob die Authentifizierung der Nutzer über deren MAC-Adresse(http://de.wikipedia.org/wiki/MAC-Adresse) erfolgen soll. Wollen wir hier aber nicht
  • Additional Chillispot Options - Hier können weitergehende Optionen, wie z.B. Begrenzung der verteilten IP-Adressen ("dynip 192.168.182.128/26" für 192.168.182.128 bis 192.168.182.191) oder das Festlegen eines zweiten DNS-Servers ("dns2 8.8.8.8), für Chillispot angegeben werden, die aber für den Basisbetrieb nicht notwendig sind.

Installation des Servers:

Ich verwende Ubuntu Server Edition 10.04 als Basis. Wenn ihr eine andere Version benutzt, achtet bitte darauf, das ihr Freeradius in der Version 2.x zu benutzen, mit Version 1 wird dieses Tutorial nicht funktionieren.

Installation der Pakete

Apache/MySQL

sudo tasksel install lamp-server

Damit werden in einem Rutsch Apache, MySQL und PHP installiert.

Freeradius

sudo apt-get install freeradius freeradius-mysql

Chillispot (wird benötigt für die Anmeldeseite)

sudo apt-get install chillispot

Die Fragen die bei der Installation einfach ohne Eingabe mit Enter bestätigen. Chillispot muss hier nicht konfiguriert werden, da wir nur das Login-Script brauchen.

Konfiguration

Konfiguration von Apache

Für das Zusammenspiel mit Chillispot ist es nötig, dass der Webserver eine per SSL verschlüsselte Verbindung anbietet. Problematisch dabei ist, dass bei der Verwendung eines selbst signierten Zertifikats beim Aufrufen der Login-Seite der Browser eine Warnung anzeigen wird. Um das zu umgehen sollte man die Login-Seite hinter ein 'offiziell' signiertes Zertifikat legen. Darauf werde ich allerdings hier nicht eingehen, da das den Rahmen sprengen würde.

Also generieren wir uns unser SSL-Zertifikat erstmal selbst:

sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

Die Option '-days' besagt wie lange das Zertifikat gültig sein soll. Bitte den eigenen Vorlieben anpassen. Die geforderten Eingaben sind beliebig zu wählen. Lediglich bei 'Common Name' sollte der Hostname des Servers benutzt werden.

Damit Apache das Zertifikat findet, muss noch ein Symlink angelegt werden. Dabei darauf achten, das in Zeile 3 keine normalen Apostrophe, sondern so genannte Backticks (Akzent-Zeichen) verwendet werden müssen. da sonst der Befehl fehlschlägt:

sudo ln -sf /etc/apache2/apache.pem /etc/apache2/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/apache.pem`.0
sudo chmod 600 /etc/apache2/apache.pem

Anschließend aktiviert man das SSL-Modul mit einem

sudo a2enmod ssl

aktiviert die Standard Apache SSL-Site

sudo a2ensite default-ssl

Zu guter Letzt wird das Login-Formular entpackt und an die passende Stelle gelegt:

sudo zcat /usr/share/doc/chillispot/hotspotlogin.cgi.gz > /usr/lib/cgi-bin/hotspotlogin.cgi
sudo chmod 755 /usr/lib/cgi-bin/hotspotlogin.cgi

In dieser Datei müssen noch eine Option angepasst werden, das Passwort dafür habt ihr bei der Konfiguration von Chillispot bei "UAM Secret" festgelegt:

$uamsecret = "nochmalgeheim";

Danach die Apache-Konfiguration neu laden,

sudo /etc/init.d/apache2 force-reload

und testen ob man die Seite https://[server-ip]/cgi-bin/hotspotlogin.cgi erreichen kann. (Dort sollte die Meldung "Chillispot Login failed" erschienen, was aber normal ist, da wie nicht von Chillispot auf diese Seite umgeleitet wurden.)

Falls die Seite angezeigt wird, kann direkt mit der Einrichtung von Freeradius weitergemacht werden, falls nicht, nochmal alles checken und gegebenenfalls berichtigen.

Konfiguration von Freeradius

Zuerst muss unser Access-Point (mit der IP 192.168.1.1) als Client akzeptiert werden. Dazu bearbeitet man die Datei '/etc/freeradius/clients.conf' und fügt folgende Zeilen am Ende der Datei ein:

client captive-portal {
    ipaddr = 192.168.1.1
    secret = ultrageheim
    nastype = other
}

Der Name hinter "client" sollte der selbe sein, den ihr im Feld Radius NAS ID in der Chillispot-Konfiguration verwendet habt sein. "ipaddr" sollte die IP-Adresse des Access-Points sein, "secret" der in der Chillispot-Konfiguration festgelegte "Shared Key". "nastype" sollte wie hier auf 'other' gesetzt werden.

Anbindung von Freeradius an die MySQL-Datenbank

Datenbank anlegen

mysql -u root -p
Enter password:
  1. mysql> CREATE DATABASE radius;
  2. mysql> quit

Tabellen für Freeradius aus den Vorlagen importieren

mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

Benutzer anlegen und ihm Rechte an den Tabellen geben

mysql -u root -p
Enter password:
  1. GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'sicherespasswort';
  2. FLUSH PRIVILEGES;
  3. quit

Radius für MySQL konfigurieren

In Datei '/etc/freeradius/radiusd.conf' müssen die Zeilen '$INCLUDE sql.conf' und '$INCLUDE sql/mysql/counter.conf' vom Kommentarzeichen befreit werden. Sollte dann hinterher so aussehen:

...
$INCLUDE sql.conf
...
$INCLUDE sql/mysql/counter.conf
...

Die erste Zeile aktiviert die generelle Nutzung der SQL Datenbank, die zweite aktiviert die Nutzung von SQL zur Verwaltung der Zeitbasierten Zugänge. In der Datei 'counter.conf' werden die MySQL-Abfragen definiert die das Verwalten der Zeitkonten regeln. Mit geeigneten SQL-Kenntnissen kann man sich hier gerner mal umschauen.

In der Datei '/etc/freeradius/sql.conf' die folgenden Zeilen ensprechend ändern um Freeradius die Zugangsdaten für den MySQL-Server mitzugeben:

server = "localhost"
login = "radius"
password = "sicherespasswort"

Außerdem müssen in der Datei '/etc/freeradius/sites-available/default' Änderungen gemacht werden. Die Datei ist in Sektionen unterteilt die jeweils mit einem 'name {' beginnen.
In der Sektion 'authorize' muss es heißen:

...
#files
sql
...

In der gleichen Sektion müssen am Ende diese drei Optionen hinzugefügt werden. Sie werden für die Zeitbasierten Zugänge gebraucht.

noresetcounter # Zuständig für zeitlich begrenzte Zugänge (dieser wird von uns verwendet)
dailycounter   # Zuständig für Tageslimits, die aber jeden Tag zurückgesetzt werden
monthlycounter # Zuständig für Monatslimits, die aber jeden Monat zurückgesetzt werden

Wir werden zwar nur den 'noresetcounter' brauchen, aber wenn wir schonmal hier sind, kann es nicht schaden, die anderen beiden auch einzutragen. Kurz zur Beachtung: Wir verwenden nicht den 'dailycounter', da dessen "Zähler" jeden Tag zurückgesetzt wird, und der Zugang so dauerhaft aktiv bleibt, was wir in unserem Café natürlich nicht wollen (Die Sätze nach den # müsst ihr übrigens nicht mit eintragen 😉 ).

In der Sektion 'accounting':

...
sql
...

In der Sektion 'session':

...
sql
...

Also jeweils das Kommentarzeichen vor den 'sql'-Zeilen entfernen. Das ist nötig damit freeradius SQL zur Konfiguration und zum Steuern der Zeitbasierten Konten benutzt.

anschließend kann man mit dem Befehl

sudo freeradius -XXX

testen ob der Server einwandfrei startet und man keinen Fehler in die Konfiguration gebaut hat. Wenn am Ende die Zeile

Info: Ready to process requests.

erscheint, war die Konfiguration zumindest für den Server selbst in Ordnung.
Falls alles erfolgreich verläuft beendet man den Freeradius Testmodus mit STRG-C und startet freeradius neu:

sudo /etc/init.d/freeradius restart

Danach sollte unser Hotspot fertig zur Benutzung sein.

Ein erster Test

Um unser Setup zu testen legen wir zunächst einen neuen Benutzer an, der den Hotspot nutzen darf. Wir tun das über das Terminal, generell kann man aber auch phpMyAdmin (oder eine Alternative) benutzen.

Benutzer und Zeitkonto anlegen

Die Tabelle für die Benutzerzugänge besteht aus 5 Spalten:

  • id (wird automatisch ausgefüllt)
  • username (der name unseres Benutzers
  • attribute (die Option die wir festlegen wollen
  • op (Operator, mit dem die Zuordnung von Attribut und Wert gemacht wird)
  • value (Wert gegen den das Attribut verglichen wird)

Dieses Layout erlaubt es in dieser Tabelle nicht nur das Passwort für einen Benutzer festzulegen, sondern zum Beispiel auch die Werte für die Zeitbegrenzung der Zugänge.

mysql -u root -p radius
  1. INSERT INTO radcheck VALUES ('','test0001','Password',':=','testpasswort');
  2. INSERT INTO radcheck VALUES ('','test0001','Max-All-Session',':=','3600');

Diese beiden Queries legen einen Benutzer mit Namen 'test0001' und Passwort 'testpasswort' an. Zusätzlich geben wir ihm 3600 Sekunden (1 Stunde) auf sein Zeitkonto. Nach deren Ablauf wird er automatisch ausgeloggt.

Mit diesem Benutzer kann man jetzt testen ob das Setup funktioniert, in dem man einen Client mit dem Drahtlosen Netzwerk verbindet und schaut ob man

  1. beim Aufruf einer beliebigen Internetseite auf die Login-Seite umgeleitet wird
  2. Sich mit unserem Test-Benutzer einloggen und danach surfen kann

Zum testen kann man das Zeitlimit auch kleiner wählen um zu sehen ob das automatische Rauswerfen auch funktioniert.

Nachbereitung

Einen funktionierenden Hotspot haben wir nun, aber was fehlt noch?
Nun zu erst fehlt natürlich ein komfortabler Weg um die Nutzerzugänge zu verwalten. Leider waren die die ich bisher getestet habe eher mäßig bis nicht zu gebrauchen. In der Richtung müsstet ihr also selbst mal suchen, oder selbst ein kleines Skript oder Interface zusammenschrauben, die SQL-Anbindung macht das ganze eigentlich ganz gut anpassbar.

Zweiter Punkt wäre eine Firewall um euren Gästen zum Beispiel nur den Zugang zu den Ports 80(http) und 443(https) zu erlauben (hier sollte man auch an Ports für VPN-Verbindungen denken), da man sonst ein nicht zu unterschätzendes Sicherheitsrisiko (z.B. durch P2P-Verkehr) eingeht. Anleitungen um das mit DD-WRT zu bewerkstelligen findet ihr im DD-WRT-Wiki.

Als letztes fehlt euch natürlich noch das passende Cafe und die zahlenden Gäste, aber dafür sorgt ihr besser selbst!

Disclaimer

Zum Schluss natürlich noch der Hinweis, das ich dieses Tutorial nach bestem Wissen und Gewissen erstellt und getestet habe, es aber natürlich Fehler enthalten kann, bzw. durch unsachgemäßen Gebrauch zu unvorhersehbaren Folgen führen kann, für die ich natürlich keine Haftung übernehmen kann. Alles auf eigene Gefahr.

105 Gedanken zu „WLAN Hotspot mit Chillispot(DD-WRT), Freeradius und MySQL unter Ubuntu

  1. Pingback: Tweets die WLAN Hotspot mit Chillispot(DD-WRT), Freeradius und MySQL unter Ubuntu: Heute mal ein etwas außergewöhnliches Tuto... erwähnt -- Topsy.com

  2. DIDIOpladen

    Nicht schlecht – nur leider fehlt mir der passende Router, eine Sendeantenne und leider auch das Cafe ROFL

    Disclaimer bei Tutorial find ich ja lustig, hab ich noch nie gesehen – auch nicht gehört, daß man den Author damit an die Karre :-X wollte

    Grüße DIDIOpladen

  3. mraero

    Danke für diesen sehr guten Beitrag!

    Interresant wäre es, das ganze ohne Router zu machen, sondern z.B. einen FitPC zu verwenden, der WLAN-Acesspoint & Radius-Server gleichzeitig ist.
    Gibt es Chillispot auch normal/einzeln für Linux?

  4. zero Beitragsautor

    @maraero: klar, du kannst chillispot auch direkt auf dem Server installieren (apt-get install chillispot). Geeignete WLAN-Karte vorrausgesetzt. Erlaubt sicher auch eine etwas ausgefeiltere Konfiguration von Chillispot, da man die Konfigurationsdatei direkt bearbeiten kann.

  5. skara

    Super Tutorial. Leider hat sich ein Typo eingeschlichen. Einmal ist’s „sicherespassword“ und dann „sicherespasswort“.

    Zum Thema Nutzerzugänge verwalten bin ich über daloradius.sf.net gestolpert.

  6. zero Beitragsautor

    @skara: Danke! Typo berichtigt.

    Ja, Daloradius hatte ich mir auch angeschaut, konnte mich aber nicht wirklich überzeugen. Dazu hatte ich auch noch phpMyPrepaid, easyHotSpot und dialupadmin probiert, mit gleichem, eher ernüchternden Ergebnis.

  7. skara

    Mein Projekt – kostenloser Wifi-Hotspot in einem Cafe mit Logging der Verbindungsdaten zur rechtlichen Absicherung wegen Abmahnungen und so weiter – nimmt langsam Formen an. Danke deines Tutorials konnte ich das ganze schonmal zum laufen bekommen.
    Persönlich wünschte ich mir allerdings noch WPA. Hast du damit Erfahrungen gesammelt und wärst du so freundlich die dann ggf. auch zu veröffentlichen? Danke schonmal 🙂

  8. zero Beitragsautor

    @skara: freut mich das ich helfen konnte. Zu WPA:
    Ich hab mich natürlich darüber informiert, bin aber nicht zur Ausführung gekommen, aus mehreren Gründen:

    1. die Konfiguration erscheint mir recht Aufwändig, zumindest wenn man auch dort Radius verwendet.
    2. müsste der Nutzer, nach meinem Verständnis, 2 mal Benutzername und Passwort eintippen, einmal für die Verschlüsselung und einmal für die Anmeldung am CaptivePortal.
    3. Nicht jeder Client kommt gleich gut mit WPA2-Enterprise(und allem was da so dran hängt) klar, und du willst wahrscheinlich keinen extra Helpdesk einrichten für diejenigen bei denen es nicht klappt.
    4. Ich kenne das Zusammenspiel WPA-Radius aus der Uni, und das hatte eine echte Blinker-Mentalität: Geht, Geht nicht, Geht, Geht nicht… nennen wirs mal schlechte Erfahrungen 😉

    Alternativ könnte man schlicht den WPA-Key mit den Nutzerzugängen verteilen, aber dann kann man es auch gleich sein lassen, es sei denn man wechselt den Key täglich.

    Prinzipiell sehe ich auch wenig Sinn in WPA für solch ein „Cafe-Netz“. Jeder der rein will, kauft sich halt nen Kaffee, und ist drin.

  9. Stefan Kollmann

    Hi –
    ich habe einen Hotspot unter Ubuntu aufgesetzt – dieser arbeitet mit chillispot und openwrt und 2 „normalen“ Netzwerkkarten.

    Das System arbeitet auch soweit gut – allerdings hänge ich noch an einem kleinen Problem, für das ich keine Lösung finde:

    Ein User kann sich wunderbar einloggen – und nach 24h wird die Verbindung auch getrennt.
    Allerdings kann er sich dann direkt wieder mit den (abgelaufenen) Zugangsdaten einloggen.

    Zur Benutzerverwaltung habe ich dialupadmin konfiguriert…

    Falls jemand eine idee haben sollte, wäre ich für eine Mail an sk @ csk-ohg.de (natürlich ohne Leerzeichen) dankbar.

    Beste Grüße,

    Stefan

  10. Marco

    Super howTo! Habs auch soweit alles am laufen. Clients am Spot bekommen per DHCP die Daten. Will man nun aber ins Netz passiert garnix keine Weiterleitung auf die Anmeldeseite. Es kommt ein Timeout das unter z.B. http://www.google.de kein Webserver gefunden werden konnte. Hat das Problem schon mal wer gehabt?

    FW ist mega v24 SP 2 vom 24.9.09.

    Schöne Grüße

  11. Sascha

    Hallo,

    habe das gleiche Problem wie Marco, IP-Adresse wird zugewiesen, aber keine Weiterleitung auf die Anmeldeseite …

  12. zero Beitragsautor

    @Marco + Sascha: könnt ihr den Rechner auf dem die Anmeldeseite liegt direkt erreichen (per ping etc.)?
    Stimmt die URL zur Anmeldeseite?
    Stimmt das UAM Secret überein?
    Evtl. mal versuchen die Anmeldeseite per https auszuliefern und anzusteuern.

  13. Marco

    Hi,
    Ein ping ist weder aufs Gateway also das Seperate WLAN netz, noch auf den Webserver möglich. Von anderen Rechnern kann ich natürlich den Websrver erreichen. Das UAM secret ist identisch. Wenn dieses nicht übereinstimmt wird auch kein DHCP Ticket verteilt.

    URL ist auch korrekt und wird logischerweise als https ausgeliefert. Ebenso natürlich auch entsprechend abgefragt.

  14. zero Beitragsautor

    @Marco: liegt die IP des Webservers im gleichen Subnetz wie die des Clients?

  15. Marco

    Hi,
    negativ.

    Der Server liegt in einem anderen Subnetz.
    192.168.182.xxx bekommen ja die hotspot clients vom chilispot.
    Der Server liegt in einem 192.168.3.xxx Netz. Die IP´s werden von meinem Gateway verteilt. Im Chilispot gerät ist der dhcp auch aus und das chilispot netz ausgekoppelt ( not bridged ) von den anderen.

  16. winnetou

    Hi,

    ich würde gerne mehr Infos zur WPA-Enterprise Verschlüsselung haben.
    Hast du da evtl. ein Link zu einem How-To?

  17. Puri

    Ich habe das gleiche Problem dass die Seiten nicht aufgelöst werden, und auf einer anderen Seite mit einer analogen Anleitung zu OpenWRT (http://www.davonet.de/index.php?option=com_content&view=article&id=49&Itemid=62) gefunden, dass beim Deaktivieren des DHCPs auch der DNS Forwarder ausgeschalten wird.

    Folgendes ist dort zu lesen:
    Durch die Abschaltung des DHCP-Servers wird jedoch auch der lokale Nameserver ausgeschaltet. Damit die Namensauflösung bei den Hotspot-Nutzern trotzdem funktioniert, kann der DNS-Server z.B. per Startup-Skript direkt gestartet werden.

    Unter dem Menüpunkt System/Startup sind folgende Zeilen einzufügen:

    # start dnsmasq for local dns cache
    /usr/sbin/dnsmasq&
    # restart chilli
    /etc/init.d/chilli stop
    /etc/init.d/chilli start

    Die Änderungen anschließend mit speichern.

    Leider hat das keinerlei Auswirkungen wenn ich es als Custum-Skript im dd-wrt laufen lasse. Hat noch jemand eine Idee?

  18. disem

    Funktioniert das ganze auch mit der letzten version vom Windows Freeradius?

    noresetcounter # Zuständig für zeitlich begrenzte Zugänge (dieser wird von uns verwendet)
    dailycounter # Zuständig für Tageslimits, die aber jeden Tag zurückgesetzt werden
    monthlycounter # Zuständig für Monatslimits, die aber jeden Monat zurückgesetzt werden

    Das wird z.B. abgelehnt

    Das Problem ist ich hab ein Windows 2003 Hosting und das ganze soll auf mehrere Standorten Zentral verwaltet werden.

    Gruß

  19. Thomas

    Hallo zusammen,

    ich habe einen Kunden übernommen, bei dem dies alles eingerichtet ist. leider funktionert es nicht mehr richtig. Nun komme ich aus der Windowswelt und habe dieses Tutorial versucht „nachzubauen“. Leider mit mässigem Erfolg. Für Hilfen gerne auch telefonisch wäre ich sehr dankbar und würde dafür auch „Taschengeld“ springen lassen.
    Kurz meine Konfiguration. Von der Telekom über einen Telekom Router kommt mein Internet an meine Testmaschine (Ubuntu 10.04, Laptop mit Lan Karte und WLAN). Router für Test WRT54GL. Für Hilfe von euch wäre ich sehr dankbar.

  20. Thomas

    Hallo leider habe ich bei meinem Kunden über 3 Etagen 3 Hotspots verteilt die über wds arbeiten. Mein Ubuntu Server läuft, und mein WRT-54GL wurde auch erfolgreich geflascht mit dd-wrt. Wie es aussieht hab ich wohl Probleme mit meiner Netzkonfiguration.

  21. zero Beitragsautor

    @Thomas: Was funktioniert denn genau nicht? Hast du dir mal die Logfiles von Freeradius angesehen, oder Freeradius im Debug-Modus zu betreiben und so den Fehler zu finden?

  22. Thomas

    Hallo,

    also vielleicht habe ich ein Verständnis Problem. Bei meinem Kunden läuft der Linuxrechner autark, damit meine ich erhängt nicht mehr fest im LAN. Die Authentifizierung läuft über die eingebaute WLAN Karte. Nun habe ich in meinem Homeoffice einen Laptop genommen (mit WLAN Karte) und die Installation laut howto durchgeführt.
    Welche IP Adresse gebe ich jetzt der Lankarte und welche IP Adresse gebe ich der WLAN-Karte?
    Vielen dank im Vorraus

  23. Thomas

    meinem Telekom Router hab ich die IP Adresse 192.168.1.4 mit DHCP 192.168.1.5-254 gegeben

  24. zero Beitragsautor

    Also ehrlich gesagt habe ich keine Ahnung was du eigentlich vorhast. Erklär bitte mal genau, was da genau die Anforderung (was soll das WLAN können: Simples Büronetz, WLAN mit Gastzugang, WLAN mit kostenpflichtigem Zugang…) ist und welche Hardware dazu zur Verfügung steht.

    (Das hier gezeigte Setup ist zum Beispiel für ein Cafe gedacht, das seinen Kunden Zugang zum Internet per WLAN erlauben will, dies aber zeitlich begrenzen möchte um Missbrauch zu vermeiden.)

  25. Thomas

    danke für deine Antowrt Zero also:

    Mein Kunde ein Hotel hat für seine Gäste ein Gäste-Wlan mit Hotspot und kostenpflichtigem Zugang. Da dieses aber immer wieder abraucht und seit Jahren nicht mehr gepflegt wurde , habe ich mich schlau gemacht mit welcher Software es realisiert wurde. Zu diesem Zweck habe ich es mir zuhause nachgebaut. Und solange ich es hier bei mir im Test nicht zum laufen bekomme, kann ich das angeschlagene WLAN beim Kunden nicht neu aufsetzten. Kunde hat daloradius noch und hier kommen schon Fehlermeldungen bei den SQL Datenbanken.

  26. Thomas

    Mien Problem ist jetzt welche IP Adressen/GW trage ich jetzt bei meinem Ubuntu Server für die LAN und die WAN Geschichte ein

  27. Thomas

    oder gibt es bei Linux auch die Möglichkeit das du dich aufschalten könntest?

  28. Thomas

    bei sudo freeradius -xxx kommt

    Tue Nov 30 14:05:00 2010 : Error: Failed binding to authentication address * port 1812: Address already in use
    Tue Nov 30 14:05:00 2010 : Error: /etc/freeradius/radiusd.conf[240]: Error binding to port for 0.0.0.0 port 1812

  29. zero Beitragsautor

    das liegt daran das freeradius im hintergrund noch läuft:

    sudo /etc/init.d/freeradius stop

    und dann nochmal.

    Wenn du willst kontaktier mich mal per jabber(ben@einfachjabber.de) oder skype (zeroathome) oder wenns sein muss auch per icq (46758861)

  30. Thomas

    hallo bin fast am Ziel:
    Verbindungsspezifisches DNS-Suffix: key.chillispot.info
    Verbindungslokale IPv6-Adresse . : fe80::bd1c:8c79:cab7:7ddd%13
    IPv4-Adresse . . . . . . . . . . : 192.168.182.2
    Subnetzmaske . . . . . . . . . . : 255.255.255.0
    Standardgateway . . . . . . . . . : 192.168.182.1

    hat jemand auch diese GW Adresse?
    @ Marco+Sascha habt ihr euer Problem gelöst? Wie Ihr seht bei mir genau dasselbe

  31. Bastian

    Hallo,

    ich möchte das sich mit einem account auch nur ein rechner einloggen kann. Hat da jemand eine Lösung? Die Mac-Adressen werden ja gespeichert.

    Gruß

    Bastian

  32. Thomas

    hallo zusammen,

    bin fast am Ziel habe jetzt internetverbindung auf dem router meine ip adressen stimmen jetzt auch allerdings bekomme ich die anmeldeseite noch nicht fehlermeldung beim stoppen und starten von chillispot:

    root@ubuntu:~# sudo /etc/init.d/chillispot stop
    root@ubuntu:~# sudo /etc/init.d/chillispot start
    chillispot[2365]: chilli.c: 202: URL must start with http:// or https:// –uamsecret=nico1pia!
    chillispot[2365]: chilli.c: 407: Failed to parse uamhomepage: –uamsecret=nico1pia!
    root@ubuntu:~#

    kann mir jemand weiterhelfen?

  33. Malu

    also ich hab alles nach anleitung und der Radius arbeit auch ohne Errors und so aber wenn ich mich im Interface anmelden will heißt es immer wieder Login Failed. Was hab ich falsch gemacht.

  34. zero Beitragsautor

    Hi,
    Ich kann mich eigentlich nur wiederholen: Das hier beschriebene Setup funktioniert, wenn bei der Einrichtung keine Fehler gemacht wurden. Also, bitte nochmal alles checken, Logfiles überprüfen etc. Das Setup ist alles andere als trivial und es ist sehr, sehr leicht dabei einen schwer auszumachenden Fehler zu begehen. Aber nochmal:Es funktioniert definitiv!

  35. Malu

    also habe versucht mal den Fehler zusuchen in dem ich es über die Konsolle versucht habe mit:

    radtest test1234 testpastwort 127.0.0.1 1812 0 nochmalgeheim

    Sending Access-Request of id 75 to 127.0.0.1 port 1812
    User-Name = „test1234“
    User-Password = „testpasswort“
    NAS-IP-Address = 127.0.1.1
    NAS-Port = 1812
    Framed-Protocol = PPP
    rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=75, length=20
    rad_verify: Received Access-Reject packet from client 127.0.0.1 port 1812 with invalid signature (err=2)! (Shared secret is incorrect.)
    radclient: no response from server for ID 75 socket 3

    Bloß sagt mir die Fehlermeldung nicht viel könnt ihr mir was dazu sagen?

  36. zero Beitragsautor

    „Shared secret is incorrect.“ – das ist glaube ich die relevante Zeile. Da stimmen entweder der Shared-Key nicht oder das UAM Secret.
    Darauf achten das die sachen überall gleich lauten, auch in der hotspotlogin.cgi muss das eingetragen werden zB.

  37. Malu

    Aber der UAM Secret ist im Router: nochmalgeheim und im Hotspotlogin auch nochmalgeheim und im konsollen befehl auch: nochmalgeheim. Also Müsste es doch gehen.

  38. Thomas

    @ Malu:

    hast du die befehle und konfigurationen per copy and paste auf dein system übertragen?

  39. Thomas

    @ malu

    hast du diese Zeilen:

    noresetcounter # Zuständig für zeitlich begrenzte Zugänge (dieser wird von uns verwendet)
    dailycounter # Zuständig für Tageslimits, die aber jeden Tag zurückgesetzt werden
    monthlycounter # Zuständig

    mit den Kommentaren drin?

    wenn ja lösch hier mal die kommentare raus, das war bei mir der Fehler, hier ist irgendein druckzeichen drin

  40. Malu

    Die Kommentare hab ich von anfang an nicht rein geschrieben weil ich mir so was schon dachte. Also ich werde heute abend wenn ich zuhause bin noch mal auf einem anderen server mit ubuntu server einen reinen radius installieren ohne mysql um zu gucken ob es am radius oder and er kombination zwischen radius und mysql liegt als an den konfiguration liegen tut.

  41. Thomas

    Bei mir funktionert soweit alles zero, hat echt ahnung. Wenn ich jetzt aber einen weiteren WRT54gl setzte und wds einschalte, muss auf diesen dhcp eingeschaltet werden oder auch chillispot?

  42. zero Beitragsautor

    Danke für die Blumen erstmal 🙂

    Normalerweise solltest du am nächsten AccessPoint weder DHCP server noch Chillispot aktivieren müssen, dieser sollte einfach nur das Netz das vom Hauptrouter kommt durchreichen.

  43. Thomas

    Ok nur WDS einschalten. Die Verbindung steht pings funtionieren.
    doch leider bekommt der wlanclient keine IP vom chillispot also auch keine anmeldeseite
    gibt es ein chillilog? oder was muss ich noch beachten?

  44. BEPE

    Es gibt im Netz eine Loginseite php basierend (http://www.chillispot.info/chilliforum/viewtopic.php?id=18) ganz unten.

    Ich hab den HTTPS required Teil gelöscht, weil mein Webspace probleme mit SSL macht.

    Was könnte man da mitlesen?

    Es wäre doch egal ob jemand den Shared Key(vom Radius) oder das UAM Secret hätte, da jeder sich mit seinem Zugang anmelden muss?

  45. BP

    Hallo,

    Max-All-Session funktioniert bei mir nicht, wenn ich auslogge bleibt die zeit stehen. Also hätte man sozusagen die volle Onlinezeit.

  46. Dee

    @BP:
    SELECT SUM(AcctSessionTime) FROM radacct WHERE UserName=’Test0001′;
    Zeigt Dir die gesamte Zeit an, die Du mit dem Account verbraucht hast.

    @Zero und @All:
    Bei mir funktioniert alles, bis auf DNS!?
    Die Clients bekommen einen DNS Server zugewiesen, nämlich die Adresse des Routers (hier im Beispiel die 192.168.1.1). Er lässt sich auch Pingen.
    Aber nslookup sagt „DNS request timed out.“
    Hat jemand eine Idee, was ich falsch gemacht oder vergessen habe?

    Letztes Thema:
    Für eine rechtliche Absicherung ist es mir wichtig, die Zugriffe auf Webseiten zu loggen. Wie habt ihr das gelöst?

  47. Dee

    Tipp:
    Es hat mir geholfen, den DHCP Server unter „/Setup/Basic“ auszuschalten, weil ich sonst ständig falsche IPs bekommen habe.
    Der Chillispot hat einen eigenen DHCP.

    Mein DNS Problem ist noch nicht gelöst.

Kommentare sind geschlossen.