# OPNsense Integration Alias-Synchronisation - Captive Portal (Voucher & Sessions)

**URL:** <https://ask.linuxmuster.net/t/opnsense-integration-alias-synchronisation-captive-portal-voucher-sessions/12027>\
**Category:** Firewall\
**Created:** [19. Januar 2026 um 11:16 UTC](https://ask.linuxmuster.net/t/opnsense-integration-alias-synchronisation-captive-portal-voucher-sessions/12027 "2026-01-19T11:16:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kstenzel](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/k/db5fbb/32.png) [@kstenzel](https://ask.linuxmuster.net/u/kstenzel)\
**Post date:** [19. Januar 2026 um 11:16 UTC](https://ask.linuxmuster.net/t/opnsense-integration-alias-synchronisation-captive-portal-voucher-sessions/12027/1 "2026-01-19T11:16:39Z")

</div>

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](http://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](http://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):**

```auto
# 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

 ![image](https://ask.linuxmuster.net/uploads/default/original/2X/d/d46b2db3f9386aafce2cd0944b68c79abc56140d.jpeg)

 ![image](https://ask.linuxmuster.net/uploads/default/original/2X/4/4ca5d09c546e493e26643871080461fef7d09d24.jpeg)

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

> **[GitHub - ks98/linuxmuster-opnsense: Integrationstools für die Anbindung von...](https://github.com/ks98/linuxmuster-opnsense)**
>
> Integrationstools für die Anbindung von linuxmuster.net an OPNsense.

> **[GitHub - ks98/linuxmuster-opnsense-webui: Linuxmuster Webui Plugin lmn\_opnsense](https://github.com/ks98/linuxmuster-opnsense-webui)**
>
> Linuxmuster Webui Plugin lmn\_opnsense

Viele Grüße  
Kevin

---

<div class="post-metadata">

**Author:** ![baumhof](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/baumhof/32/1504_2.png) [@baumhof](https://ask.linuxmuster.net/u/baumhof)\
**Post date:** [19. Januar 2026 um 12:06 UTC](https://ask.linuxmuster.net/t/opnsense-integration-alias-synchronisation-captive-portal-voucher-sessions/12027/2 "2026-01-19T12:06:43Z")

</div>

Hallo Kevin,

wie cool ist das den?  
Vielen Dank!  
Ihr habt also scripte für den lmn Server geschrieben, die die API des Captiv Portals auf der OPNsense ansprechen und dann noch ein WebUI Plugin gemacht, damit man das auch in der WebUI steuern kann.

Ist das ein global-admin Plugin, oder kann dann jeder Lehrer selber Voucher erstellen und Sitzungen trennen, die mit „seinen“ Vouchern eröffnet wurden?  
Captiv Portal Sitzungen, die per „Benutzername und Passwort“ eröffnet wurden tauchen da auch auf?  
Also welche die nciht „von“ Vouchern stammen?  
Aber das ist dann nicht mehr Lehrern zuordnungsbar, oder?

LG  
Holger

---

<div class="post-metadata">

**Author:** ![kstenzel](https://ask.linuxmuster.net/letter_avatar_proxy/v4/letter/k/db5fbb/32.png) [@kstenzel](https://ask.linuxmuster.net/u/kstenzel)\
**Post date:** [19. Januar 2026 um 13:25 UTC](https://ask.linuxmuster.net/t/opnsense-integration-alias-synchronisation-captive-portal-voucher-sessions/12027/3 "2026-01-19T13:25:49Z")

</div>

Hallo Holger,

> [@baumhof](#):
>
> Ihr habt also scripte für den lmn Server geschrieben, die die API des Captiv Portals auf der OPNsense ansprechen und dann noch ein WebUI Plugin gemacht, damit man das auch in der WebUI steuern kann.

Ja, genau. Im Grunde sprechen wir die OPNsense-API an und stellen die Funktionen zusätzlich über ein WebUI-Plugin bereit.

> [@baumhof](#):
>
> Ist das ein global-admin Plugin, oder kann dann jeder Lehrer selber Voucher erstellen und Sitzungen trennen, die mit „seinen“ Vouchern eröffnet wurden?

Das Plugin ist so ausgelegt, dass jeder Lehrer selbst Voucher erstellen kann. Was noch ergänzt werden muss: Auch Benutzer, die als Staff angelegt sind, sollen (optional) Voucher erstellen dürfen. Ich bin mir aber noch nicht sicher, ob das in der Praxis wirklich eine gute Idee ist.

> [@baumhof](#):
>
> Captiv Portal Sitzungen, die per „Benutzername und Passwort“ eröffnet wurden tauchen da auch auf?

Ja. Es gibt aktuell ein Fenster (momentan nur für Global-Admins/Schuladmins), das Sitzungen anzeigt, die per Benutzername/Passwort aufgebaut wurden. Standardmäßig werden alle Zonen angezeigt, die es in der OPNsense gibt – man kann aber auch nach Zonen-ID filtern. Zusätzlich gibt es ein separates Fenster für Lehrer, in dem Voucher erstellt werden können.

Wir verwenden das meistens mit drei SSIDs/VLANs:

- Schüler-WLAN (Captive Portal mit LDAPS-Auth für alle in der Gruppe wifi, damit auch die Funktionen der Schulkonsole funktionieren).  
Zusätzlich gibt es einen Hook, der sofort alle Sessions eines Schülers trennt, sobald im Webinterface die Gruppe wifi entfernt wird. So entsteht kein Delay und der Schüler hat unmittelbar kein WLAN mehr.
- Lehrer-WLAN (Captive Portal mit LDAPS-Auth für alle in der Gruppe teachers)
- Voucher-WLAN (Captive Portal mit Voucher-Auth-Server der OPNsense)

Man kann Schüler- und Voucher-Zugänge aber auch problemlos über ein WLAN abbilden.

> [@baumhof](#):
>
> Also welche die nciht „von“ Vouchern stammen?  
> Aber das ist dann nicht mehr Lehrern zuordnungsbar, oder?

Noch nicht im WebUI, aber in der OPNsense selbst schon. Alle Voucher werden unter der jeweiligen Gruppe mit Benutzernamen angelegt (siehe Screenshot):

 ![image](https://ask.linuxmuster.net/uploads/default/original/2X/b/b583d7d585ed408ba878fac15ca8b2d8e902ea83.jpeg)

Grüße  
Kevin

---

<div class="post-metadata">

**Author:** ![Arnaud](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/arnaud/32/28_2.png) [@Arnaud](https://ask.linuxmuster.net/u/Arnaud)\
**Post date:** [19. Januar 2026 um 20:10 UTC](https://ask.linuxmuster.net/t/opnsense-integration-alias-synchronisation-captive-portal-voucher-sessions/12027/4 "2026-01-19T20:10:10Z")

</div>

Hallo Kevin,

Ich habe noch keine Zeit gehabt es genauer anzuschauen, aber ich finde es sehr cool, danke !

Gruß

Arnaud
