Биллинг трафика для пользователей WiFi EAP

Когда Интернет лимитирован объемом трафика — необходимо индивидуально ограничивать пользователей. Выделение квоты — это один из методов контроля, например 1Гб в сутки на пользователя.

Профессиональная настройка MikroTik
Без предоплаты и бюрократии
Telegram: @Engineer_MikroTik

Варианты применения

Вариантов применения множество. От желания экономить или сократить бесконтрольное потребление до простой вредности.

Во всех случаях создается 1 сеть с одинаковым названием, но у каждого пользователя будет свой индивидуальной логин и пароль для подключения к ней.
Данные ограничения невозможно обойти, «подсмотреть» пароль не получится, так как используется WPA2-Enterprise авторизация.

Домашние ограничения

Для пользователей, например детей, можно индивидуально ограничить как объем, так и длительность работы WiFi, при этом не отключая сеть для всех. Например 5Гб, но не более 3 часов в сутки или 150Гб и не более 90 часов в месяц.

Лимитные 3G/LTE

При покупке лимитных тарифов чтобы кто-то один не «съел» весь трафик.

Офисные сотрудники

Безлимитного интернета на жирном канале не жалко, но некоторые подсаживаются на него и не работают. Адекватный лимит позволит использовать интернет исключительно по работе.

VIP гостиницы и базы отдыха

Чтобы не донимать VIP клиентов авторизацией на hotspot по смс, звонкам и вводом кодов в браузере — выдается индивидуальный логин и пароль от самой WiFi сети. Тем самым уходит проблема общего пароля.

Морские корабли

Спутниковый интернет Starlink на кораблях в море не безлимитный (либо очень дорогой), как и обычный спутниковый интернет на геостационарной орбите (например триколор). По этому членам экипажа заводятся учетные записи с суточным ограничением трафика, а по судну ставятся несколько точек доступа MikroTik в местах работы и отдыха.

Оборудование

MikroTik с USB и минимум 128Мб постоянной памяти, например hAP AX3 или RB5009 в случае высокой нагрузки.
USB Flash (хватит 1Гб) — нужна хорошая память, записывается много данных.

В данном примере используется hAP AX3 с USB Flash на 32Гб Netac OnlyDisk

Обновление и установка пакетов

Для обновления прошивки скачиваем пакеты под свою архитектуру
Для обновления прошивки скачиваем пакеты (Main и Extra) под свою архитектуру на https://mikrotik.com/download в моем случае это ARM64
Нам нужны только:routeroswifi-qcom (опционально)user-manager
Нам нужны только:
routeros
wifi-qcom (опционально)
user-manager
Закидываем в Files
Закидываем в Files
Включаем автоматическое обновление загрузчика
Включаем автоматическое обновление загрузчика
Перезагружаем для обновления
Перезагружаем для обновления

Подготовка USB Flash

Вставляем USB Flash и форматируем
Вставляем USB Flash и форматируем
Файловая система ext4
Файловая система ext4
/disk format usb1 file-system=ext4
Статистика флэшки в работе
Статистика флэшки в работе

Сертификаты

Без сертификатов EAP WiFi авторизация работать не будет, по этому следуя help.mikrotik.com создадим CA и UserMan. Пользовательский сертификат создавать не будем чтобы не усложнять жизнь.

CA

/certificate
add name=radius-ca common-name="RADIUS CA" key-size=secp384r1 digest-algorithm=sha384 days-valid=1825 key-usage=key-cert-sign,crl-sign
sign radius-ca ca-crl-host=radius.mikrotik.test
radius ca
radius ca

UserMan

/certificate
add name=userman-cert common-name=radius.mikrotik.test subject-alt-name=DNS:radius.mikrotik.test key-size=secp384r1 digest-algorithm=sha384 days-valid=800 key-usage=tls-server
sign userman-cert ca=radius-ca
userman-cert
userman-cert

Настройка User Manager

Setting

После перезагрузки в меню появится User Manager, который и будет заниматься контролем трафика пользователей
После перезагрузки в меню появится User Manager, который и будет заниматься контролем трафика пользователей
Указываем созданный сертификат
Включаем и указываем созданный сертификат, а так же испозуем профили
/user-manager
set certificate=userman-cert enabled=yes use-profiles=yes
Биллинг трафика для пользователей WiFi EAP
Переносим базу на USB Flash /usb1/user-manager5
Создаем роутер, с которого ждем RADIUS запросы, например CAPsMAN
Создаем роутер, с которого ждем RADIUS запросы, например CAPsMAN
/user-manager router
add address=10.73.16.1 name=Core shared-secret=12345678

RADIUS

На роутере настраиваем RADIUS в сторону User ManagerВ данном примере можно использовать 127.0.0.1 так как находится на том же устройстве
На роутере настраиваем RADIUS в сторону User Manager
В данном примере можно использовать 127.0.0.1 так как всё находится на том же устройстве
/radius
add address=10.73.16.1 secret=12345678 service=wireless src-address=10.73.16.1
Биллинг трафика для пользователей WiFi EAP
Дополнительно включаем Incoming для управления клиентами
/radius incoming
set accept=yes

User Groups

Создаем профиль с EAP PEAP и PEAP MSCHAP2
Создаем профиль с EAP PEAP и PEAP MSCHAP2
/user-manager user group
add inner-auths=peap-mschap2 name=EAP outer-auths=eap-peap
add attributes=Mikrotik-Wireless-VLANID:100 inner-auths=peap-mschap2 name=EAP_GUEST outer-auths=eap-peap
А так же версию для гостевой сети на Vlan100 где возможно применение QoS
А так же версию для гостевой сети на Vlan100 где возможно применение QoS
VlanID можно повесить сразу на пользователя без отдельной группы

