Берём любой роутер+сервер с базой данных. Роутер выставляем в режим тупой пересылки пакетов эфир<->ethernet<->сервер. И, соответственно, на сервере, уже как было написано 100500 раз где только можно, ставим фильтр пакетов (через iptables и прочие прелести linux) вида: есть запись в бд - маршрутизация в интернет, нет - локальный сайт аля captive portal (на этом же сервере запущен) + локальный тот же радиус сервер. Таким образом, все мозги переносятся на программный уровень, и уже не надо тратить какие-то безумные бесполезные деньги на железки.
Ну и самый верный метод - использовать ретранслятор вместо предоставления доступа посетителям на подобие операторского wi-fi, что бы просто переложить всю ответственность на того, кто дарует вам интернет.