Im Folgenden wird beschrieben, wie Sie ein Captive-Portal für einen Internetzugang über die kostenfreie Firewall-Software pfSense einrichten können.

Ziel dieser Anleitung ist es, ein internes Netz zu erstellen, das der Konfiguration der Firewall dient, ein Netz für Gäste, sowie deren Zugriffsverwaltung durch ein Captive-Portal. Getrennt durch VLANs und zugehörige Hardware.


Voraussetzungen wie in diesem Beispiel:

  • Installierte pfSense Appliance (Hyper-V o.ä)
    • mit zwei virtuellen Switchen bzw. Netzwerkschnittstellen

Oder:


Nach dem Starten der installierten pfSense Appliance, überspringen wir zunächst die Einrichtung von VLANs und weisen die Netzwerkverbindungen WAN/LAN den jeweiligen Netzwerkkarten zu:

Überspringen der VLAN-Konfiguration

Zuweisung der WAN Schnittstelle / Netzwerkkarte an der, der Router/Gateway angeschlossen ist

Zuweisung der LAN Schnittstelle, also der Netzwerkkarte die an das interne Netzwerk angebunden, sowie auch die Client-Computer – Dies könnte auch ein Switch sein, an dem WLAN-Accesspoints angeschlossen sind

Konfiguration mit “y” quitieren

Hier erfahren wir schon die interne IP der pfSense Backend-Oberfläche, an der wir die Konfiguration fortsetzen

Nach Abschluss der Installation auf der Consolen-Ebene, rufen wir im Browser die IP-Adresse zum Backend auf: 192.168.1.1

Ohne Zertifikat überspringen wir die Sicherheitsmeldung

Standard- bzw. Default-Login für die pfSense Firewall: admin / Kennwort: pfsense


Anschließend führen wir den initialen Setup des Backends durch

Dazu gehören die Festlegung des Hostnamens / Netzwerknamens, sowie der DNS Server

der Zeitzone…

Der WAN-seitigen IP Adresse, also die gegenüber unserem Gateway, in diesem Fall einer FritzBox – Man könnte diese Einstellung auch auf DHCP belassen

Wir vergeben eine Adresse außerhalb des DHCP-Bereiches des Routers

Speichern mit NEXT und vergeben im Anschluss die Adresse …

.. für den LAN Anschluss

Wählen ein Administratives Kennwort und machen im Anschluss lediglich einen RELOAD mit den neuen Einstellungen

Das Kennwort des Administrators kann man später auch unter System / User-Management jederzeit ändern.

Man könnte im nächsten Schritt nun ein VLAN aufsetzen, sofern man nur zwei Netzwerkschnittstellen an seiner Appliance besitzt, bzw. nur eine für das interne LAN. Dies kann sinnvoll sein, da man ein Gastnetz vom internen Netz trennen sollte. So kann man verhindern, dass das Backend der Firewall später auch für Nutzer des Captive-Portals ereichbar ist. Das ganze ist auch ohne VLAN nutzbar. So liegen Geräte einfach im gleichen Netz wie die Management-Console der pfSense, an der internen LAN-Schnittstelle. Dennoch im folgenden die Erklärung und die Erstellung einer solchen Netzwerk-Konstellation.

Dieses Schema veranschaulicht eine mögliche Konfiguration für ein Wifi-Gastnetz auf VLAN-Basis - Der SSID Gast würde man in diesem Fall kein Kennwort geben, sondern als offenes Wifi deklarieren, denn dahinter steht als Sicherheitsinstanz unser Captive-Portal
Dieses Schema veranschaulicht eine mögliche Konfiguration für ein Wifi-Gastnetz auf VLAN-Basis – Der SSID Gast würde man in diesem Fall kein Kennwort geben, sondern als offenes Wifi deklarieren, denn dahinter steht als Sicherheitsinstanz unser Captive-Portal

Auch entsprechende Accesspoints kann man an das VLAN anbinden, die später eine SSID mit Bezug auf die vergebene VLAN-ID ausstrahlen und so die Nutzer gezielt in das Netz des Captive-Portals lotsen.

Mögliche Accesspoints sind z. B. Modelle von Ubiquity.

Unter dem Punkt Interfaces gelangen wir zu dem Punkt VLANs

per + ADD legen wir ein VLAN an

Vergeben eine Tagged VLAN ID (z.B 10) und weisen der Beschreibung user zu

Ein weiteres Mal klicken wir hinter das erstellte VLAN auf + ADD

Anschließend bearbeiten wir noch das neue INTERFACE mit einem Klick auf OPT1

wir aktivieren die Schnittstelle per Haken an Enable interface

Setzen eine Statische IP v4 Adresse

mit einem neuen /24-Netz, z.B. 192.168.100.1

und Speichern am Ende der Seite per SAVE

Anschließend aktivieren wir den DHCP-Server über Services auf dem neu erstellten Netz GAST

wir setzen einen Haken bei Enable DHCP und legen die Range, also den Adressbereich für die zu vergebenden IP-Adressen an Endgeräte fest – In diesem Fall ist der Bereich mit 192.168.100.50 -192.168.100.150 auf 100 Clients limitiert

und Speichern

Nun aktivieren wir das Captive-Portal ebenfalls zu finden unter Services
per + Add Button

Wählen einen Namen für die Zone, z.B. www oder Internet-Zugang

Wählen das GAST Interface als Ziel, sodass gegenüber dem Captive-Portal authentifizierte Nutzer später nur Zugriff auf dieses Netz haben

Unter dem Punkt Enable per-user bandwitdh restriction, kann man den Down– bzw. Upload per Default-Vorgabe für jeden neuen Nutzer beschränken – das heißt, dass jedes neu registrierte Gerät, dessen MAC-Adresse aufgrund einer erfolgreichen Identifizierung/Authentifizierung gegenüber dem Captive-Portal als legitimer Client hinzugefügt wird, automatisch bspw. nur 5 MBit/s Download-Geschwindigkeit erhält – Diese Einstellung lässt sich später individuell je Teilnehmer bearbeiten

Die Authentifizierung geschieht in unserem Fall, in Ermangelung eines Verzeichnisdienstes, den man per RADIUS-Server anbinden könnte, an der lokalen Datenbank der pfSense – An dieser legen wir später auch unsere Nutzer an – weiterin setzen wir den Haken bei Allow only users with “Captive Portal Login” privilege set – letztere EInstellungen nehmen wir bei Erstellung eines Nutzers/Gastes vor

Im Anschluss legen wir unsere Nutzer fest

Dazu öffnen wir unter System den User Manager

+ Add führt uns auch hier weiter

wir legen unseren ersten Nutzer an, etwa mit Login- bzw. User-Namen gast und vergeben ein Password

unter Effective Privileges

Scrollen wir in der Liste Assigned Privileges

Zu dem Punkt Nutzerrechte bzw. User-Services: Captive Portal und wählen es per einfachem Klick an

Jeder Client, der sich nun per Ethernet-Kabel an einem Switch befindet, der an dem LAN-Anschluss der Firewall angeschlossen ist, oder aber sich auf einen entsprechenden Accesspoint verbindet, egal ob Windows-Client, oder Smartphone/Tablet, erhält eine IP-Adresse aus eben diesem Netz. Sofern das Captive Portal auf dem LAN Anschluss aktiviert wurde, erhielte der Client in unserem Fall eine IP-Adresse im Bereich 192.168.1.x. Verbindet er sich auf das Gastnetz, also unser VLAN, so erhält er eine 192.168.100.x, wie in diesem Beispiel.

Dabei fällt die IP-Adresse des Gateways auf die IP-Adresse (192.168.100.1) unseres VLAN-Netzes, das wir zuvor definiert haben. Bei LAN-Netz entsprechend 192.168.1.1

Ruft man nun im Browser die beliebige URL einer Internet-Seite auf, etwa getintogame.de, erscheint das Captive-Portal. Bevor man sich dort also nicht mit einem zuvor angelegten Nutzer authentifiziert, wird einem der Zugang zum Netz blockiert. Geben wir nun aber unseren Nutzer gast ein und das zugehörige Kennwort, werden wir sofort zu der zuvor eingegebenen Internet-Seite weitergleitet.

Weitere Feinheiten, sind Einstellungen, die etwa den Time-Out der Sitzungen betreffen. Wann wird diese getrennt, sodass sich ein Gast-Nutzer erneut authentifizieren muss.

Auch kann man ein eigenes Design für die Portalseite festlegen. Ein eigenes Logo hinterlegen, oder einen Disclaimer.

Weiterhin sollten Endgeräte, wie etwas Smart-TVs, oder auch Sky-Receiver dauerhaft per MAC-Adresse manuell registriert werden. Dies würde innerhalb des Captive-Portals, unter dem Punkt MACs erfolgen, da manche Geräte entweder keinen Browser besitzen, oder über kein Protokoll verfügen, zum Auffordern des Nutzers zur Authentifizierung an einem Captive-Portal, wie es sowohl Android-Smartphones/Tablets, als auch iPhones/iOS Devices vorweisen können.

Daher kann man hier, die gewünschten Endgeräte manuell hinzufügen und ebenfalls die Down- und Upload-Rate festlegen.

Wer möchte, dass sich Nutzer nur ein Mal gegenüber der Firewall authentifizieren müssen, sodass ihre Geräte dauerhaft ins Netz gelangen und sie nicht laufend zur erneuten Leigitimierung aufgefordert werden, dem könnte folgender Beitrag hilfreich sein: Dauerhafter Gast-Zugang per registrierter MAC-Adresse an an Captive-Portal

Wer eine Hardware-FIrewall aufsetzen möchte, dem sei folgender Barebone empfohlen: Zotac Zbox CI329 Barebone nano mini-PC (Intel N4100 quad-core, Intel UHD Graphics 600) – Da er bereits zwei VLAN-fähige NICs also Netzwerkschnittstellen beeinhaltet, eine gute Wahl.