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:
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.
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.
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!
WebGUI aufrufen: http://10.16.1.5
Für das Login muss man selbst eine Seite hochladen,
z.B.:
<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>
Unter Firewall → Rules → OPT1
Protokoll TCP + Destination Port 80 (HTTP)
Protokoll TCP/UDP + Destination Port 53 (DNS)
Protokoll TCP + Destination 192.168.3.1 + Destination Port 8000
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:
... 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
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.