Problem mit relativen Ablaufzeiten mit PublicSpot, WLC-4025

Forum zum LANCOM WLC-4100, WLC-4025+, WLC-4025 und WLC-4006 WLAN-Controller

Moderator: Lancom-Systems Moderatoren

Antworten
Frank42
Beiträge: 5
Registriert: 30 Okt 2012, 13:36

Problem mit relativen Ablaufzeiten mit PublicSpot, WLC-4025

Beitrag von Frank42 »

Liebes Forum,

beim Anlegen von PublicSpot-Benutzern scheint die relative Ablaufzeit nicht korrekt zu funktionieren.

Mein Ziel ist es, eine größere Anzahl (ca. 200) Vouchers anzulegen, welche jeweils eine maximale Dauer von 8 Stunden ab der ersten Nutzung haben (z.B. für Gäste, welche das Gastnetz für den Tag ihrer Anwesenheit nutzen dürfen). Die Vouchers werden im Voraus generiert und bei Bedarf ausgegeben.

Die Nutzung des Gastnetzes sollte nach Ablauf der 8 Stunden nicht mehr möglich sein, außerdem sollte der Gastaccount automatisch gelöscht werden.

Die 8 Stunden verstehe ich so, dass exakt 8 Stunden nach dem ersten Login keine weitere Nutzung des Gastnetzes mehr möglich ist, unabhängig von der tatsächlichen Verbindungsdauer.

Dies scheint aber trotz einer aus meiner Sicht richtigen Konfiguration nicht zu funktionieren.

Die von mir durchgeführten Test-Schritte sind die folgenden:

Schritt 1.) Benutzer wird über die Controller-Weboberfläche angelegt: "Setup-Wizards" -> "Public-Spot-Benutzer einrichten"
Die Einstellungen sind die folgenden:
- Startzeitpunkt des Zugangs: erster Login
- Gültigkeitsdauer: Voucher verfällt nach: 365
- Dauer: 8 Stunden
- Anzahl Voucher: 1
- Zeit-Budget (Minuten): 0
- Volumen-Budget (MByte): 0

Schritt 2.) Gast loggt sich über das PublicSpot-Netz ein. Nun sollte nach meinem Verständnis eine Nutzung des Netzes durch den Gast für die nächsten 8 Stunden möglich sein.

Schritt 3.) Gast nutzt das Netz für einen bestimmten Zeitraum (z.B. 1 Stunde) und schaltet dann seinen Rechner aus (bzw. beendet alternativ seine WLAN-Sitzung)

Schritt 4.) Gast loggt sich am darauffolgenden Tag erneut ein. Das gewünschte Ergebnis wäre aus meiner Sicht, dass sich der Gast nicht mehr einloggen kann, da sein erster Login mehr als 8 Stunden zurück liegt. Das tatsächliche Ergebnis ist hingegen, dass sich der Gast erneut einloggen kann und ihm ein verbleibendes Zeitkontingent von 8 Stunden angezeigt wird.

Die Konfiguration ist die folgende:
- 1 x WLAN-Controller WLC-4025
- 24 x Access Points L-315agn
- Firmware-Version 8.62.005RU2 (07.08.2012) auf Controller und Access Points
- freigeschaltete PublicSpot-Funktion
- PublicSpot verwendet den internen Radius-Server des WLC

Darüber hinaus ist mir aufgefallen, dass unter "Setup-Wizards" -> "Public-Spot-Benutzer verwalten" die Online-Zeit, der Traffic, die MAC-Adresse und die IP-Adresse auf 0 (bzw. 0/0, 00:00:00:00:00:00, 0.0.0.0) stehen, sowie der Status auf "Unauthentifiziert" bleibt. Nach meinem Verständnis sollte hier nach dem Login eines Gastes die dazugehörige Information aktualisiert werden.

Die Radius-relevanten Einstellungen auf dem Controller sind die folgenden:

