Aktivieren und deaktivieren von Internet/Wifizugriff über die WebUI schlägt fehl

Liebes Team,

ich möchte gerne dem Kollegium ermöglichen, klassen- bzw. kursbasiert für private Endgeräte der SchülerInnen den WLAN-Zugang zum Internet unterrichtsstundenweise an- bzw. auszuschalten. Einmal wollen wir unseren SuS nicht ermöglichen dauerhaft über unseren Internetzugang ins Netz zu gehen (Kinderschutz) und faktisch reicht unsere Bandbreite auch nicht aus, allen Schülerendgeräten dauerhaft den Internetzugang über unser WLAN zu ermöglichen.

Dazu haben wir ein Subnetz (10.4.X.X) mit eigener VLAN eingerichtet wie auch im Linuxmustermanual vorgesehen (Netzwerksegmentierung — linuxmuster.net latest Dokumentation). Das wird mit eigener SSID über unsere Unifi-APs ausgestrahlt, der Unifi-Controller macht dafür das DHCP. Die Geräte sind nicht in der Geräteliste eingetragen und bekommen von der Firewall Kinderschutz-DNS Server zugeteilt und haben keinen Proxy.

Wir sind noch auf 7.2
-Base…: 7.2.21-0
-Linbo…: 4.2.16-0
-WebUI…: 7.2.85
-Sophomorix…: 3.92.1-3

Nach der Vorrede nun meine Fragen:
A) @Arnaud: Bei Klassenzimmer > Unterricht in der WebUI klicke ich auf meine Klasse / mein Projekt und möchte der Gruppe (oder Einzelnen) das WIFI/Internet wegnehmen oder zulassen, indem ich auf die entsprechenden Checkboxes klicke und bekomme folgenden Fehler:

Exception: string_to_sid: SID vornamenachname is not in a valid format
Traceback (most recent call last):
File „/usr/local/lib/python3.10/dist-packages/aj/api/endpoint.py“, line 77, in wrapper
result = fx(self, context, *args, **kwargs)
File „/usr/lib/linuxmuster-webui/plugins/lmn_session_new/views.py“, line 228, in handle_api_management_group
raise Exception(stderr.decode())

Im gesendeten Datenpaket steht der Benutzername „data“:{„group“:„nointernet“,„users“:[„vornamenachname“]} […]
Wenn ich den von der WebUI generierten Befehl in der Shell ausführe:
/usr/local/sbin/lmntools-managementgroup -g wifi -a vornamenachname
bekomme ich den gleichen Fehler, d.h. der LDAP Befehl wird irgendwie nicht richtig abgesetzt, hier komme ich aber nicht weiter…

B) Da das über die WebUI momentan noch den obigen Fehler hervorruft, habe ich die Gruppenänderung über die Kommandozeile gemacht mit:
sophomorix-managementgroup --nowifi vornamenachname
bzw.
sophomorix-managementgroup --wifi vornamenachname

Jetzt können sich die SuS nach dem --wifi am Radiusserver anmelden und bekommen eine IP, aber wenn ich --nowifi festlege, werden sie nicht rausgeschmissen, sondern erst wenn sie den Accesspoint wechseln (also den Raum verlassen).
Ich hätte es aber gern, dass, sobald der Lehrer das Häkchen bei WIFI in der WebUI entfernt, die SuS aus dem Netz fliegen. Bei Unifi kann ich die Geräte per Hand einzeln rauskicken, aber gibt es über Linuxmuster eine Möglichkeit?

Das --internet und --nointernet hat ja meines Wissens nur Einfluss auf den Proxy, den ich aber in der obigen Netzkonfiguration nicht benutzen (kann?), daher kann ich das nicht nutzen und weiß auch nicht, ob das wiederum sofort Auswirkungen hat.

Viele Grüße,
Adrian

Hallo Adrian,
dahinter steckt das alte Problem mit dem disconnect – guck mal hier:

hth,
Michael

Hallo Adrian,

Ich habe probiert es zu reproduzieren, aber nicht geschafft. Die oben genannte Fehlermeldung ist typisch von einem falschen formatierten samba-tool Komando.

