Как обычно реализован абонентский интернет по Wi-Fi?
======================================================

 Чтобы было понятнее, опишу сначала то, чего добиваюсь, а потом конкретизирую вопросы.  
  

Есть абоненты, которые подключаются к точке доступа. Где-то заранее определны mac-адреса, и по ним абонент кидается в определенный для него VLAN. Отдельные VLAN'ы нужны для разграничения тарифных скоростей.  

Абоненты делятся на группы (семьи), у каждой семьи свой тариф и ограничение скорости.  
  

Как сейчас это реализовано:  

Debian на котором поднимаются IPoE сессии на виртуальных интерфейсах.  

Каждому абоненту заранее создан свой VLAN типа VLAN2XXX,VLAN2YYY, VLAN2ZZZ, и каждый такой интерфейс получает динамический IP от BRAS и соответственно ограничение по скорости, соответствующее тарифу.  
  

Далее на Debian создаются парные VLAN, который соответствуют абонентам: VLANXXX,VLANYYY,VLANZZZ.  
  

Между каждой парой VLAN2XXX-VLANXXX, VLAN2YYY-VLANYYY, VLAN2ZZZ-VLANZZZ настроен форвардинг и маршрутиризация.  
  

Парные интерфейсы VLANXXX-VLAN2XXX и тд. нужны только для того, чтобы VLAN2XXX по DHCP через IPoE от BRAS получил интернет по определенному тарифу, а уже на парном интерфейсе VLANXXX поднят отдельный DHCP сервер с отдельным пулом адресов и реализована раздача этой скорости нескольким адресам в семье (не на одно Wi-Fi устройство).  
  

Все парные VLANXXX,VLANYYY,VLANZZZ пакуются с помощью QinQ в один VLAN, выходят из сетевого интерфейса Debian, попадают в сеть, идут до оконечного коммутатора в здании, там на порту коммутатора они разворачиваются в отдельные VLANXXX,VLANYYY,VLANZZZ и с помощью MAC-VLAN (который вручную забивается для каждого мака) происходит назначение определенным макам определенные VLAN. Маки на этот коммутатор приходят с близстоящей точки доступа (самой обычной), в которой отключен DHCP.  
  

Так же существует отдельный гостевой VLAN, куда попадают маки, которые не прописаны в MAC-VLAN таблице. Их кидает в отдельный VLAN где вылазит страница для авторизации и предложением для регистрации.  
  

То есть есть куча семей со своими тарифами, их устройства сгруппированы в VLAN и у каждого такого семейного VLAN свой тариф.   
  

Мне эта схема как-то не нравится, хоть она и работает.  
  

Вопрос 1: Может кто знает как более деликатно решить такую задачу? Может есть такие не особо дорогие точки доступа, которые умеют и MAC-BASED-VLAN, и в то же время разворачивать QinQ?  
  

Вопрос 2: Может это вообще реализуется как-то очень просто, а я изобретаю велосипед?  
  

Вопрос 3: Может кто работал с такими вещами и подскажет уже готовые решения?  
  

Если в конце прочтения данного чтива вы спросите - а на ~~зачем~~ это надо? Отвечу - ну, блин, вот надо :) 

 Как Вам вариант с iptable?  
  

Закрепить IP адреса за клиентами, в iptables preroute написать условие которое будет одинаково маркировать пакеты одной семьи, а в форварде настроить limit по условию маркировки. 

 Извини не понял зачем нужны сдвоенные вланы и QinQ  

точек у тебя наверное много. Чтобы управлять ими нужен контролллер  

Нормальные точки с контроллером сами контролируют заданную скорость.   

А дальше в проводной среде можешь всех в один влан сунуть и DHCP выдавать из общего пула.  

Посмотри как пример недорогого и вполне взрослого решения на Unifi  

Точки стоят разумно, контролер бесплатный. Позволяет сделать группы пользователей, ограничение скорости, разные типы авторизаций. Поддерживает внешний captive portal. есть restful api и библиотеки для питонов и js