<1.2.24.3>
(1.2.24.3.1.1) = LOCALHOST
(1.2.24.3.1.2) = 127.0.0.1
(1.2.24.3.1.3) = 1812
(1.2.24.3.1.4) == 7a5c46
(1.2.24.3.1.9) = 127.0.0.1
(1.2.24.3.1.11) = 0
(1.2.24.3.1.5) = 127.0.0.1
(1.2.24.3.1.6) = 1813
(1.2.24.3.1.7) == 7a5c46
(1.2.24.3.1.10) = 127.0.0.1
(1.2.24.3.1.12) = 0
(1.2.24.3.1.8) =
1.2.24.7 = 60
1.2.24.14 = 14400
1.2.24.17 = 0

{TCP/IP}
1.2.25.4 = 10000
1.2.25.5 = 10
1.2.25.9 = 0
1.2.25.10.1 = 1812
1.2.25.10.11 = 1813
1.2.25.10.13 = 0
1.2.25.10.15 = 1
<1.2.25.10.2>
(1.2.25.10.2.1.1) = 127.0.0.1
(1.2.25.10.2.1.3) = 255.255.255.255
(1.2.25.10.2.1.4) = 0
(1.2.25.10.2.1.2) == 7a5c46

Der von mir angelegte Gastaccount sieht im WLC-Radius folgendermaßen aus:

<1.2.25.10.7>
(1.2.25.10.7.201.1) = user39881
(1.2.25.10.7.201.5) =
(1.2.25.10.7.201.6) =
(1.2.25.10.7.201.2) == 7e050f5c0c03
(1.2.25.10.7.201.9) = 1
(1.2.25.10.7.201.13) = 3
(1.2.25.10.7.201.10) = p13211529102013
(1.2.25.10.7.201.14) = 28800
(1.2.25.10.7.201.11) = 0
(1.2.25.10.7.201.12) = 0
(1.2.25.10.7.201.15) = pubSpUser created by root on 29.10.2012 13:21:15 ()
(1.2.25.10.7.201.16) = 1
(1.2.25.10.7.201.3) = 0
(1.2.25.10.7.201.4) = 0
(1.2.25.10.7.201.7) = 0
(1.2.25.10.7.201.8) = 0

Der Login erfolgt mit der Benutzerkennung user39881@PSpot, da Benutzer ohne Realm an einen externen Radius-Server weitergeleitet werden (für ein vom PublicSpot-Netz unabhängiges WPA2-Enterprise-Netz für Firmenmitarbeiter mit separater SSID und separatem VLAN).

Für Tipps bezüglich der Konfiguration bzw. Bestätigung, dass es sich um einen Bug handelt wäre ich dankbar. Vielen Dank im Voraus!

Viele Grüße
Frank
Benutzeravatar
alf29
Moderator
Moderator
Beiträge: 6205
Registriert: 07 Nov 2004, 19:33
Wohnort: Aachen
Kontaktdaten:

Beitrag von alf29 »

Moin,

Taucht der mit dem Assistenten eingerichtete Benutzer in der Tabelle Status/TCP/IP/RADIUS/Server/Accounting/Accounting-Totals auf? Wenn ja, mit dem korrekter Uhrzeit & Datum der ersten Logins?
Darüber hinaus ist mir aufgefallen, dass unter "Setup-Wizards" -> "Public-Spot-Benutzer verwalten" die Online-Zeit, der Traffic, die MAC-Adresse und die IP-Adresse auf 0 (bzw. 0/0, 00:00:00:00:00:00, 0.0.0.0) stehen, sowie der Status auf "Unauthentifiziert" bleibt. Nach meinem Verständnis sollte hier nach dem Login eines Gastes die dazugehörige Information aktualisiert werden.
Ich weiß ehrlich gesagt nicht, woher der Assistent diese Infos holt, aber wenn er sie aus der Statustabelle des Public-Spot-Moduls holt, dann sind diese Informationen nur so lange vorhanden, wie eine laufende Session mit diesem Benutzer besteht.

Gruß Alfred
Frank42
Beiträge: 5
Registriert: 30 Okt 2012, 13:36

Beitrag von Frank42 »

Hallo Alfred,

vielen Dank für die schnelle Antwort.

Ja, in der Tabelle taucht der Benutzer auf.

