Entziehen der wifi-Rechte klappt nicht

Hallo zusammen!

Ich habe FreeRADIUS mit Unifi nach der aktuellen Doku eingerichtet. FreeRADIUS läuft auf dem LMN-Server.

Ein Problem gibt es noch:
Wird einem Schüler die Erlaubnis, das WIFI zu benutzen, nach einer erfolgreichen Nutzung wieder über die WebUI entzogen, bleibt er weiter verbunden. Selbst das Trennen der Verbindung am Client (Android 11 bzw. Linux) bzw. komplettes deaktivieren des WLANs oder Flugmodus hilft nicht. Ich muss die Verbindung komplett entfernen oder das Gerät neustarten. Erst dann klappt eine Anmeldung nicht erneut. Wird der Schüler anschließend wieder in die Gruppe wifi aufgenommen, kann er sich sofort wieder anmelden. Nur das Entziehen der Rechte funktioniert also nicht.

Hat jemand eine Idee, woran das liegt?

Vielen Dank!

Grüße Noah

Hallo Noah,
kennst Du diese Anleitung von Dominik?

hth,
Michael

Hallo Michael!

Ja, aber ich gehe doch davon aus, dass die Doku (Netzwerkzugriff über Radius — linuxmuster.net 7.1 Dokumentation) draus entstanden und aktueller ist?!

Danke!

Grüße Noah

Der radius wird vom unifi nur nach der authentifizuerung gefragt wenn es aus unifi ein unbekanntes geraet ist.
Wenn man nach deaktivieren des wlans in radius server auch in unifi das geraet rausloescht dann ist, dann wird Radius woeder gefragt und das geraet kommt nicht rein.
Kann auch damit zu tun haben, wie lange die ip adresse vom dhcpd gueltig ist fuer das geraet.
Radius ist also nicht fuer kurzzeitig snan und ausschalten der wlan verbindung gedacht. Dafuer gibt es vouchersysteme oder webproxys.

Hi sucher,

das stimmt so pauschal nicht, denn es gibt https://wiki.freeradius.org/protocol/disconnect-messages. Ich hatte in der Vergangenheit in einer Umgebung abseits von LMN den Pakettyp CoA auch schon erfolgreich im Einsatz, um VPN-Verbindungen sowie WLAN-Verbindungen, die mit EAP-PEAP hergestellt wurden, zu trennen.

MfG Buster

Hallo Noah,
ich glaube nicht, dass man sich nicht mit dem Wifi verbinden kann, wenn man schonmal verbunden war. Also: Einmal drin, immer drin. Aber man hat kein Internetzugriff, wenn der Nutzer gesperrt ist oder habe ich das falsch in Erinnerung?
LG
Max

Hallo Max!

Wenn man nicht in der Gruppe wifi ist, klappt die Anmeldung am AP mittels RADIUS nicht. Ist man in der Gruppe kann man sich anmelden und bekommt Zugang. Wird man herausgenommen bleibt man aber weiter verbunden und kann die Verbindung sogar trennen und sich wieder verbinden anscheinend bis der AP erneut beim RADIUS nachfrägt. Das tut der AP aber wohl erst, wenn die Verbindung komplett gekappt wurde (Löschen der Verbindung am Client oder Neustart des Clients bzw. APs).
Im Unifi-Controller gibt es noch die Optionen:

Accounting Interim Interval

und

Group Rekey Interval

Beide haben bei mir keinen Einfluss.

Vielleicht ist der AP nicht auf Port 3799 erreichbar - das Prüfe ich morgen mal. Sowohl AP als auch Server sind aber im gleichen Netz…

Es wäre nicht sehr praktikabel, wenn dieses Verhalten tatsächlich normal wäre…kann ich mir aber nicht vorstellen…

Grüße Noah

@buster. Danke!
Manchmal muss man halt mal pauschal was raushauen, sonst lernt man ja nix dazu :wink:

Hallo zusammen!

Leider komme ich nicht weiter. Wie verhält sich das denn bei euch? Das gleiche Setting haben doch einige laufen?!

