Monowall - Nur eine bestimmte Seite zulassen
Hallo,
ich habe ein Problem beim Einrichten der Monowall. Ich habe die Monowall mit Captive Portal soweit eingerichtet und es funktioniert auch. Ich möchte allerdings den Internetzugriff auf nur wenige, bestimmte Seiten einschränken. Jetzt habe ich in den Rules auf der WAN-Seite einfach erst einmal um zu testen, nur eine Seite erlaubt. Ich habe einfach die Default-Regel etwas verändert. In "Destination" habe ich die öffentliche WAN-Adresse, die erlaubt werden soll, eingetragen.
Das Ganze funktioniert nur zur Hälfte: Ist der User eingeloggt, ist alles ok. Ist der User nicht eingeloggt und als Startseite vom Browser eine andere Seite eingestellt, dann wird die Seite mit Captive-Portal nicht angezeigt.
Gut jetzt könnte man sagen, ihr müsst nur Eure Interseite, die auch erlaubt ist, als Startseite einstellen. Finde ich aber nicht sehr elegant.
Gibt es da eine Möglichkeit, das vernünftig zu lösen?
ich habe ein Problem beim Einrichten der Monowall. Ich habe die Monowall mit Captive Portal soweit eingerichtet und es funktioniert auch. Ich möchte allerdings den Internetzugriff auf nur wenige, bestimmte Seiten einschränken. Jetzt habe ich in den Rules auf der WAN-Seite einfach erst einmal um zu testen, nur eine Seite erlaubt. Ich habe einfach die Default-Regel etwas verändert. In "Destination" habe ich die öffentliche WAN-Adresse, die erlaubt werden soll, eingetragen.
Das Ganze funktioniert nur zur Hälfte: Ist der User eingeloggt, ist alles ok. Ist der User nicht eingeloggt und als Startseite vom Browser eine andere Seite eingestellt, dann wird die Seite mit Captive-Portal nicht angezeigt.
Gut jetzt könnte man sagen, ihr müsst nur Eure Interseite, die auch erlaubt ist, als Startseite einstellen. Finde ich aber nicht sehr elegant.
Gibt es da eine Möglichkeit, das vernünftig zu lösen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 166311
Url: https://administrator.de/forum/monowall-nur-eine-bestimmte-seite-zulassen-166311.html
Ausgedruckt am: 14.04.2025 um 03:04 Uhr
11 Kommentare
Neuester Kommentar
Zusätzlich machst du einene gehörigen Denkfehler bei der Firewallregel, denn Firewall Regeln greifen auf der Monowall / pfSense nur für eingehenden Datenverkehr !!
Auf dem WAN Port bist du also vollkommen falsch (Denn dort ist dein Traffic ja ausgehend !), deshalb klappt es nicht.
Logischerweise definierst du also die Destination IP Adresse dieser Seite auf dem LAN Port !
Dann klappt das auch auf Anhieb mit deiner Beschränkung.
Sofern deine Zielseiten keine variablen IP Adressen haben (oder diese bekannt sind Stichwort Round Robin DNS) dann funktioniert die Beschränkung über die IP vollkommen problemlos und ein Proxy ist dann natürlich nicht erforderlich !
Auf dem WAN Port bist du also vollkommen falsch (Denn dort ist dein Traffic ja ausgehend !), deshalb klappt es nicht.
Logischerweise definierst du also die Destination IP Adresse dieser Seite auf dem LAN Port !
Dann klappt das auch auf Anhieb mit deiner Beschränkung.
Sofern deine Zielseiten keine variablen IP Adressen haben (oder diese bekannt sind Stichwort Round Robin DNS) dann funktioniert die Beschränkung über die IP vollkommen problemlos und ein Proxy ist dann natürlich nicht erforderlich !
Eigentlich nicht. Alle Firewalls funktionieren nach diesem immer gleichen und simplen Prinzip auf den eingehenden Interfaces. Wenn man denn noch den gesunden Menschenverstand walten lässt und sich den Ablauf einer IP Paketkommunikation vor Augen führt ist das eigentlich ein Kinderspiel das entsprechend einzustellen...
Aber egal Hauptsache es klappt nun bei dir !
Aber egal Hauptsache es klappt nun bei dir !
Vermutlich hast du einen Denkfehler begangen und dich selber ausgesperrt. Du musst in den Firewallregeln natürlich am Anfang die Portalseite mit dem Port TCP 8000 erlauben, denn sonst blockst du die Portalseite ebenfalls !
Wenn du das CP_Tutorial einmal wirklich Thread für Thread gelesen hättest kannst du es dort auch sehen !
Hier siehst du mal einen Screenshot wie es auszusehen hat:
Ist zwar pfSense aber bei Monowall ist das absolut identisch. Hier ist nur Browsen TCP 80 erlaubt...und die Portalseite sonst nix !
Die CP Seite wird immer von einem Port TCP 80 (HTTP) Paket getriggert.
Bei dir besteht nun das Problem das du einen Filter drin hast auf eben nur die eine einzige Sportseite. Folglich kann die Portalseite auch deshalb dann nur hochpoppen wenn genau diese Seite angefordert wird, denn dessen Port 80 Paket triggert das Captive Portal.
Die Google Seite ist ja nicht erlaubt, folglich wird dein Port 80 Traffic dahin gefiltert und kann das CP nicht triggern. Wenn du auch noch den Port TCP 8000 geblockt hast kannst du nichtmal die Portalseite sehen....
Du müsstest also wenigstens dann auch den Zugriff auf die lokalen Google IP Adressen erlauben:
C:\>nslookup www.google.de
Nicht autorisierte Antwort:
Name: www.l.google.com
Addresses: 209.85.148.106, 209.85.148.103, 209.85.148.104, 209.85.148.99
209.85.148.105, 209.85.148.147
Aliases: www.google.de, www.google.com
Dann poppt auch bei Google das CP hoch. Doch eigentlich logisch wenn man mal etwas nachdenkt wie die Pakete sich so bewegen im Netz, oder ?
Wenn du das CP_Tutorial einmal wirklich Thread für Thread gelesen hättest kannst du es dort auch sehen !
Hier siehst du mal einen Screenshot wie es auszusehen hat:
Ist zwar pfSense aber bei Monowall ist das absolut identisch. Hier ist nur Browsen TCP 80 erlaubt...und die Portalseite sonst nix !
Die CP Seite wird immer von einem Port TCP 80 (HTTP) Paket getriggert.
Bei dir besteht nun das Problem das du einen Filter drin hast auf eben nur die eine einzige Sportseite. Folglich kann die Portalseite auch deshalb dann nur hochpoppen wenn genau diese Seite angefordert wird, denn dessen Port 80 Paket triggert das Captive Portal.
Die Google Seite ist ja nicht erlaubt, folglich wird dein Port 80 Traffic dahin gefiltert und kann das CP nicht triggern. Wenn du auch noch den Port TCP 8000 geblockt hast kannst du nichtmal die Portalseite sehen....
Du müsstest also wenigstens dann auch den Zugriff auf die lokalen Google IP Adressen erlauben:
C:\>nslookup www.google.de
Nicht autorisierte Antwort:
Name: www.l.google.com
Addresses: 209.85.148.106, 209.85.148.103, 209.85.148.104, 209.85.148.99
209.85.148.105, 209.85.148.147
Aliases: www.google.de, www.google.com
Dann poppt auch bei Google das CP hoch. Doch eigentlich logisch wenn man mal etwas nachdenkt wie die Pakete sich so bewegen im Netz, oder ?
Die Frage kannst du dir doch ganz leicht selber beantworten wenn man nur mal ein klein bischen nachdenkt....
Firewall Regel lässt also nur DNS Port 53, Sportseite IP und TCP 80 und das CP mit Port 8000 durch.
Dann stellen wir uns mal janz dumm und sehen wir uns das mal an indem wir zuerst den Sport Client betrachten:
So, und nun die Google Abfrage mit der gleichen Regel:
Dieses Verhalten ist doch logisch und auch leicht herleitbar wenn man nur mal etwas nachdenkt. Ansonsten nimmt man mal einen Wireshark Sniffer und sieht sich das selber an !
Es ist doch sonnenklar das wenn du die Google IPs in der Firewall Regel nicht auch erlaubst, niemals ein IP Paket an die Google IP rauskommt. Du lässt ja einzig und allein nur die Sportseite zu.
Letztlich ist deine Frage damit vollkommen überflüssig, denn das CP kann niemals aufpoppen wenn du den HTTP Traffic zu Google nicht erlaubst...wie sollte das denn auch gehen ??
Die CP Seite wird immer nur durch ein eingehendes HTTP Paket mit Port TCP 80 getriggert und dafür muss diese Paket logischerweise natürlich erstmal die Port Firewall passieren können was bei dir ohne "Google Regel" nicht möglich ist...klar.
Wie bekommst du das Bild hier rein in die Antwort ?? Das geht nicht nur mit dem dödeligen IE sondern auch mit Firefox, Safari und Co, da es unabhängig ist vom Browser !
Wie immer wenn man die FAQs liest ganz einfach:
So, und nun kommst du mit dem Screenshot !!!
Firewall Regel lässt also nur DNS Port 53, Sportseite IP und TCP 80 und das CP mit Port 8000 durch.
Dann stellen wir uns mal janz dumm und sehen wir uns das mal an indem wir zuerst den Sport Client betrachten:
- Client gibt www.sportseite.de ein
- Zuerst geht ein Ethernet Paket mit UDP 53 an den Nameserver um den Namen in eine IP aufzulösen...53 darf laut FW Regel passieren, OK
- IP vom Sportserver kommt zurück und Client fragt mit dem 2ten Paket über TCP 80 (HTTP) die Sportwebserver IP. Sportserver IP darf laut FW Regel passieren, OK
- Dieses Port 80 Paket triggert jetzt die CP Seite und der Redirect über HTTP mit Port 8000 kommt...Darf laut Regel auch passieren, OK
- Portalwebseite ist da und Client User trägt sein Passwort ein, Original Paket zur Sportseite darf passieren, Sportseite kommt, Alles ist gut !
So, und nun die Google Abfrage mit der gleichen Regel:
- Client gibt www.google.de ein oder trägt was ins Google Suchfeld am Browser ein.
- Zuerst geht ein Ethernet Paket mit UDP 53 an den Nameserver um den Namen in eine IP aufzulösen...53 darf laut FW Regel passieren, OK
- IP von Google kommt zurück und Client fragt mit dem 2ten Paket über TCP 80 (HTTP) die Googleserver IP. Google IP darf laut FW Regel NICHT passieren. Keine Webseite und Fehlermeldung "Server meldet sich nicht" !
- CP Seite kann nicht getriggert werden da ja kein TCP 80 Paket an Google rausdarf, Captive Portal blockt weiter den kompletten Zugriff für den Client wie es ja soll ohne Passwort Eingabe.
- Nix geht mehr....
Dieses Verhalten ist doch logisch und auch leicht herleitbar wenn man nur mal etwas nachdenkt. Ansonsten nimmt man mal einen Wireshark Sniffer und sieht sich das selber an !
Es ist doch sonnenklar das wenn du die Google IPs in der Firewall Regel nicht auch erlaubst, niemals ein IP Paket an die Google IP rauskommt. Du lässt ja einzig und allein nur die Sportseite zu.
Letztlich ist deine Frage damit vollkommen überflüssig, denn das CP kann niemals aufpoppen wenn du den HTTP Traffic zu Google nicht erlaubst...wie sollte das denn auch gehen ??
Die CP Seite wird immer nur durch ein eingehendes HTTP Paket mit Port TCP 80 getriggert und dafür muss diese Paket logischerweise natürlich erstmal die Port Firewall passieren können was bei dir ohne "Google Regel" nicht möglich ist...klar.
Wie bekommst du das Bild hier rein in die Antwort ?? Das geht nicht nur mit dem dödeligen IE sondern auch mit Firefox, Safari und Co, da es unabhängig ist vom Browser !
Wie immer wenn man die FAQs liest ganz einfach:
- Gehe auf "Meine Beiträge" und klicke oben auf deinen Ursprungsbeitrag (Thread)
- Dann klickst du unten rechts auf "Bearbeiten"
- Tataaa...nun erscheint der Button "Bilder hochladen"
- Den klickst du jetzt und wählst über das Auswahlfenster dein Bild aus und klickst dann "Bild hochladen"
- Jetzt gibt dir der Server eine Bilder URL die du mit einem Rechtsklick, markieren dann per Cut and Paste speicherst.
- Nun tippst du deine Antwort und pastest den Bilder URL dort rein !
So, und nun kommst du mit dem Screenshot !!!