Captive Portal: und die Gruppe wifi

Hallo zusammen,
wir haben an der Schule 3 Netzwerke:

  1. Schüler-WLAN (10.10.0.0/16): Hier können sich die SuS mit ihren Geräten und ihren Zugangsdaten anmelden.
  2. Lehrer-WLAN (10.30.0.0/24): Hier können sich die Lehrer mit ihren Geräten und ihren Zugangsdaten anmelden. Außerden könne sich die unsere Beamer und Chormecasts direkt anmelden. Und Gäste mit einem WLAN-Voucher kommen auch in diese Netzwerk.
  3. Laptop-WLAN (10.20.0.0/16): Diese Netz ist ein Teil des Schulnetzes. Hier sind die schueigenen Geräte.

Für das Lehrer-WLAN habe ich das Captive Portal der OpnSense genutzt.
Die MAC-Adressen der Beamer und Chromecasts habe ich unter Erlaubte MAC Adressenhinterlegt. So wird sicher gestellt, dass sich die Beamer und Chromcasts nicht am Captiver Portal anmelden müssen.
Für die Lehrer habe ich unter System-> Zugang-> Server eine LDAP-Abfrage gemacht, die nur User der Gruppe Teachers zulässt.
Für die Vouchers habe ich ebenfalls unter System-> Zugang-> Server einen Voucher-Server angelegt.
Klappt super. Lehrer können mit ihren Geräten auf Beamer und Chromecasts zugreifen.
Schüler die von ihrem Tablett über den Beamer ihre Pärsentation zeigen wollen bekommen einen WLAN-Voucher für 45 oder 90 Minuten und könne dann auch auf die Beamer zugreifen.

Jetzt das eigentliche Problem:
Auch das Schülernetz realisiere ich über das Captiver-Portal der OpnSense.
Auch hier habe ich unter System-> Zugang-> Server eine LDAP-Abfrage gemacht, die nur User der Gruppe wifi zulässt.
Wer in der Gruppe ist, kann sich anmelden und kommt dann auch ins Internet.
Wenn einem Schüler von einem Lehrer in der Schulkonsole das WLAN gesperrt wird, ist dieser Schüler nicht mehr in der Gruppe wifi. Leider kann der Schüler weiter surfen :frowning:
Folgende Einstellungen habe ich gemacht:

Wenn ich die Harte Gültigkeitsdauer auf 0 stelle (deaktiviert), können die User einmal angemeldeten immer surfen.
Stelle ich die Harte Gültigkeitsdauer auf 5 (Minuten), muss man sich alle 5 Minuten erneut anmelden. Dadurch kömmen nur die User ins Internet, die in der Gruppe wifi sind. Leider melden sich die Geräte nicht automatisch an. Das heißt, die Benutzer müssen sich alle 5 Minuten neu anmelden.

Kann mir da jemand einen Tipp geben?
Vielen Dank schon mal für’s Mitdenken.
Gruß,
Mathias

Hallo Matthias,
meines Wissens war dieses Verhalten auch schon zu Zeiten des Coova-Servers so. Man muss imho einmal einen disconnect der Endgeräte erzwingen - danach ist dann keine erneute Anmeldung bzw kein Weitersurfen mehr möglich. Ich habe mich kürzlich auch mit der Einrichtung eines Captive Portals auf der OPNSense auseinandergesetzt und diesen Beitrag hier eingestellt:

Dort müsste es ein Script 07_disconnect_all_Voucher.sh geben, das vermutlich genau das von Dir gewünschte Verhalten erzwingt, wenn es z.B. in den großen Pausen per cronjob ausgeführt wird…
Danach ist eine Neuanmeldung mit einem neuen Voucher notwendig…

hth – viele Grüße und guten Rutsch,
Michael

Hallo Michael,
vielen Dank für deine Skripte. Da gabe ich schon rein geschaut. Die Idee mit dem 07_disconnect_all_Voucher.sh ist gut. So werden die Schüler nicht mitten im Unterricht rausgeschmissen,
Was mich noch ein bisschen stört, ist dass sich die Schüler wieder mit Benutzernamen und Passwort anmelden müssen.
Schön wäre eine Möglichkeit zu checken, ob die Voucher noch gültig sind. Wenn nicht, wird der entsprechende Voucher diskonnectet. Naja, vielleicht in einer zukünftigen Version…
Viele Grüße und auch dir einen guten Rutsch,
Mathias

…. aber das ist doch nur eine Frage der Gültigkeitsdauer der Voucher — oder verstehe ich Dich falsch?

Hallo Michael,
in dem Fall geht es nicht um die Voucher die jemandem eine bestimmte Zeit im WLAN freischalten.
Es geht um die Autorisierung über LDAP. Schüler, die sich mit ihren Zugangsdaten und in der Gruppe wifi sind können sich anmelden. Sie bekommen von der OpnSense auch einen „Voucher“. Den kann man natürlich nach einer bestimmten Zeit (Harte Gültigkeitsdauer) auch ablaufen lassen. Danach muss sich der Schüler wieder anmelden.

Ist er dann nicht mehr in der Gruppe wifi, weil ihm beispielsweise ein Lehrer das WLAN in der Schulkonsole gesperrt hat, kann er sich nicht mehr anmelden.
Ist er noch in der Gruppe wifi kann er sich natürlich erfolgreich anmelden.

Stellt man Harte Gültigkeitsdauer auf 5 Minuten, können Schüler, denen man das WLAN gesperrt hat spätestens nach 5 Minuten nicht mehr ins WLAN. Der Haken an der Sache ist, dass sich dann die Schüler alle 5 Minuten neu anmelden müssen :frowning:

Bei uns habe ich die Leerlaufzeit auf 6 Std gestellt. Ist das Gerät eines Schülers 6 Std inaktiv wird sein Voucher gesperrt und er muss sich neu anmelden. Das passiert spätestens nachts. Die Schüler müssen sich also jeden morgen anmelden, was ich für vertretbar halte.
Wenn allerdings ein Kollege einem Schüler den WLAN-Zugang sperrt, greift das erst am nächsten Tag :frowning:

Toll wäre es, wenn man mit einem Cron-Job alle 5 Minuten die Voucher check, ob ihre Zugangsbedingungen noch erfüllt sind. Die Voucher, bei denen die Zugangsbedingungen nicht mehr erfüllt sind sollten dann gelöscht werden.
Dann müssten sich die Schüler nur einmal mit ihren Gerät anmelden. Schüler, deren der WLAN-Zugang gesperrt wurde, fliegen nach spätestens 5 Min raus.

Das ist das eigentliche Problem.

Gruß,
Mathias

Hi.
Ok – in dem Fall liegt das Verhalten aber meiner Meinung an dem Befehl
/usr/sbin/sophomorix-managementgroup --set-wifi <Profil>, der dafür sorgt, dass sich nach dessen Ausführung alle, die zur Gruppe wifi gehören, neu anmelden müssen, oder?

:thinking:
Viele Grüße,
Michael

Hallo Michael,

sophomorix-managementgroup setzt doch nur die Gruppenzugeförigkeit, oder? Was meinst du mit dem Parameter <Profil>? kann man da irgendwie steuern, dass das Gerät eines Benutzers die Zugangsdaten übermittelt, ohne dass sich eine Eingabemaske öffnet? Das wäre toll.
Gruß,
Mathias

Hi. Also wir machen das so:
In den großen Pausen wird per Cronjob z.B. das hier ausgeführt:
0 11 * * * /usr/sbin/sophomorix-managementgroup --set-wifi oberstufe
Das setzt die Gruppenzugehörigkeit der Gruppe wifi zurück. Anschließend bleiben also alle, die sich unter
/etc/linuxmuster/sophomorix/default-school/wifi.oberstufe.conf befinden auch weiterhin zugangsberechtigt – während alle anderen wieder rausfliegen. Daher meine ich, dass dieser Reset der Gruppenzugehörigkeit auch dafür verantwortlich ist, dass sich anschließend alle neu anmelden müssen – oder ist das falsch??

Das verstehe ich nicht – ich mache das alles per Cronjob. In den großen Pausen wird die Gruppenzugehörigkeit zurückgesetzt. Natürlich kann man aber unterschiedliche .conf-Dateien anlegen (das meinte ich mit <Profil>). Wir haben dort neben der default-Datei auch die Datei wifi.oberstufe.conf. Wie der Name schon sagt, wird der Zugang zur Gruppe wifi damit auch der ganzen Oberstufe gestattet…

Ich bin nicht ganz sicher, ob wir nun aneinerander vorbei geredet haben … :thinking:
Viele Grüße,
Michael

Hallo Michael,

Ein bisschen.
Mein Problem ist nicht die Gruppenzugehörigkeit zu wifi. Das regeln die Kollegen über die Schulkonsole.

Wenn die Voucher gelöscht werden, müssen sich alle SuS neu anmelden. D.h. eine Anmeldemaske öffnet sich und der Benutzer muss seine Daten erneut eingeben.

Ich habe unter System->Zugang->Server eine LDAP-Abfrage angelegt, die checkt, ob ein Benutzer in der Gruppe wifi ist und ob Benutzername und Passwort stimmen.
In Dienste->Captive Portal->Verwaltung habe ich ein Captive Portal für das Schüler-WLAN erstellt.
Dieses Captive Portal authentifiziert mit der oben beschriebenen LDAP-Abfrage.

All das funktioniert. Und nach 360 Minuten Leerlauf (also am nächsten Tag) ist der Voucher gelöscht und die Schüler müssen sich neu anmelden. Die, die von einem Kollegen das WLAN gesperrt bekommen haben, können sich dann nicht mehr anmelden.

Toll wäre es, wenn ich Leerlaufzeitlimit auf 0 (deaktiviert) setzen könnte und ab und zu ein Cron-Job die Token checken könnte, ob für die Voucher die LDAP-Abfrage immer noch grünes Licht gibt. Und falls nein, der betreffende Voucher gelöscht werden würde.
Dann würden die Schüler, denen man das WLAN gesperrt hat schneller rausfliegen. Und die anderen Schüler müssten sich nur einmal (am Anfang des Schuljahrs) anmelden.

Wenn das so nicht möglich ist, müssen sich die Schuler halt einmal am Tag anmelden und die Schüler, denen man das WLAN gesperrt hat, können eben am Tag der Sperrung noch surfen. Es gibt Schlimmeres…

Gruß,
Mathias

Hi.
Ok – bei uns „beschweren“ sich auch einige, dass sie sich häufiger neu anmelden müssen und ich hatte das bisher auf den o.g. sophomorix-managementgroup Befehl geschoben. :wink:

Evtl kommst Du weiter, wenn Du Dir auf der OPNSense diesen Befehl ansiehst:
root@firewall:~ # configctl captiveportal list_clients 0 und dort dann die beiden Spalten:
totaltime oder acc_session_timeout :thinking:

Andererseits kommst Du auch an die beiden Felder
expirytime oder endtime, wenn Du Dir das Script
./03_list_voucher.sh <Voucherprovider> <Vouchergroup> aus der o.g. Script-Sammlung ansiehst. Vielleicht hilft das weiter…

Viele Grüße,
Michael

Hallo Michael,

Danke für den Tip. Ich schau mir mal die Skripte etwas genauer an. Wer weiß, vielleicht finde ich eine Lösung.
Gruß,
Mathias