Vielen Dank!

Grüße Noah

Hallo Noah,

unsere Unifi-APs lauschen weder auf Port 3799 noch auf 1700 auf Disconnect-Messages und auch auf keinem anderen Port, den Nmap als offen zeigt.

Es wurde hier mal eine Lösung über ein Skript auf dem Unifi-Controller gepostet, das finde ich gerade aber nicht.

Beste Grüße

Jörg

Hallo zusammen,

ich habe es gerade mit einem Schüler getestet. Wenn ich die WLAN-Rechte entziehe UND er sein WLAN aus- und wieder anschaltet, kann er sich nicht mehr anmelden.

Ein Skript, um die SuS zu disconnecten, habe ich im Einsatz. Unsere LMN setzt nach jeder Doppelstunde die WLAN-Berechtigungen zurück und disconnected dann alle SuS.

from pyunifi.controller import Controller


def disconnect_pupils():
        allowed_identities = ["erlaubter_user1", "erlaubter_user2"]
        c = Controller('<unifi-ip>', '<unifi-admin>', '<unifi-pw>', ssl_verify = False)
        clients = c.get_clients()
        for client in clients:
                try:
                        print (client["1x_identity"])
                except:
                        continue
                if len(client['1x_identity']) > 4 and client['1x_identity'] not in  allowed_identities:
                        print ("Vermutlich Schueler. Disconnect")
                        c.disconnect_client(client['mac'])
disconnect_pupils()

Das kann man sicher noch etwas zielgerichteter machen (z.B. nur die SuS disconnectend, deren WLAN entzogen wurde). Schön wäre es natürlich, wenn die WebUI nach dem Entziehen der WLAN-Berechtigung eines SuS direkt Unifi kontaktiert.

Viele Grüße
Dominik

1 „Gefällt mir“

Hallo,

ich hab eurre Diskussion aufmerksam verfolgt udn mcih gefragt, ob das
Verhalten bei mir an der Schule auch so ist.
Früher war es in jedem Fall so, wie es sein soll.

Ich habe das Heute mit meinem Testschüler getestet:

  1. keine WLAN Freigabe → er kommt nciht rein
  2. WLAN Freigabe in SchuKo gemacht → er kommt rein
  3. WLAN Freigabe in SchuKo entzogen → er kann weiter Internet Nutzen,
    solange er sich nciht neu verbindet
    Verbindet er sich neu, klappt das nicht mehr

Ein Script das alle 2 Stunden einen Disconnect erzwingt habe ich nicht
laufen: bisher war ich zufrieden…

Bei mir läuft aber schon die 7.2 mit neuerem freeradius.
Aber das Verhalten war früher auch genau so.

LG

Holger

Hallo Holger!

Hätte mich auch gewundert, wenn du dich hier nicht auch noch einklinkst :wink: Danke!

Heißt das, dass man sich bei dir nach Entzug der Rechte sofort nicht wieder verbinden kann, wenn man z.B. den Bereich des WLANs verlässt oder die Verbindung trennt?

Ich hab das bei uns nochmal über einen längeren Zeitraum getestet. Ich kann hier als Schüler einmal angemeldet nach Entzug der wifi Rechte auf jeden Fall länger als eine Stunde (länger zu warten hatte ich keine Lust mehr…) weiter surfen. Sogar, wenn ich in dieser Zeit den WLAN-Bereich verlasse oder die Verbindung trenne, kann ich die Verbindung immer wieder aufbauen.

Wenn ich im Radiusprofil im Unifi-Controller die Option „Accounting Interim Interval“ aktiviere und auf das Minimum von 60 Sekunden setze, verkürzte sich die Zeit, in der sich der Schüler weiter verbinden kann, auf eine Stunde (3600 Sek ist wohl der Standardwert), aber ich hab das bis jetzt nur einmal durchgespielt…

Das ist immerhin praktikabler, als wenn die Verbindung noch länger möglich ist, aber ich finde das noch keine befriedigende Lösung bzw. möchte ich gerne wissen, was bei euch anders ist…?

