Unifi: WLAN abschalten über Schulkonsole

Hallöle,

habe nach ein bisschen gefrickel unser Unifi AP’s wie in der Doku beschrieben zum Laufen bekommen.
Schulgeräte in grün kommen ins WLAN.
Mein Testschüler kommt über das Schülernetz (blau; 172.16.16.0/24) auch ins Internet, nachdem ich in der Schulkonsole den Unterricht begonnen und ihm das WLAN angeschalten habe.
Alles super soweit.
Allerdings bleibt die WLAN Verbindung des Testschülers bestehen, wenn ich ihm über die Schulkonsole das WLAN wieder entziehe und den Unterricht beende.
Solange bis die Verbindung am Smartphone unterbrochen (WLAN aus) wird. Schält man das WLAN am Smartphone wieder an, dann kommt der Testschüler nicht ins Netz (wie gewünscht), solange bis ich ihm wieder WLAN über die Schulkonsole gebe. Schalte ich WLAN über Schulkonsole wieder ab so kann er weiter surfen…

Ist das prinzipiell so, dass ich ihm über die Schulkonsole das WLAN nicht mehr entziehen kann, wenn er mal drin ist und zwar solange bis er das WLAN am Smartphone abschlaltet/bzw. die Verbindung verliert oder liegt da ein Fehler an meiner config vor?
Kennt in diesem Fall evtl. jemand das Problem bereits und hat’s vielleicht schon gelöst?

Vielen Dank vorab und viele Grüße,

David

Hallo David,

schau mal. ob du irgendwo ein RADIUS Session Timeout im Unify Controller konfigurieren kannst. Da sollte es ein Idle- und Hard-Timeout geben. Ich weiß aber nicht, ob es diese Option wirklich gibt, da wir Unify nicht verwenden.

vG Stephan

1 Like

Guten Morgen Stephan,

danke für die Rückmeldung.
Habe eben mal durchgeklickt.
Leider kann ich die Einstellung nicht finden.
Evtl. ist diese Einstellung nur möglich, wenn man ein Unifi Security Gateway (USG) verwendet, was ich aber nicht habe…

Grüße.

Hallo Daniel,

danke für die Rückmeldung.
Habe eben mal durchgeklickt.
Leider kann ich die Einstellung nicht finden.
Evtl. ist diese Einstellung nur möglich, wenn man ein Unifi Security
Gateway (USG) verwendet, was ich aber nicht habe…

nein: daran kann es nicht liegen.
Bei dem normalen unifi Setting (wie ich es auch habe) ist der RADIUS
Client im AccessPoint.

Ein solches Timeout müßte also bei den Accesspoints oder generell bei
der radius config eingestellt werden sollen.

Du hast ja gesehen, dass die Cleints, obwohl ihnen “das Recht auf
Internet” in der SchuKo entzogen wurde, weiter surfen können, solange
sie ihre Verbindunge halten.
Jetzt gibt es zwei Möglichkeiten:

  1. alle 45 Minuten (oder 90) alle Clients vom WLAN abmelden (so hatte es
    mal jemand im Forum mit dem CoovaChilli gemacht, wenn ich das richtig
    erinnere)

  2. das was Stephan vorschlägt: dem RADIUS sagen: deine session ist nur
    45 minuten Gültig: dann mußt du erneut nachfragen, ob du noch darfst.

2 wäre natrlich besser.
Vielelicht könnte man auch mal nach
unifi radius session timeout
suchen (im Internet).

Ich würds ja machen, aber Heute ist leider ganz schlecht :frowning:

LG

Holger

Hallo zusammen,

wenn ich das richtig verstehe, muss man das beim Radius-Server einstellen. Vielleicht ja so (in /etc/freeradius/users):

DEFAULT Ldap-Group == "cn=p_wifi,ou=groups,dc=meine-schule,dc=de"
   Session-Timeout := 60

Dann muss der Client alle 60 Sekunden neu authentifizieren.

Beste Grüße

Jörg

Ja, das waren Yannick und ich:

https://www.linuxmuster.net/wikiarchiv/anwenderwiki:benutzerrechner:wlan:coovachilli-disconnect?s[]=disconnect

Mit dem coova klappt das. Wäre schön, wenn man das mit dem Unifi Controller oder dem OPNSense als Captive Portal auch hinbekommen könnte
Übrigens: So ein Soft-/Hardlimit alleine ist nicht ausreichend…

Schönen Gruß
Michael

Hallo zusammen,

dieses Phänomen kenne ich auch.
Wenn man die Netzint-Lösung verwendet, dann haben diese ein Skript dabei, welches regelmäßig die Verbindung am Unifi-AP trennt. Alois hat dazu einmal etwas geschrieben. Nach Unterrichtsende: WLAN Zugriff für Schüler bleibt bestehen

Ich selber habe auch nicht die Lösung von Netzint und wäre daher auch an einer Lösung dieses Problems interessiert. :slight_smile:

VG Daniel

Hallo,

