Inhaltsverzeichnis

, , ,

Monowall als Captive Portal

Monowall (→ m0n0wall download) ist zwar eine eigenständige Firewall auf FreeBSD-Basis, kann aber auch als zusätzliche WLAN-Firewall eingesetzt werden. Das mitgelieferte Captive Portal ist eine umfangreiche Hot-Spot-Lösung mit vielen Möglichkeiten, die auch gleichzeitig genutzt werden können. Die Firewall pfSense ist von Monowall abgeleitet, Monowall ist aber m.E. übersichtlicher gestaltet.

Getestetes Szenario in einer virtuellen Umgebung mit linuxmuster.net 6:

1. Installation

Die Maschine mit der .iso-Datei booten, Installation auf HD (Nr.7) auswählen. Nach dem Reboot Maschine ausschalten, „.iso“ entfernen, Bootreihenfolge - zuerst HD - und wieder anschalten.

 m0n0wall console setup
 **********************
 1) Interfaces: assign network ports
 2) Set up LAN IP address
 3) Reset webGUI password
 4) Reset to factory defaults
 5) Reboot system
 6) Ping host

Mit der monowall-Konsole (Nr. 1) LAN-Interface mit em0 verbinden, WAN-Interface mit em1 verbinden, OPT1-interface mit em2 verbinden. Hier kann man u.U. auch VLAN Zugehörigkeiten setzen. Danach Reboot.

2. Zugriff der Monowall-Web-Oberfläche über das WAN-Interface zulassen

Per default erlaubt die Firewall nur über das LAN-Interface einen Zugriff auf die WebGUI.

Zunächst nur das LAN-Interface mit dem Grünen Netz verbinden und auf der monowall-Konsole (Nr. 2) eine feste IP vergeben (z.B. 10.16.1.99, Bit-Count = 12, kein DHCP-Server).
Jetzt an einem Client im grünen Netz im Browser aufrufen: http://10.16.1.99 mit Name „admin“ und Kennwort „mono“. Unter Firewall → Rules → WAN die bestehende Regel „Block Private networks“ löschen und eine neue Regel erstellen:

Pass + WAN + TCP + Source: network 10.16.0.0/12 + Destination: WAN-address + Destintion Port Range: http/http

Die MAC des WAN-Interfaces als Client (hier mit IP 10.16.1.5) in dem workstations-hosts von linuxmuster.net eintragen.

3. (Virtuelle) Verkabelung setzen

Monowall ausschalten und Netzwerkkarten neu zuordnen:

Auf der monowall-Konsole (Nr. 2) für das LAN-interface nun eine dummy-IP vergeben, z.B. 192.168.99.1 mit Maske 24-Bit. Das Interface darf nicht gelöscht werden!

4. Captive Portal aktivieren

WebGUI aufrufen: http://10.16.1.5

WebGUI

Für das Login muss man selbst eine Seite hochladen,

z.B.:

login.html
<html>
WLAN-Captive Portal von Linuxmuster.net und Monowall <br>
<hr>
Bitte melden Sie sich an:<br>
<hr>
<form method="post" action="$PORTAL_ACTION$">
   Benutzer:<input name="auth_user" type="text"><br>
   Kennwort:<input name="auth_pass" type="password"><br>
   Voucher: <input name="auth_voucher" type="text"><br>
   <input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
   <input name="accept" type="submit" value="Anmelden">
</form>
</html>

5. Firewall-Regeln

WebGUI

Unter Firewall → Rules → OPT1

6. Radius-Authentication einstellen

Am linuxmuster.net - Server muss dann freeradius installiert werden:

# apt-get install linuxmuster-freeradius

und die Monowall in /etc/freeradius/clients.conf eingetragen werden:

client monowall {
  ipaddr = 10.16.1.5
  secret = muster123
}

In der Datei /etc/linuxmuster/allowed_ports den Radius-Port für das grüne Subnet freischalten:

allowed_ports
  ... 
  udp domain, ... , 1812
  ...

Und Services neustarten mit:

# service linuxmuster-base restart
# service freeradius restart

Schließlich in der WebGUI der Monowall:

Unter Services → Captive-Portal → Authentication → RADIUS Authentication

IP-Address:    10.16.1.1
Port:          1812 
Shared Secret: muster123

7. Voucher erstellen

Tip: In der Firewall kann man einen Benutzer-Zugang anlegen, der nur Voucher erstellen darf, sonst nichts.

Unter Services → Captive Portal → Voucher kann man nun „Voucher Rolls“ von Vouchern erstellen. Die erstellten Voucher sind per csv-Datei verfügbar/herunterladbar. Sie bestehen aus einem Zahlencode und können beliebige Gütigkeitsdauern haben.

8. To Do: