Mam AP, działający obecnie w OpenWRT 14.07 (BarrierBreaker), i chcę wyłączyć dostęp do Internetu dla wszystkich klientów Wi-Fi, przekierowując ich na jakąś stronę lokalną (faktycznie host wirtualny z adresem IP), z wyjątkiem liczby wstępnie zdefiniowanych, dozwolonych adresów MAC adresy, które znam.
Co więc powinno się stać: ktoś łączy się z moim AP, a następnie DHCP podaje temu klientowi adres (również brama domyślna), a kiedy próbuje połączyć się z Internetem (żąda czegoś na porcie 80/443 przez HTTP / HTTPS), jeśli MAC klienta nie znajduje się na liście dozwolonych, powinno nastąpić przekierowanie do wirtualnego hosta w celu pokazania mu strony, którą chcę pokazać, a wszelki dostęp powinien być zabroniony (oczywiście z wyjątkiem wirtualnego hosta).
Ponadto w tle, jeśli klient próbuje użyć innej usługi na innym porcie, na przykład DNS, porównanie na liście dozwolonych adresów MAC powinno się powtórzyć i tylko wtedy, gdy istnieje klient MAC, żądanie może zostać wykonane.
Jak można zrealizować coś takiego?
Odpowiedzi:
To, czego szukasz, nazywa się „portalem dla niewoli”. Nie prowadzę teraz jednego, ale próbowałem „ChilliSpot”, który teraz jest zepsuty.
Wiki OpenWRT sugeruje Nodogsplash .
źródło