ich glaube, wir müssen aufpassen, dass die Lösung zu der Voucher-Geschiche passt.

Viele Grüße, Wilfried

Wir überlegen auch gerade, ob wir den Zugang zum WLAN nicht vollständig über Voucher regeln sollten. Das ist vom Verfahren viel einfacher und man hat auch nicht das Problem, dass man zunächst Kurse als Projekt anlegen muss, bevor man die online gehen lassen kann. Einfach den Zugangscode unter die Elmo und alle im Raum sind für 100 Minuten online – fertig. Klingt einfach… Natürlich hätte man auch hier das gleiche Timeout Problem, wenn man zB erst gegen Ende der (Doppel)Stunde den Code verteilt.
Dann würden die Schüler die Restzeit mit in die nächste Stunde nehmen können. Konsequenz daraus: “So what?” Oder: “Katastrophe!” ?? :thinking:

Michael

Hallo Jörg,

vielen Dank.
Das werde ich am Wochenende mal austesten.
Gebe dann Bescheid ob’s klappt.

Grüße an alle und ein schönes Wochenende.

Hallo Michael,

Wer zahlt bei illegalen Downloads?

Gruß Alois

Hallo Jörg,

leider kann der Schüler auch nach Setzen des Session Timeouts und Neustarten von freeradius munter weiter surfen, wenn in der Schulkonsole der Unterricht beendet wurde.
Bin auch nochmals alle Einstellungen durchgegangen und hab die Dateien für freeradius/LDAP etc. abgeglichen. Leider ohne Erfolg.

Schade.

Eventuell muss ich mir dann auch die Voucher Geschichte überlegen; sprich 45min. und 90min. Vouchers für die Schüler; wobei mir die Steuerung über die Schulkonsole schon wesentlich lieber gewesen wäre.

Grüße

Hallo David,

inzwischen habe ich einige Seiten im Netz zum Thema “Unifi ignoriert Session-Timeout” gefunden …

Beste Grüße

Jörg

Hallo zusammen,

https://wiki.freeradius.org/guide/FAQ#common-problems-and-their-solutions_how-can-i-disconnect-user-with-freeradius

Im Wiki von Freeradius gibt es dazu auch einen Eintrag. Habe aber noch nichts getestet.

VG Daniel

1 Like

Hallo zusammen,

gibt es hierzu eigentlich Neuigkeiten? Ich habe im Forum nichts gefunden und auch bei mir surft mein Testschüler munter weiter, auch wenn ich ihn in der Schulkonsole rauswerfe und den Unterricht beende.

Die Lösung von Alois mit Netzint geht bei mir leider auch wohl nicht, da ich einen Cloudkey verwende und keine VM…

LG, Felix

Hallo Felix,

vielleicht bist Du auch nach dieser Doku gegangen? Also den Radius Server auf der OPNsense.

https://docs.linuxmuster.net/de/latest/systemadministration/network/radius/index.html?highlight=radius#ldap-einrichten

Dann könntest Du über denselben Fehler(?) in der Doku bzw. dem OPNsense Setup stolpern wie ich.

In der Doku wird folgender Benutzerfilter empfohlen, welcher bei mir nicht funktioniert:

(&(objectClass=person)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})(memberOf=CN=wifi*))

Zum Test den Benutzer aus der Gruppe „wifi“ entfernen:

root@server:~# sophomorix-managementgroup --nowifi ipadwlan
...
USER: ipadwlan is in school default-school
      group is wifi
      ipadwlan --> wifi (remove)
#### Removing member from wifi:                                               ####
   * User ipadwlan exists (1 results)
   * Removing user ipadwlan from group wifi
...

Radius Test - Der Benutzer wird trotzdem akzeptiert (Accepted: 1) Das ist auch das, was Du festgestellt hast.

root@server:~# echo "User-Name=ipadwlan,User-Password=2\$JtXSZf" | radclient -x -P udp -s 10.0.0.254:1812 auth "$(cat /etc/linuxmuster/.secret/radiussecret)"
Sent Access-Request Id 172 from 0.0.0.0:32973 to 10.0.0.254:1812 length 48
	User-Name = "ipadwlan"
	User-Password = "2$JtXSZf"
	Cleartext-Password = "2$JtXSZf"
Received Access-Accept Id 172 from 10.0.0.254:1812 to 0.0.0.0:0 length 20
Packet summary:
	Accepted      : 1
	Rejected      : 0
	Lost          : 0
	Passed filter : 1
	Failed filter : 0

Jetzt den Benutzerfilter so setzen (Bitte an Deine Domain anpassen):

(&(objectClass=person)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})(memberOf=CN=wifi,OU=Management,OU=default-school,OU=SCHOOLS,DC=fzi,DC=lan))

Radius Test - Jetzt wird der Benutzer nicht mehr akzeptiert (Rejected: 1)

root@server:~# echo "User-Name=ipadwlan,User-Password=2\$JtXSZf" | radclient -x -P udp -s 10.0.0.254:1812 auth "$(cat /etc/linuxmuster/.secret/radiussecret)"
Sent Access-Request Id 32 from 0.0.0.0:59610 to 10.0.0.254:1812 length 48
	User-Name = "ipadwlan"
	User-Password = "2$JtXSZf"
	Cleartext-Password = "2$JtXSZf"
Received Access-Reject Id 32 from 10.0.0.254:1812 to 0.0.0.0:0 length 20
(0) -: Expected Access-Accept got Access-Reject
Packet summary:
	Accepted      : 0
	Rejected      : 1
	Lost          : 0
	Passed filter : 0
	Failed filter : 1

Gegentest. Benutzer wieder in die Gruppe wifi:

root@server:~# sophomorix-managementgroup --wifi ipadwlan
...
USER: ipadwlan is in school default-school
      group is wifi
      ipadwlan --> wifi (add)
#### Adding member to wifi:                                                   ####
   * Group wifi exists (1 results)
   * User ipadwlan exists (1 results)
   * Adding user ipadwlan to group wifi
...

Radiustest:

root@server:~# echo "User-Name=ipadwlan,User-Password=2\$JtXSZf" | radclient -x -P udp -s 10.0.0.254:1812 auth "$(cat /etc/linuxmuster/.secret/radiussecret)"
Sent Access-Request Id 172 from 0.0.0.0:43297 to 10.0.0.254:1812 length 48
	User-Name = "ipadwlan"
	User-Password = "2$JtXSZf"
	Cleartext-Password = "2$JtXSZf"
Received Access-Accept Id 172 from 10.0.0.254:1812 to 0.0.0.0:0 length 20
Packet summary:
	Accepted      : 1
	Rejected      : 0
	Lost          : 0
	Passed filter : 1
	Failed filter : 0

Viele Grüße
Klaus

1 Like

Hallo,

Vielleicht betrifft das auch nur mich, weil ich eine Klasse „wificlass“ angelegt habe.
Siehe die Kommunikation im Bugreport hier:

Viele Grüße
Klaus

Hallo Klaus,
danke, dass Du der Sache auf den Grund gegangen bist.

Kurz zwei Nachfragen zu Deinen Tests:
a) Du betreibst den Freeradius auf der OPNSense >= 20.x.x in Verbindung mit einem
Unifi WLAN Controller / VM ?
b) Du hast wie in der Doku angegeben konfiguriert und den Filter entsprechend angepasst.

Deine Test hast Du mit dem radclient auf dem Server ausgeführt, oder ? Hast Du das Ganze auch mit echten Clients die sich mit dem Ubiquita AP verbinden getestet ?
Funktioniert dort das Ganze dort ebenfalls ?

Im Forum gab es vor einiger Zeit Hinweise, dass dies Probleme bereiten könnte.
Danke für Deine Hinweise.

VG
Chris

Hallo Klaus,
ich habe in der Doku im Kapitel Freeradius die Filteroptionen angepasst.
Schau doch bitte mal, ob das so in Deinem Sinne ist und Deinen Tests entspricht, oder ob noch Ergänzungen / Korrekturen erforderlich sind.
VG
Chris

Hallo Chris,

danke für die Rückmeldung und Durchlesen. Bei der Fehlersuche und im Bugreport auf Github bin ich draufgekommen, daß der OPNSense Benutzerfilter „wifi*“ mit Wildcard bei mir nicht funktioniert bzw. immer ein Ergebnis liefert, da die ich eine Klasse „wificlass“ habe, in welcher der Benutzer Mitglied ist. Damit findet der Radius Filter wifi* auch nach Deaktivierung zur Rollenzugehörigkeit „wifi“ immer noch „wificlass“. Also wahrscheinlich ein spezieller Fall.

Ja, OPNSense > 20.x.x . In der Schule gibt es TP-Link Accesspoints mit TP-Link Hardware Management Controller.

Hatte ich wie ursprünglich so gemacht, richtig.

Richtig, siehe oben.

Bisher noch nicht getestet. In 2 Wochen wird die Schule komplett auf linuxmuster umgestellt und dann kann ich auch das WLAN auf WPA2 Enterprise umstellen. Ich hoffe, daß das funktioniert und melde mich dazu noch, bzw. gebe Rückmeldung.

Danke für die Änderungen in der Doku.
@Thomas hat meine ergänzenden Anregungen jetzt angenommen und den Benutzerfilter für das OPNsense Setup jetzt so geändert:

`(&(objectClass=person)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}})(memberOf=CN=wifi,OU=Management,OU=*))`

Damit wird meine oben erwähnte „wificlass“ jetzt nicht mehr gefunden und der Filter funktioniert.
Siehe:

Eventuell sollte die Doku dem neuen OPNsense Radius Setup angepasst werden. Dann braucht es diesen Textbaustein in der Doku nicht mehr:

Der Benutzerfilter ist auf die eigene Domain anzupassen.

Viele Grüße
Klaus