{{tag> WLAN monowall "captive Portal" freeradius}} ====== Monowall als Captive Portal ====== Monowall (-> [[http://m0n0.ch/wall/|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. * lokale Benutzerverwaltung oder Radius-Authentication * MAC-Listen (uneingeschränkte Pass-Through-MAC-Adressen) * IP-Listen (Allowed IP-Adresses) * Voucher-Authentication (zeitlich begrenzter Zugriff) Getestetes Szenario in einer virtuellen Umgebung mit linuxmuster.net 6: * Monowall Version 1.8.1b545 als zusätzliche Maschine im grünen Netz (die WLAN-APs sind natürlich nicht im grünen Netz, sondern haben ein eigenes Netz!) * System: FreeBSD * mit 3 Netzwerkkarten: LAN, WAN, OPT1 * mit 128 MB RAM und 2 GB HD (für produktive Systeme vergrößern!) * ohne audio, ohne USB * Sowohl Radius-Authentication als auch Voucher-Zugriff ===== 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: * LAN-Interface (em0) ohne Verbingung * WAN-Interface (em1) im grünen Netz, erhält IP per dhcp * OPT1-Interface (em2) ist das monowall-Netz für die WLAN-Access-Points 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 {{:anwenderwiki:wlan:monowall-captive-portal.jpg|WebGUI}} * Interface -> OPT1 -> enable, 192.168.3.1/24 * Services -> Captive Portal -> enable, Interface OPT1, enable Logout-popup-Window, local-User-Manager * Services -> DHCP-Server -> OPT1 -> enable, Range 192.168.3.100 - 192.168.3.200 * Services -> Captive Portal -> Users -> Lokaler Testuser mit Kennwort anlegen Für das Login muss man selbst eine Seite hochladen, * Services -> Captive Portal -> Portal page contents z.B.: WLAN-Captive Portal von Linuxmuster.net und Monowall

Bitte melden Sie sich an:

Benutzer:
Kennwort:
Voucher:
===== 5. Firewall-Regeln ===== {{:anwenderwiki:wlan:monowall-rules-opt1.jpg|WebGUI}} Unter Firewall -> Rules -> OPT1 * für HTTP: ''Protokoll TCP + Destination Port 80 (HTTP)'' * für DNS: ''Protokoll TCP/UDP + Destination Port 53 (DNS)'' * für Captive Portal: ''Protokoll TCP + Destination 192.168.3.1 + Destination Port 8000'' * für HTTPS: ......... ===== 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: ... 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: ===== * WebGUI nur per https zugänglich * WLAN-Zugriffe per https erlauben * Loging einstellen * sichere Kennwörter setzen * login.html verbessern, anhübschen und ggf. mit Datenschutzhinweis