Hallo zusammen,
ich möchte euch kurz ein Projekt vorstellen, das wir auf Basis der Anforderungen einiger Schulen, die wir betreuen, entwickelt haben. Es verbessert die Integration von linuxmuster.net mit OPNsense – insbesondere bei der Alias-Synchronisation sowie beim Captive Portal (Voucher & Sessions).
1) linuxmuster-opnsense (CLI-Tools + Hooks)
Das Repo linuxmuster-opnsense ist eine Sammlung von Integrationstools für die Anbindung von linuxmuster.net an OPNsense. Enthalten sind u.a.:
- Synchronisation von IP-Aliasen auf der OPNsense (z.B. Rollen, Räume, Hardwaregruppen)
- Verwaltung von Captive-Portal-Vouchern (erstellen / listen / löschen)
- Aktive Captive-Portal-Sessions auflisten und gezielt trennen
- Hooks, z.B. automatisches Aktualisieren der Aliase nach einem Geräte-Import
Konfiguration erfolgt pro Schule über eine .ini unter /etc/linuxmuster/opnsense/… (API Key/Secret, base_url, optional SSL-Checks etc.).
Beispiele (CLI):
# Aliase aktualisieren (Rollen/Räume/HW-Gruppen je nach INI)
opn-update-aliases --school MEINE_SCHULE
# Voucher-Gruppen anzeigen / Voucher erzeugen
opn-captive-voucher list
opn-captive-voucher create test --count 5 --validity 4h --expiry 1d
# Captive-Portal Sessions anzeigen / trennen
opn-captive-sessions
opn-captive-sessions --kill-username alice
(Die Subcommands/Optionen sind im README ausführlich beschrieben.)
Zusätzlich gibt es u.a. einen Hook, der beim Entfernen eines Users aus der Gruppe wifi (optional via kill_session = True) dessen Captive-Portal-Sessions automatisch beendet.
2) linuxmuster-opnsense-webui (WebUI-Plugin lmn_opnsense)
Das zweite Repo liefert ein Plugin für die linuxmuster WebUI (lmn_opnsense), um typische OPNsense-/Captive-Portal-Aufgaben komfortabel über die Oberfläche zu erledigen, z.B.:
- Captive-Portal Sessions: listen (inkl. Filter), Pagination, Sessions trennen (einzeln oder alle eines Users)
- Voucher-Verwaltung: Voucher mit Gültigkeit/Ablauf erzeugen, CSV-Export, einzelne Voucher expirieren, ganze Gruppen löschen
Wofür ist das praktisch?
Typische Use-Cases sind z.B.:
- Gäste-/Projekt-WLAN mit Voucher-Codes (schnell neue Voucher erzeugen, aufräumen, exportieren)
- Dynamische Firewall-Regeln über automatisch gepflegte Aliase (Räume/Rollen/HW-Gruppen), die nach Geräteimporten direkt aktualisiert werden
- Troubleshooting/Missbrauch: Sessions schnell finden und trennen
Repos
Viele Grüße
Kevin