Benutzername: user39881@PSpot
Zeit: 14659
Eingangs-Pakete: 15701
Ausgangs-Pakete: 13885
Eingangs-Oktette: 1781683
Ausgangs-Oktette: 4855538
Erstes-Login: 29.10.2012 13:25:15

Interessant finde ich hier, dass das Datum des ersten Logins korrekt erfasst wurde, es aber keine Konsequenzen für die Beendigung des Accounts zu haben scheint.

Die Zeitlinie ist die folgende:
- Anlegen des Accounts: 29.10.2012 13:21:15
- Erster Login laut Tabelle: 29.10.2012 13:25:15
- derzeitiges Datum und Uhrzeit: 30.10.2012 14:28

Account ist noch aktiv und zeigt bei Einloggen 8 verbleibende Stunden an. Nach aus- und wieder einloggen werden erneut 8 verbleibende Stunden angezeigt.

Viele Grüße
Frank
Benutzeravatar
alf29
Moderator
Moderator
Beiträge: 6205
Registriert: 07 Nov 2004, 19:33
Wohnort: Aachen
Kontaktdaten:

Beitrag von alf29 »

Moin,
Ja, in der Tabelle taucht der Benutzer auf.

Benutzername: user39881@PSpot
Zeit: 14659
Eingangs-Pakete: 15701
Ausgangs-Pakete: 13885
Eingangs-Oktette: 1781683
Ausgangs-Oktette: 4855538
Erstes-Login: 29.10.2012 13:25:15

Interessant finde ich hier, dass das Datum des ersten Logins korrekt erfasst wurde, es aber keine Konsequenzen für die Beendigung des Accounts zu haben scheint.
OK, dann mach mal eine RADIUS-Server-Trace, während der Benutzer sich anmeldet. Damit kann man sehen, ob der RADIUS-Server das korrekt auswertet.

Gruß Alfred
“There is no death, there is just a change of our cosmic address."
-- Edgar Froese, 1944 - 2015
Benutzeravatar
alf29
Moderator
Moderator
Beiträge: 6205
Registriert: 07 Nov 2004, 19:33
Wohnort: Aachen
Kontaktdaten:

Beitrag von alf29 »

Moin,

OK, ich denke, das liegt daran, daß der RADIUS-Server in der Situation in der Status-Tabelle nach dem Benutzernamen ohne Realm sucht (also nur 'user39881'). Den findet er natürlich nicht und geht deswegen davon aus, daß sich noch niemand unter diesem Namen erstmalig angemeldet hat...

Ich sehe mal, was ich tun kann. Prinzipiell habe ich bis Ende nächster Woche noch Urlaub...

Gruß Alfred
“There is no death, there is just a change of our cosmic address."
-- Edgar Froese, 1944 - 2015
Frank42
Beiträge: 5
Registriert: 30 Okt 2012, 13:36

Beitrag von Frank42 »

Hallo Alfred,

mit eingeschaltetem "trace + Radius-Server" bekomme ich beim Einloggen die folgende Ausgabe:

[RADIUS-Server] 2012/10/30 15:16:38,316
Received RADIUS accounting request 184 from client 127.0.0.1:3072:
-->known attributes of request:
User-Name : user39881@PSpot
NAS-Identifier : lc-wlc4025
NAS-IP-Address : 127.0.0.1
NAS-Port-Id : LAN-1
NAS-Port-Type : Ethernet
Called-Station-Id : 00:xx:xx:xx:xx:72
Calling-Station-Id : 00:xx:xx:xx:xx:d8
Acct-Status-Type : Stop
Acct-Session-Id : 00xxxxxxxx72-508FE84E-61
Event-Timestamp : 10/30/2012 15:16:38
Acct-Terminate-Cause: User Request
Acct-Session-Time : 1800 s
Acct-Input-Octets : 219309 bytes
Acct-Output-Octets : 472006 bytes
Acct-Input-Packets : 1914
Acct-Output-Packets : 1665
Framed-IP-Address : x.x.x.x
-->realm 'PSpot' not found, using default realm
-->realm of user is ''
-->accounting locally
-->found existing accounting session
-->updating session data
-->updating accounting totals in memory
-->not yet writing back accounting totals to flash to limit flash write rate
-->removing oldest session from attic
-->moving session to attic
-->response type is Response, response attributes:
-->sending response

