Antworten:
Wenn Sie in Gefangenschaft sind, kann das Netzwerk mit Ihren Verbindungsversuchen so ziemlich alles tun, was es will.
Wenn Sie also zu http://20.20.20.20/ wechseln , kann das Gateway diese Anforderungen selbst mit einer einfachen http-Weiterleitung zur Anmeldeseite beantworten.
Das Gateway ist nicht verpflichtet, Pakete an IP-Adressen weiterzuleiten, die über sich selbst hinausgehen.
Die IP-basierten Captive-Portale, die ich gesehen habe, funktionieren, indem sie die Ziel-IP-Adresse vor dem Weiterleiten des Pakets ändern ("umschreiben"). In Fällen, in denen das Captive-Portal mit dem Router identisch ist, wird das Paket anstelle der WAN-Seite an die interne Schnittstelle weitergeleitet.
Auf dem Weg zurück zur Captive-Maschine (dh zum Client) wird die Quell-IP umgeschrieben, sodass die Captive-Maschine denkt, dass sie mit ihrem ursprünglichen Ziel spricht. Suchen Sie online nach DNAT, wenn Sie mehr wissen möchten.
Randnotiz - es funktioniert gut für HTTP, verursacht aber Chaos für andere Apps wie IM.
Eine sauberere Lösung wäre, über der IP-Ebene zu arbeiten: Verwenden Sie einen transparenten HTTP-Proxy, der 301s an Captive-Maschinen ausgibt, und löschen Sie den gesamten Nicht-HTTP-Verkehr von Captive-Maschinen. Der Benutzer muss jedoch einen Browser verwenden, um seine Kreditkarte anzugeben Details (oder was auch immer sie aus der Gefangenschaft befreit.)