Captive Portal: Diverse Fragen

Started by TheExpert, March 01, 2026, 02:53:04 PM

Previous topic - Next topic
    Hallo zusammen,

    nachdem ich nun auch das Captive Portal am Laufen habe, stellen sich mir ein paar Fragen:

    • Gibt es eine Möglichkeit, dass man statt Benutzernamen und Passwort einfach nur einen Code eingeben muss, den man als Voucher erzeugt hat? Die Eingabe eines kryptischen Benutzernamens und eines kryptischen Passwortes ist schon recht umständlich - für ein Gäste-WLAN zu umständlich. Bei den Grandstream Access Points benötigt man nur einen Zahlencode, den man als Voucher erstellt.
    • Ich betreibe die OPNsense als HA-Cluster. Das Portal reagiert aber nur auf die physikalische IP im Gast-Netz und nicht auf die CARP-IP. Ist das normal und ist das sinnvoll? Beim Failover muss man sich ja dann ggf. an der physikalischen IP-Adresse des zweiten Knotens anmelden.
    • Und daran schließt sich auch schon die nächste Frage an: Die Einstellungen des Captive Portal werden auf den Backup-Knoten synchronisiert, aber die Voucher nicht. D. h. es kann sich niemand mit den ihm bekannten Vouchern im Gäste-Netz anmelden, wenn ein Failover erfolgt ist. Ist das per Design so gewollt? Das macht doch eigentlich keinen Sinn, oder?

    Klar kann man jetzt sagen, dass das Gäste-Netz nicht so wichtig ist und daher keine Ausfallsicherheit erfordert, aber dennoch fände ich es gut, wenn sich die Gäste mit den bekannten Vouchern auch am Backup-Knoten authentifizieren können.

    Vielen Dank und viele Grüße

Quote from: TheExpert on March 01, 2026, 02:53:04 PMGibt es eine Möglichkeit, dass man statt Benutzernamen und Passwort einfach nur einen Code eingeben muss, den man als Voucher erzeugt hat?
Hast du versucht, im Authentication Server die Benutzernamenslänge auf 0 zu setzen?

Quote from: TheExpert on March 01, 2026, 02:53:04 PMIch betreibe die OPNsense als HA-Cluster. Das Portal reagiert aber nur auf die physikalische IP im Gast-Netz und nicht auf die CARP-IP.
Was meinst du mit "reagiert auf die physikalische IP?

Die Client-Anfragen werden einfach auf die Interface IP umgeleitet (oder der Client erhält die IP schon vom DHCP). Welche das ist, sollte doch egal sein.
Wenn die Backup-Box Master ist, dann werden die Clients eben auf deren IP umgeleitet.

Quote from: TheExpert on March 01, 2026, 02:53:04 PMDie Einstellungen des Captive Portal werden auf den Backup-Knoten synchronisiert, aber die Voucher nicht.
Hast du die Synchronisation der Authentication Server aktiviert?

Nein, die Länge des Benutzernamens auf 0 zu setzen, habe ich nicht getestet. Ist das nun lediglich ein Vorschlag zum Testen oder ist bekannt, dass das funktioniert?

IP-Adresse: Nein, es ist nicht egal, welche IP-Adresse genommen wird, denn im HA muss die CARP-IP genommen werden. Anderenfalls ist ja kein HA für das Captive-Portal möglich. Mit physikalischer IP meine ich die IP des OPNsense-Knotens im Gäste-VLAN anstelle der virtuellen CARP-IP.