Außerdem sehe ich Meldungen der folgenden Art:

[RADIUS-Server] 2012/10/30 15:16:39,208
Received RADIUS accounting request 43 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:15:29.200, discarding

[RADIUS-Server] 2012/10/30 15:16:39,211
Received RADIUS accounting request 79 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:16:19.200, discarding

[RADIUS-Server] 2012/10/30 15:16:39,212
Received RADIUS accounting request 81 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:16:29.200, discarding

[RADIUS-Server] 2012/10/30 15:16:39,215
Received RADIUS accounting request 208 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:15:39.200, discarding

[RADIUS-Server] 2012/10/30 15:16:39,217
Received RADIUS accounting request 70 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:14:59.200, discarding

[RADIUS-Server] 2012/10/30 15:16:39,220
Received RADIUS accounting request 96 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:15:59.200, discarding

[RADIUS-Server] 2012/10/30 15:16:39,224
Received RADIUS accounting request 147 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:15:19.200, discarding

Viele Grüße
Frank
Benutzeravatar
alf29
Moderator
Moderator
Beiträge: 6205
Registriert: 07 Nov 2004, 19:33
Wohnort: Aachen
Kontaktdaten:

Beitrag von alf29 »

Moin,

ich habe auf die Schnelle mal etwas gebaut, was das Problem lösen sollte - wenn es das ist, was ich vermute. Kannst Du mir eine Adresse geben, an die ich Dir eine Firmware zum Ausprobieren schicke?
Außerdem sehe ich Meldungen der folgenden Art:

[RADIUS-Server] 2012/10/30 15:16:39,208
Received RADIUS accounting request 43 from client 127.0.0.1:3072:
-->retry of pending request from 10/30/2012 15:15:29.200, discarding
Das sieht für mich - vermutlich - so aus, als ob der RADIUS-Server von sich selber Accounting-Requests kriegt, die er aufgrund der Forwarding-Regeln an einen externen RADIUS-Server weiterleiten soll, und der kann damit nichts anfangen und ignoriert sie einfach. Der RADIUS-Client wiederholt die Anfrage nach ein paar Sekunden (deshalb die Meldung), bis er nach ein paar Versuchen aufgibt. Wenn Du den Trace etwas länger laufen läßt, wirst Du den originalen Accounting-Request sehen können.

Gruß Alfred
“There is no death, there is just a change of our cosmic address."
-- Edgar Froese, 1944 - 2015
Dr.Einstein
Beiträge: 2921
Registriert: 12 Jan 2010, 14:10

Beitrag von Dr.Einstein »

Hallo ihr beiden,

müsste das dann nicht folglich bei jedem Public Spot auftreten ? Mit der RU2,
egal ob WLC oder Router, hab ich das ehrlich gesagt noch nicht erlebt. Zumal
mir sofort einige Kunden einfallen würden, wo die 64 Benutzer-Liste dann voll
wäre, zumindest wo Enterprise aktiv ist.
Muss ich morgen mal schauen ...

Gruß Dr.Einstein
Benutzeravatar
alf29
Moderator
Moderator
Beiträge: 6205
Registriert: 07 Nov 2004, 19:33
Wohnort: Aachen
Kontaktdaten:

Beitrag von alf29 »

Moin,

Der Witz ist, daß hier mit Realms gearbeitet wird. Ein an die Benutzerkennung angehängter Realm (durch ein @ abgetrennt) dient dazu, den RADIUS-Request an einen bestimmten Server weiterzuleiten. Das gibt es z.B. auch bei DSL-Anschlüssen, wo z.B. ein angehängtes '@t-online.de' in der PPP-Benutzerkennung dem Einwahlserver sagt, welchen RADIUS-Server er wegen einer Benutzerkennung fragen soll.

Im LCOS-RADIUS-Server werden auch Realms benutzt, um Anfragen an einen anderen Server selektiv weiterzuleiten (dazu ist die Forwarding-Tabelle). Wenn der RADIUS-Server entscheidet, daß er eine Anfrage selber bearbeitet, anstatt sie weiterzuleiten, wird natürlich nur der Teil vor dem @ mit den Namen in der Benutzertabelle verglichen.

