# Captive Portal: und die Gruppe wifi

**URL:** <https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651>\
**Category:** Firewall\
**Tags:** opnsense\
**Created:** [28. Dezember 2022 um 18:44 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651 "2022-12-28T18:44:19Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![rettich](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/rettich/32/52_2.png) [@rettich](https://ask.linuxmuster.net/u/rettich)\
**Post date:** [28. Dezember 2022 um 18:44 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/1 "2022-12-28T18:44:19Z")

</div>

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 Adressen`hinterlegt. 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 ☹  
Folgende Einstellungen habe ich gemacht:

 ![grafik](https://ask.linuxmuster.net/uploads/default/original/2X/0/0d3f573f06a7f0b1f2f7746d8c324b20f04f4323.png)

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

---

<div class="post-metadata">

**Author:** ![Michael](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/michael/32/59_2.png) [@Michael](https://ask.linuxmuster.net/u/Michael)\
**Post date:** [29. Dezember 2022 um 14:18 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/2 "2022-12-29T14:18:14Z")

</div>

> [@rettich](#):
>
> 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

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:

> [@OPNSense: Captive Portal per API steuern (reloaded + HowTo)](https://ask.linuxmuster.net/t/opnsense-captive-portal-per-api-steuern-reloaded-howto/9590):
>
> Hallo in die Runde. Ich mache mal einen neuen Thread auf, damit das Thema nicht irgendwo an 5126136. Stelle verschwindet. Während unseres produktiven Wochenendes In Essen war ich unter anderem damit beschäftigt, unser Captive Portal auf die OPNSense umziehen zu lassen. Die Hintergründe dazu wurden schon vor längerer Zeit in diesen Threads diskutiert: Es ist so: Wir betreiben unser Captive Portal so, dass der Zugriff sowohl mit freeRADIUS über den v7-Server oder wahlweise auch per Vouch…

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

---

<div class="post-metadata">

**Author:** ![rettich](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/rettich/32/52_2.png) [@rettich](https://ask.linuxmuster.net/u/rettich)\
**Post date:** [29. Dezember 2022 um 22:14 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/3 "2022-12-29T22:14:56Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Michael](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/michael/32/59_2.png) [@Michael](https://ask.linuxmuster.net/u/Michael)\
**Post date:** [30. Dezember 2022 um 23:01 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/4 "2022-12-30T23:01:58Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![rettich](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/rettich/32/52_2.png) [@rettich](https://ask.linuxmuster.net/u/rettich)\
**Post date:** [1. Januar 2023 um 12:20 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/5 "2023-01-01T12:20:03Z")

</div>

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 ☹

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 ☹

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

---

<div class="post-metadata">

**Author:** ![Michael](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/michael/32/59_2.png) [@Michael](https://ask.linuxmuster.net/u/Michael)\
**Post date:** [1. Januar 2023 um 14:02 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/6 "2023-01-01T14:02:40Z")

</div>

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?

🤔  
Viele Grüße,  
Michael

---

<div class="post-metadata">

**Author:** ![rettich](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/rettich/32/52_2.png) [@rettich](https://ask.linuxmuster.net/u/rettich)\
**Post date:** [2. Januar 2023 um 11:08 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/7 "2023-01-02T11:08:32Z")

</div>

Hallo Michael,

> [@Michael](#):
>
> 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?

`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

---

<div class="post-metadata">

**Author:** ![Michael](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/michael/32/59_2.png) [@Michael](https://ask.linuxmuster.net/u/Michael)\
**Post date:** [2. Januar 2023 um 11:19 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/8 "2023-01-02T11:19:35Z")

</div>

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??

> [@rettich](#):
>
> kann man da irgendwie steuern, dass das Gerät eines Benutzers die Zugangsdaten übermittelt, ohne dass sich eine Eingabemaske öffnet?

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 … 🤔  
Viele Grüße,  
Michael

---

<div class="post-metadata">

**Author:** ![rettich](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/rettich/32/52_2.png) [@rettich](https://ask.linuxmuster.net/u/rettich)\
**Post date:** [2. Januar 2023 um 12:00 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/9 "2023-01-02T12:00:53Z")

</div>

Hallo Michael,

> [@Michael](#):
>
> Ich bin nicht ganz sicher, ob wir nun aneinerander vorbei geredet haben … 🤔

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.

 ![grafik](https://ask.linuxmuster.net/uploads/default/original/2X/2/2144232ee4082cd6a03f6e559f3e62af0e4fa086.png)

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

---

<div class="post-metadata">

**Author:** ![Michael](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/michael/32/59_2.png) [@Michael](https://ask.linuxmuster.net/u/Michael)\
**Post date:** [2. Januar 2023 um 14:01 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/10 "2023-01-02T14:01:58Z")

</div>

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. 😉

_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` 🤔

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

---

<div class="post-metadata">

**Author:** ![rettich](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/rettich/32/52_2.png) [@rettich](https://ask.linuxmuster.net/u/rettich)\
**Post date:** [2. Januar 2023 um 18:07 UTC](https://ask.linuxmuster.net/t/captive-portal-und-die-gruppe-wifi/9651/11 "2023-01-02T18:07:22Z")

</div>

Hallo Michael,

> [@Michael](#):
>
> _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` 🤔

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