Grüße Noah

Hallo nochmal!

Vielleicht könnten wir mal die Unifi-Controller-Einstellungen vergleichen - ich hab gerade gesehen, dass es im Lagacy-Mode viel mehr und ganz anders miteinander verknüpfte Optionen gibt - vielleicht liegt hier irgendwo der Unterschied?!

Dort gibt, es u.a. auch diese Option:
image

Diese spielt ja aber wohl für uns eigentlich keine Rolle, weil wir Accounting ja nicht nutzen…

Grüße Noah

Hallo Noah,

WLAN Freigabe in SchuKo entzogen → er kann weiter Internet Nutzen,
solange er sich nciht neu verbindet
Verbindet er sich neu, klappt das nicht mehr

Heißt das, dass man sich bei dir nach Entzug der Rechte sofort nicht
wieder verbinden kann, wenn man z.B. den Bereich des WLANs verlässt oder
die Verbindung trennt?

ja, so war das in meinen Tests vor einigen Jahren.

Wenn ich im Radiusprofil im Unifi-Controller die Option „Accounting
Interim Interval“ aktiviere und auf das Minimum von 60 Sekunden setze,
verkürzte sich die Zeit, in der sich der Schüler weiter verbinden kann,
auf eine Stunde (3600 Sek ist wohl der Standardwert), aber ich hab das
bis jetzt nur einmal durchgespielt…

image
https://ask.linuxmuster.net/uploads/default/original/2X/b/be4b8ccb808a28da4ed7d10b06126244b4ad2d48.png

diese Einstellung gibt es bei mir nicht.
Und die andere die du erwähnst hab ich nicht gefunden.
Ich verwende immer nur die Legacy Oberfläche.
Ich weiß nciht, was das mit der neuen Oberfläche soll.
Wenn sie alles kann, was die alte kann, dann schau ich sie mir an… mal
sehen, wann das so weit ist …

LG
Holger

Hallo Holger!

Danke für die Antwort!

Ich hab heute auf die alte Oberfläche umgestellt und es ist offensichtlich, dass die neue Oberfläche nicht alles kann…

Ich konfiguriere morgen mal alles im Unifi-Controller neu mit der alten Oberfläche - vielleicht ändert das ja was…

Grüße Noah

Hallo Noah,

Wenn du den Haken im Radius-Profil setzt, dann macht das nur Sinn, wenn du auch Accounting nutzt. Soweit ich das verstanden habe, kannst du mit dem Haken nur das Nachfrageintervall nach Accountinginformationen einstellen. Das hat aber nichts mit deinem Wunsch zu tun.

Idee: Verringere doch mal auf der Firewall (ich gehe davon aus, dass dort der DHCP läuft) den DHCP-Lease auf bspw. 15 Minuten. Wenn dann die SuS aus der wifi-Gruppe draußen sind und ihr Lease abläuft, dann sollten diese getrennt sein, wenn ich mich nicht täusche.

VG Daniel

Hallo Daniel!

Danke, dass du hier versuchst zu helfen!

Ja, das wird in der lagacy-Oberfläche des Unifi-Controllers auch deutlich - die Option steht erst zur Verfügung, wenn man Accounting aktiviert…in der neuen Oberfläche ist sie immer sichtbar…

DHCP läuft auf der OPNSense… „Default lease time“ und/oder „Max lease time“ haben nach meinem Test keinen Einfluss auf das Authentifizierungs-Verhalten. Hätte mich auch gewundert.

Ich hab das Ganze inzwischen noch ein paar Mal getestet mit verschiedenen Einstellungen im Unifi-Controller. Leider ohne Erfolg - die Verbindung kann aber wenigstens nach mehreren Stunden nicht mehr hergestellt werden. Die genaue Zeit hab ich nicht bestimmt…

Vielleicht kann ja bitte jemand, der das erfolgreich laufen hat, seine Unifi-Einstellungen hier als Screenshots posten - dann könnte ich das vergleichen.

Vielen Dank!

Grüße Noah