Captive Portal mit pfSense
Teil 4 - Hot Spot mit Captive Portal einrichten
Mit der freien Software pfSense lassen sich Router, Firewalls, VPN-Gateways, Proxys und Hot Spots realisieren.
In diesem Teil des Tutorials beschreibe ich die Einrichtung eines Wireless Hotspots mit dem Captive Portal von pfSense.
Funktionsweise eines Captive Portals
Die pfSense verbindet als Router das WLAN mit dem Internet. Ohne Captive Portal hätten alle Clients im WLAN
freien Zugriff auf das Internet. Das Captive Portal gibt den Zugriff auf das Internet erst nach einer
erfolgreichen Anmeldung frei. Dazu muss sich jeder Benutzer mit einem Benutzernamen und einem Kennwort
anmelden.
Netzwerk mit pfSense und drei Access Points
Alle HTTP-Zugriffe werden auf die Anmeldeseite des Captive Portals umgeleitet.
Das Captive Portal steuert den Zugriff auf alle Dienste. Auch für die Nutzung von Email (POP3, IMAP) oder
VPN ist zuerst eine Anmeldung im Browser erforderlich.
pfSense kennt neben der Anmeldung mit Benutzernamen auch Gutscheine (Voucher). Jeder Gutschein-Code
berechtigt den Besitzer des Vouchers das Internet für eine bestimmte Zeit zu nutzen.
Optionen des Captive Portals
Das Portal wird im Webinterface unter Services / Captive Portal
aktiviert und konfiguriert. Die Funktionen des Portals können über die folgenden
Parameter gesteuert werden.
Option |
Beschreibung |
Enable captive portal |
Diese Option aktiviert das Captive Portal von pfSense. |
Interface |
Hier können Sie festlegen, auf welchem Interface das Portal aktiv sein soll.
Denkbar wäre eine Lösung mit verschlüsselten Access Point auf einem Interface ohne
Captive Portal und offenen WLAN-APs auf einem Interface mit Captive Portal.
Auch eine Lösung mit Multi-SSID und Aufteilung auf VLANs ist mit pfSense umsetzbar.
|
Maximum concurrent connections |
Dieser Wert gibt an, wie viele User gleichzeitig die Anmeldeseite des Portals aufrufen können.
|
Idle timeout |
Benutzer die für die hier angegebene Zeit keine Daten übertragen werden abgemeldet. |
Hard timeout |
Nach dem Hard timeout werden auch aktive Nutzer abgemeldet. In der Praxis sollte immer ein Idle oder Hard Timeout
eingestellt werden. Ansonsten sammeln sich viele alte Sessions im Portal an. |
Logout popup window |
Mit dieser Option blendet pfSense ein Abmeldefenster in den Browser des Clients ein. |
Redirection URL |
Wird hier eine URL eingetragen, wird jeder Benutzer nach der Anmeldung auf diese Seite geleitet.
Vorstellbar wäre eine Seite mit Hinweisen zur Nutzung des Internetzuganges. |
Concurrent user logins |
Normalerweise kann sich ein Benutzer auch mehrfach anmelden. Wird die Option "Disable concurrent logins"
aktiviert, führt eine zweite Anmeldung zur Abmeldung der ersten Session.
|
MAC filtering |
pfSense überprüft die MAC-Adresse jedes Clients. Befinden sich die Clients nicht im selben Layer-2-Netz wie die pfSense (hinter einem Router)
sollte "Disable MAC filtering" aktiviert werden.
|
Per-user bandwidth restriction |
Hier können Sie die maximale Bandbreite pro Benutzer festlegen.
Mit entsprechenden Einstellungen kann ein einzelner Benutzer nicht die
Internetverbindung blockieren.
|
Authentication |
Für die Überprüfung der Anmeldedaten kann ein RADIUS-Server oder die lokale Benutzerdatenbank (Local User Manager)
abgefragt werden. In diesem Beispiel legen wir lokale Benutzer auf der pfSense an.
|
HTTPS login |
Bei Bedarf kann pfSense die Anmeldeseite auch per HTTPS verschlüsseln.
Dazu muss auch das entsprechende SSL-Zertifikat in die Firewall geladen werden.
|
Portal page contents |
Die Anmeldeseite des Captive Portals kann in HTML selber gestaltet werden. Hier kann die Seite in
die Firewall geladen werden. |
Authentication error page contents |
Hier können Sie das Aussehen der Fehlerseite bei Anmeldefehlern festlegen. |
Jede Änderung der Einstellung meldet alle aktiven Benutzer vom Portal ab.
An produktiven Systemen ist also etwas Vorsicht angesagt.
Beispielkonfiguration
Vor der Aktivierung des Captive Portals sollte das Netzwerk mit der pfSense fertig eingerichtet sein.
Alle Clients sollten Zugriff auf das Internet haben.
Für einen ersten Test machen wir unter Services / Captive Portal die folgenden Einstellungen:
Option |
Beschreibung |
Enable captive portal |
aktiviert |
Interface |
LAN |
Idle timeout |
5 Minuten |
Hard timeout |
10 Minuten |
Authentication |
Local User Manager |
Jetzt benötigen wir noch einen Benutzer. Dieser wird im Menü
System / User Manager angelegt.
Greifen Sie nun mit einem Client aus dem LAN auf www.google.de zu.
Es wird die Anmeldeseite der Captive Portals angezeigt. Geben Sie die Anmeldedaten des gerade angelegten Benutzers ein.
Anmeldeseite des Captive Portals von pfSense
Nach einer erfolgreichen Anmeldung werden Sie zu Google weitergeleitet.
Sollte die Anmeldung nicht erfolgreich sein, zeigt pfSense diese Fehlerseite an:
Anmeldung war nicht erfolgreich
Monitoring und Fehlersuche
Im Menü Status / Captive Portal werden alle aktiven Session angezeigt. Sie sehen die MAC-Adresse, IP-Adresse und
den Benutzernamen der Session.
Übersicht der aktiven Sessions
Unter Status / System logs / Portal Auth protokolliert ein Log alle Aktionen des Captive Portals.
Hier werden auch Anmeldefehler aufgezeichnet. Ein Widget zur Anzeige der aktiven Sessions des Captive Portals
lässt sich auf dem Dashboard einblenden.
Alle Teile des pfSense-Tutorials
Weiterführende Informationen zu pfSense
|