Noch weitere Infos und Erklärungen hierzu für Interessierte/ Suchende:
Warum es vorher auch ohne DNS funktioniert hat
Es hatte bei uns als Controller/APs und Gäste-WLAN im gleichen Netz waren (siehe 1. Post) deshalb schon funktioniert, weil wir im Controller/AP Netz die Firewall selbst als DNS-Server eingestellt haben und man daher nicht extra DNS nach draußen freigeben musste. Im Gäste-WLAN haben wir nur öffentliche DNS Server hinterlegt, daher war die Freigabe nötig.
Chronologische Reihenfolge Verbindung mit Gäste-WLAN --> Erscheinen der Captive Portal Seite
Die verbundenen Clients gehen unmittelbar nach Verbindung mit dem Gäste WLAN offenbar so vor:
1.) DNS-Anfrage für eine vom Hersteller festgelegte URL (im Falle von Apple ist das z.B. captive.apple.com). Da die Clients noch nicht selbst raus dürfen, wird diese Anfrage vom verbundenen AP stellvertretend rausgeschickt
2.) Wenn der AP DNS Anfragen nach draußen machen darf, bekommt er eine Antwort (die zugehörige IP der angefragten Adresse) vom DNS Server und leitet diese an den Client weiter
3.) Der Client ruft diese Seite dann auf (im Fall von Apple Geräten: captive.apple.com wird aufgerufen) und versucht von dort eine kleine Datei herunterzuladen. Dies dient dem Prüfen der Konnektivität, also ob der Client bereits ins Internet kann oder geblockt wird
4.) Schritt 3 scheitert dann natürlich (da noch nicht autorisiert), wodurch der Client weiß, dass er ein Captive Portal aufrufen muss. Da er die IP und weitere Parameter des Captive Portals nicht kennt, versucht er eine beliebige Seite im Internet aufzurufen
5.) Der AP hat die in Schritt 4 angegebenen Infos. Er sieht die Anfrage des Clients in Schritt 4 und leitet diese mit den nötigen Infos / Parametern an den Controller um (redirect)
6.) Der Controller antwortet auf die Anfrage und auf dem Client wird die Captive Portal Seite dargestellt, wo er z.B. seinen Voucher eingeben und dann lossurfen kann.
Es kann sein, dass es bei anderen Geräten, anderer Konfig usw. hier und da leicht abweichende Prozesse gibt. Fühlt euch frei hier zu ergänzen oder auch zu korrigieren wenn etwas nicht ganz stimmt.
Vielleicht weiß ja jemand auch, warum der Schritt mit dem Aufrufen der Konnektivitäts-Test-Seite überhaupt nötig ist bzw. warum nicht bereits diese Anfrage schon umgeleitet wird auf den Controller. Also warum nicht gleich schon die Anfrage an z.B. captive.apple.com oder connectivitycheck.gstatic.com auf das Captive Portal weitergeleitet wird. Würde mich auch interessieren
Beste Grüße, Gary