Synchronisation: Ja, die Authentication Server werden in meiner HA-Konfiguration ebenfalls synchronisiert. Das Verhalten, dass die Voucher nicht synchronisiert werden, ist hier im Forum schon mindestens seit 2021 bekannt und offenbar ist das bisher noch nicht gefixt worden (siehe z. B. https://forum.opnsense.org/index.php?topic=24239.0).

Wenn man als Länge für den Benutzernamen "0" eingibt, erscheint folgende Fehlermeldung:

Die folgenden Eingabefehler wurden entdeckt:
  • Benutzernamenlänge muss eine Zahl oder leer für den Standardwert sein.

Das funktioniert also schon mal nicht :-(.

Quote from: TheExpert on Today at 08:27:16 AMWenn man als Länge für den Benutzernamen "0" eingibt, erscheint folgende Fehlermeldung:

Die folgenden Eingabefehler wurden entdeckt:
    • Benutzernamenlänge muss eine Zahl oder leer für den Standardwert sein.
    [/list]
    Das war ein Vorschlag, es zu versuchen.
    Aber wahrscheinlich hatte ich das selbst schon getan und dieselbe Erfahrung gemacht, jedoch vergessen. Die Fehlermeldung brachte mir ein Déjà-vu.

    Okay, nicht synchronisiert werden die offenen Vouchers. Also man kann sich mit dem genutzten Voucher bei einem Wechsel auf die Backkup-Box nicht wieder anmelden.

    Das Problem mit der Interface IP verstehe ich aber nicht. Das einzige, was in CP angegeben werden kann ist der Hostname, auf den die Webanfragen umgeleitet werden. Dieser kann per DNS an die CARP-IP gebunden sein, kann aber auch an ein anderes Gerät gebunden oder es kann auch die CARP IP selbst sein.
    Aber das CARP Service selbst wird ja nicht an eine IP gebunden.
    Ich frag mich daher, was da nicht funktioniert.

    Today at 06:17:26 PM #5 Last Edit: Today at 06:21:43 PM by TheExpert
    Quote from: viragomann on Today at 09:18:23 AMAber das CARP Service selbst wird ja nicht an eine IP gebunden.

    Du meinst vermutlich das Captive Portal und nicht CARP Service, oder? Denn CARP ist an Schnittstellen und IP-Adressen gebunden. Ich lege lediglich fest, für welche Netzwerke, aber in der Tat nicht, über welche IP-Adresse das Captive Portal erreichbar sein soll.

    Quote from: viragomann on Today at 09:18:23 AMIch frag mich daher, was da nicht funktioniert.

    Wenn man die URL des Captive Portal mit http://<CARP-IP-Adresse>:8000/ aufruft, kommt ein Timeout. Wenn man http://<IP-Adresse des HA-Knotens>:8000/ aufruft, dann erscheint das Captive Portal.

    Quote from: TheExpert on Today at 06:17:26 PMDu meinst vermutlich das Captive Portal und nicht CARP Service, oder?
    Ja, sorry.

    Quote from: TheExpert on Today at 06:17:26 PMWenn man die URL des Captive Portal mit http://<CARP-IP-Adresse>:8000/ aufruft, kommt ein Timeout. Wenn man http://<IP-Adresse des HA-Knotens>:8000/ aufruft, dann erscheint das Captive Portal.
    Eigentlich sollte nichts davon funktionieren. Der Port 8000 ist für https gedacht. Mit http müsste der Aufruf fehlschlagen.

    Wenn das aber ein Schreibfehler ist oder der Browser automatisch unbemerkt auf https gewechselt ist, würde das heißen, die Webseite ist nur an die Interface-Adresse gebunden.

    Ich verstehe aber immer noch nicht, weswegen es die CARP IP sein muss. Ebenso gut kannst du die IP der Backup-Node in den URL reinsetzen und die Webseite sollte auch aufgehen.
    Wie oben geschrieben, wenn CP synchronisiert wird, sollte auf der Backup die Loginseite ebenso auf der Interface IP bereitstehen.
    Also wenn diese Master ist, macht sie eben die Umleitung auf ihre Interface IP. Dem Client sollte das egal sein.

    Wenn du es aber dennoch auf der CARP VIP haben möchtest, dann leite die Anfragen eben auf die Interface-Adresse weiter.
    Also eine Destination NAT Regel am jeweiligen Interface erstellen mit der CARP VIP als Destination und Port 8000 (f. Zone 0) und als Redirect Target die Interface Adresse (die vordefinierte Variable, damit die Regel auch auf der Backup funktioniert) und Port 8000.
    Dies ist für https. Für http wäre noch eine Regel mit Zielport 9000 nötig.