Habt ihr eventuell Hook-Skripts in /etc/linuxmuster/tools/hooks/group-manager/ die diesen Fehler verursachen könnten ?
Was ist genau die Fehlermeldung mit dem Komando /usr/local/sbin/lmntools-managementgroup -g wifi -a vornamenachname ? (das könnte helfen, besser die betroffene Zeile zu identifizieren).

Michael hat schon für das disconnect-Problem geantworten. Das Problem liegt daran, dass die verschiedene AuthServer die Gruppen synchronisieren müssen, und das passiert nicht automatisch.

Es gibt keine einfache Möglichkeit in Linuxmuster es zu steuern, da jede Infrastruktur in jede Schule anders ist. Einige Schulen verwenden Unifi Controller (da kann man es mit der internen API steuern), oder HP Pro Curve, oder …

Bei FW verwenden Schule OPNSense, oder Sophos, oder Cisco, oder … Je nach Hardware und Infra muss es eine angepasste Lösung geben.
Das einzige was wir (die Community hier) machen können, ist Erfahrung sammeln, und gemeinsame Schnittstellen für die übliche Austattungen (z.B. Unifi) bereitstellen.

Ich habe kein Problem ein API zu schreiben oder zu verwenden (außer die von Untis … -_- ), aber ich kenne mich wenig aus mit Wlan-Auth.

Gruß

Arnaud

Lieber Michael, lieber Arnaud,

vielen Dank für die schnellen und hilfreichen Antworten. Was das disconnect betrifft werde ich versuchen, das alte Script auf das in Michaels Link verwiesen wird, für unseren Unificontroller zu adaptieren (oder über den Radius auf dem Linuxmusterserver) und vielleicht komme ich dann nochmal darauf zurück, um zu erfragen, ob man das dann über die WebUI vielleicht triggern kann.

Was das andere Problem betrifft:

  • nein wir haben keine Hook-Skripts
  • lmntools-managementgroup -g wifi -a vornamenachename liefert leider auch nur:
    „string_to_sid: SID vornamenachname is not in a valid format“
  • wie und wo kann ich mir den erzeugten samba-tool Befehl ausgeben lassen, um den Fehler zu finden?

Noch ein Nachtrag: Wenn ich
samba-tool group removemembers wifi vornamenachname -d 3 verwende bekomme ich:

lpcfg_load: refreshing parameters from /etc/samba/smb.conf
ldb_wrap open of secrets.ldb
string_to_sid: SID vornamenachname is not in a valid format
Removed members from group wifi

D.h. es sieht so aus, als ob der Befehl richtig ausgeführt wird, aber trotzdem eine Fehlermeldung kommt. Tatsächlich ist auch das Häkchen in der WebUI, trotz der Fehlermeldung nach dem Aufnehmen in die Gruppe WIFI da, und nach dem Uncheck der Checkbox und der Fehlermeldung auch weg.
Wenn ich im LDAP Browser nachsehe, wird das Attribut auch hinzugefügt und entfernt.

Vielleicht auch passend dazu:

Hallo Adrian,

Ok, danke für die Recherchen. Da kann ich momentan nur sagen, dass etwas auf eurem Server mit Samba nicht stimmt, vielleicht ein Problem mit id mapping, das kann ich so nicht beurteilen.

Zu lmntools-managementgroup, ich bin nicht sicher, ob ich es richtig verstanden habe: sind die Änderungen im LDAP nach dem Befehl vorgenommen ? Hast du es mit dem LDAP-Browser geprüft ?

Gruß

Arnaud

Lieber Arnaud,

der Fehler war, dass ich in der smb.conf.admin den Debuglevel hochgesetzt hatte:
log level = 3 passdb:5 auth:5
Damit ist die Ausgabe des Sambabefehls vermutlich so ausführlich, dass Dein Parser einen Fehler sieht, wo keiner ist. Jedenfalls wenn ich diese Zeile entferne, meldet die WebUI keinen Fehler mehr und die Ausgabe von
samba-tool group removemembers wifi vornamenachname
liefert auch nur noch
Removed members from group wifi

Vielen Dank für die Hilfe, bleibt noch Teil B) der Originalfrage, da arbeite ich noch dran …