Пользователи и лимиты

Создадим несколько пользователей для разных задач учета:

  1. user0_unlim — Без ограничений для подсчета трафика
  2. user1_100Mb_hour — 100Мб в час
  3. user2_1Gb_day — 1Гб в сутки
  4. user3_7Gb_week — 7Гб в неделю
  5. user4_30Gb_week — 30Гб в месяц
  6. user5_5Gb_disp — 5Гб разово
  7. user6_1Day_unlim — Безлимит на сутки
  8. user7_guest — Гостевой Vlan с ограничением 128Кбит на всех
Биллинг трафика для пользователей WiFi EAP
Опция Shared Users ограничивает количество одновременных подключенийCallerID при выставлении bind делает привязку к mac адресу при первом подключении
Опция Shared Users ограничивает количество одновременных подключений
CallerID при выставлении bind делает привязку к mac адресу при первом подключении
Attributes можно задать Vlan ID куда попадет пользователь и еще
/user-manager user
add group=EAP name=user0_unlim password=user0_unlim shared-users=unlimited
add group=EAP name=user1_100Mb_hour password=user1_100Mb_hour shared-users=unlimited
add group=EAP name=user2_1Gb_day password=user2_1Gb_day shared-users=unlimited
add group=EAP name=user3_7Gb_week password=user3_7Gb_week shared-users=unlimited
add group=EAP name=user4_30Gb_month password=user4_30Gb_month shared-users=unlimited
add group=EAP name=user5_5Gb_disp password=user5_5Gb_disp shared-users=unlimited
add group=EAP name=user6_1Day_unlim password=user6_1Day_unlim shared-users=unlimited
add group=EAP name=user7_guest password=user7_guest shared-users=unlimited

Профили ограничений

Liminations

Полный безлимит
Полный безлимит
100Мб каждый час
100Мб каждый час
1Гб в сутки
1Гб в сутки
7Гб в неделю
7Гб в неделю
5Гб разово
5Гб разово
Биллинг трафика для пользователей WiFi EAP
/user-manager limitation
add name=limitations_unlim
add download-limit=100000000B name=limitations_100Mb_hour reset-counters-interval=hourly upload-limit=100000000B
add download-limit=1000000000B name=limitations_1Gb_day reset-counters-interval=daily upload-limit=1000000000B
add download-limit=7000000000B name=limitations_7Gb_week reset-counters-interval=weekly upload-limit=7000000000B
add download-limit=30000000000B name=limitations_30Gb_month reset-counters-interval=monthly upload-limit=30000000000B
add download-limit=5000000000B name=limitations_5Gb_disp upload-limit=5000000000B
add name=limitations_1Day_unlim uptime-limit=1d

Profiles

Биллинг трафика для пользователей WiFi EAP
Создаем профили
Override Shared Users несколько одновременных сеансов пользователей
starts-when когда начинает действовать (assinged — после создания или first auth первой авторизации)
validity срок действия профиля на пользователе
/user-manager profile
add name=profiles_unlim name-for-users=profiles_unlim validity=unlimited
add name=profiles_100Mb_hour name-for-users=profiles_100Mb_hour validity=unlimited

Profile Limitations

Биллинг трафика для пользователей WiFi EAP
Время действия лимитов
/user-manager profile-limitation
add limitation=limitations_unlim profile=profiles_unlim
add limitation=limitations_100Mb_hour profile=profiles_100Mb_hour

User Profiles

Связка профиля с пользователем
Связка профиля с пользователем
/user-manager user-profile
add profile=profiles_unlim user=user0_unlim
add profile=profiles_100Mb_hour user=user1_100Mb_hour

Подключение WiFi

CAPsMAN AX выбираем WAP2 EAP
CAPsMAN AX выбираем WAP2 EAP
И указываем EAP Accouting
И указываем EAP Accouting
/interface wifi security
add authentication-types=wpa2-eap disabled=no eap-accounting=yes ft=yes ft-over-ds=yes name=secEAP
Interim Update время обновления информации от трафике ставим 1 минуту
Interim Update время обновления информации от трафике ставим 1 минуту или меньше. Этот параметр указывает как часто снимать статистику.
При дорогих соединениях пользователь может выйти за пределы лимита за 1 минуту.
/interface wifi aaa
add disabled=no interim-update=1m name=aaaEAP

Проверка

Android

При подключении запрашивается индивидуальный логин и пароль
При подключении запрашивается индивидуальный логин и пароль
Метод EAP
Метод EAP
Тип аутентификации MSCHAPv2
Тип аутентификации MSCHAPv2
На CAPsMAN видно кто и на какой точке подключен по EAP Identity
На CAPsMAN видно кто и на какой точке подключен по EAP Identity
А так же общая статистика по пользователям
А так же общая статистика по пользователям
Список сессий и количество трафика с причинами отключения
Список сессий и количество трафика с причинами отключения

Windows

Подключение WiFi EAP на Windows 11
Подключение WiFi EAP на Windows 11

Доменная авторизация

При наличии домена можно реализовать просто AD EAP авторизацию без учета и ограничения трафика, но с гибким контролем доступа на уровне домена.

Профессиональная настройка MikroTik
Без предоплаты и бюрократии
Telegram: @Engineer_MikroTik
Настройка MikroTik