Realms gelten (natürlich) auch für das RADIUS-Accounting, und hier ist eine kleine Inkonsistenz: In der Accounting-Total-Tabelle wird der komplette Benutzername (inklusive Realm) hinterlegt, wenn aber wegen eines möglicherweise abgelaufenen Accounts in der Tabelle nach dem ersten Login eines bestimmten Benutzers *gesucht* wird, dann wird in der Accounting-Total-Tabelle nach dem Namen *ohne* Realm gesucht. So einen gibt's dann natürlich nicht und der RADIUS-Server meint, mit dem Namen hätte sich bisher niemand angemeldet - damit gibt's wieder das volle Zeitbudget...

Solange man nirgendwo mit Realms arbeitet, tritt dieses Problem nicht auf und alles läuft wie gewünscht.

Gruß Alfred
“There is no death, there is just a change of our cosmic address."
-- Edgar Froese, 1944 - 2015
Frank42
Beiträge: 5
Registriert: 30 Okt 2012, 13:36

Beitrag von Frank42 »

Hi Alfred,

habe gerade getestet, indem ich den Eintrag fürs leere Realm vom derzeit für unser WPA-Enterprise-Netz verwendeten Radius-Server gelöscht habe. Daraufhin habe ich mich mit dem Gastbenutzer ohne angehängtes @PSpot eingeloggt.

Der Effekt war, dass im Gastnetz alles wie gewünscht funktioniert. Die Zeit wird korrekt heruntergezählt, außerdem tauchen im Webinterface unter "Public-Spot-Benutzer verwalten" die Daten des Gastbenutzers auf (MAC, IP, etc.).

Für den Produktivbetrieb brauche ich die Weiterleitung des leeren Realm leider, da sich darüber u.a. Windows-Computer authentifizieren, welche Benutzernamen der Form host/RECHNERNAME.DOMAIN.de haben.

Ich tippe mal, dass deine gebaute Firmware das @PSpot beim Nachschauen der Einträge im lokalen Radius ergänzen wird, oder?

Meine Mailadresse für die Firmware habe ich dir per privater Nachricht geschickt.

Viele Grüße
Frank
Benutzeravatar
alf29
Moderator
Moderator
Beiträge: 6205
Registriert: 07 Nov 2004, 19:33
Wohnort: Aachen
Kontaktdaten:

Beitrag von alf29 »

Moin,
Für den Produktivbetrieb brauche ich die Weiterleitung des leeren Realm leider, da sich darüber u.a. Windows-Computer authentifizieren, welche Benutzernamen der Form host/RECHNERNAME.DOMAIN.de haben.
Ach ja, diese komische Host-basierte Authentisierung. Leider habe ich da bisher kaum drüber Doku gefunden, was MS da eigentlich genau im PEAP treibt. Ansonsten hätte ich schon längst etwas in der Art eingebaut, daß bei so einem Ausdruck die Domäne wie ein Realm betrachtet wird - bei Benutzernamen der Form 'Domain/User' ist das schon der Fall.
Ich tippe mal, dass deine gebaute Firmware das @PSpot beim Nachschauen der Einträge im lokalen Radius ergänzen wird, oder?
Die Lösung wird sein, in der Tabelle sowohl nach einer Kennung mit als auch ohne zu suchen. Ist erstmal die defensive Lösung.
Meine Mailadresse für die Firmware habe ich dir per privater Nachricht geschickt.
In meiner Inbox ist bisher nichts angekommen...

Gruß Alfred
“There is no death, there is just a change of our cosmic address."
-- Edgar Froese, 1944 - 2015
Frank42
Beiträge: 5
Registriert: 30 Okt 2012, 13:36

Beitrag von Frank42 »

Hallo Alfred,

habe meine Mailadresse nochmals geschickt.

Viele Grüße
Frank
Antworten

Zurück zu „Alles zum LANCOM WLC-4100, WLC-4025+, WLC-4025 und WLC-4006 WLAN-Controller“