huaweinetwork
Goto Top

OPNSense Captive Portal ohne Interface

Hallo liebe Kollegen!

ich hoffe ihr seid alle gut im neuem Jahr gelandet.

Seit kurzem beschäftige ich mich mit OPNSense. Die ersten Erfahrungen damit sind mehr als positiv.
Jetzt stehe ich vor einem "Problem" und frage mich ob das in meiner Konstellation möglich ist.

Folgende Infrastrukur:
network

Auf dem Layer3 Switch terminieren alle Netze. Ist also Gateway für Management, Workstation, Guest, etc.
Zwischen OPNSense und L3 Switch ist ein Routing Netz. Netze werden via OSPF ausgetauscht.

Jetzt würde ich gerne für das Guest Network ein Captive Portal einrichten.
Auf der OPNSense unter Captive Portal - [Zone] kann ich nur mein Routing Interface wählen.

Dann würde das aber bei allen Netzen greifen. Gibt es einen Trick, hier nur das Guest Network zu hinterlegen?
Ohne das Gateway vom Guest Network auf die OPNSense zu verschieben face-smile

Danke!

lg

Content-ID: 41442791819

Url: https://administrator.de/contentid/41442791819

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

10138557388
10138557388 03.01.2024 aktualisiert um 15:12:10 Uhr
Goto Top
Aloha.

Das Captive Portal arbeitet auf Basis von MAC Adressen für die Freischaltung von Stationen keine IP-Adressen, ergo muss das Netz per Layer-2 angebunden sein damit dieses seine Arbeit machen kann. Arbeite für die Netze die ein Captive Portal benötigen mit VLANs die vom Switch an die OPNSense durchgereicht werden dann kannst du dieses nutzen.
VLAN Interface an der OPNSense und Switch anlegen, IP Details auf dem Interface angeben, am Switch das VLAN tagged auf den Port zur OPNSense legen, tagged zu den Wifi-APs und untagged auf die Accessports.

PJ.
aqui
aqui 03.01.2024 aktualisiert um 19:08:26 Uhr
Goto Top
Gibt es einen Trick, hier nur das Guest Network zu hinterlegen?
Ja, den gibt es natürlich. Kollege @10138557388 hat es oben ja schon gesagt.
Dadurch das du das Gast VLAN fälschlicherweise auf dem L3 Switch auch im Routing terminiert hast, hast du einen fatalen Design Fehler im Netzwerk gemacht. face-sad
Kein Verantwortungsvoller Netzwerker würde ein ungesichertes Netzsegment wie das Gastnetz auf einem L3 Switch per Routing terminieren. So liegt dieses Netz routingtechnisch am zentralen L3 Knoten was ein absolutes NoGo ist aus Sicherheitssicht ist, denn der L3 Switch besitzt keine SPI Firewallfunktion sondern nur bedingt sichere, nicht stateful Accesslisten.

Lösung:
Entferne das L3 Interface des Gastnetzes auf dem L3 Switch und reiche dieses Gast VLAN als reines Layer 2 only VLAN tagged parallel zu deinem Koppel VLAN direkt an die Firewall durch auf ein dortiges dediziertes Gast VLAN Interface.
Damit terminierst du das Gastnetz wasserdicht und sicher an einer SPI Firewall mit entsprechendem Regelwerk und natürlich deinem geplanten Captive Portal.

So ein hybrider L3 Betrieb mit der Firewall ist immer übliche Best Practise mit ungesicherten Netzwerk Segmenten.
Alles weitere inkl. einem Praxisbeispiel dieses Setups erklärt dir, wie immer, das hiesige Firewall VLAN Tutorial bzw. das Captive Portal Tutorial.
huaweinetwork
huaweinetwork 03.01.2024 um 21:12:12 Uhr
Goto Top
alles klar - dann benötigt das Captive Portal das Interface immer direkt auf der OPNSense
und danke noch für die Auffrischung in den Guest Network Best Practices - da war ja was mit stateful Firewall und so face-smile
QuantumC
QuantumC 29.02.2024 um 09:03:01 Uhr
Goto Top
Zitat von @aqui:

Gibt es einen Trick, hier nur das Guest Network zu hinterlegen?
Ja, den gibt es natürlich. Kollege @10138557388 hat es oben ja schon gesagt.
Dadurch das du das Gast VLAN fälschlicherweise auf dem L3 Switch auch im Routing terminiert hast, hast du einen fatalen Design Fehler im Netzwerk gemacht. face-sad
Kein Verantwortungsvoller Netzwerker würde ein ungesichertes Netzsegment wie das Gastnetz auf einem L3 Switch per Routing terminieren. So liegt dieses Netz routingtechnisch am zentralen L3 Knoten was ein absolutes NoGo ist aus Sicherheitssicht ist, denn der L3 Switch besitzt keine SPI Firewallfunktion sondern nur bedingt sichere, nicht stateful Accesslisten.

Lösung:
Entferne das L3 Interface des Gastnetzes auf dem L3 Switch und reiche dieses Gast VLAN als reines Layer 2 only VLAN tagged parallel zu deinem Koppel VLAN direkt an die Firewall durch auf ein dortiges dediziertes Gast VLAN Interface.
Damit terminierst du das Gastnetz wasserdicht und sicher an einer SPI Firewall mit entsprechendem Regelwerk und natürlich deinem geplanten Captive Portal.

So ein hybrider L3 Betrieb mit der Firewall ist immer übliche Best Practise mit ungesicherten Netzwerk Segmenten.
Alles weitere inkl. einem Praxisbeispiel dieses Setups erklärt dir, wie immer, das hiesige Firewall VLAN Tutorial bzw. das Captive Portal Tutorial.

@aqui
Das ist eine gute Möglichkeit ein Gast VLAN anzubinden, allerdings ist es ebenso übliche Praxis das Gast Netzwerk mit einem VRF an den L3 Core anzubinden, und so zb. mehrere Zonen mit mehreren Distribution L3 Switch zu generieren, die dann jeweils über Transport VLANs (gegeben falls wieder eigene VRFs) die Daten zum jeweiligen übergeordneten Router (L3 Switch) leiten. Das ist gängige Praxis um zb. die MAC Table auf den Routern/Switchen klein zu halten, und auch keinen Site wide VLANs zu haben
Da gibt es dann grundsätzlich drei Möglichkeiten ein Captive Portal zu Implementieren

HTTP redirect
ICMP redirect
Redirect by DNS

Was die OPNsense verwendet weiß ich leider nicht.
Bei diesem Design mit mehreren Zonen ergibt sich auch das Problem das sich gegebenenfalls die IPs (Subnetzte) der Endgeräte ändern, zb wenn ein Client von einer Zone in einen andere geht (Große Public WLAN Netze).
Der DHCP Server müsste der OPNsense (dem Captive Portal also die MAC Adresse/IP Adresse mitteilen) was die OPNsense glaube ich nicht kann.
Eine Möglichkeit wäre PacketFence mit KeaDHCP.
aqui
aqui 29.02.2024 um 09:45:23 Uhr
Goto Top
Was größere Strukturen angeht hast du Recht. Da ist VRF oder VxLAN eine sinnvolle Lösung. Ob der L3 Switch des TOs aber VRFs supportet teilt er leider nicht mit. pfSense oder OPNsense scheiden in gerouteten Umgebungen aber aus, da die ihre CP Steuerung nur auf Mac Adress Basis machen.