Доброе утро! Мы предоставляем интернет-услуги для жилых многоэтажек. Используем исключительно функцию Hotspot в RouterOS с RADIUS-сервером для аутентификации и контроля доступа. С ростом количества устройств без браузера, где пользователь не может войти вручную, мы отчаянно ищем способ поддержать такие устройства. Очевидное решение — реализовать MAC-исключения. Пользователи могут добавлять MAC-адреса своих устройств в личном кабинете, и эти устройства автоматически проходят авторизацию.
Вопрос в том, как эффективно внедрить MAC-исключения в роутере. На первый взгляд всё просто: самый рекомендуемый вариант — использовать функцию обхода (bypass) в ip-binding. Она работает, но есть два важных нюанса:
- на bypass-привязки не распространяются ограничения скорости, а значит, нужно вручную создавать IP-маппинг и очереди для каждого устройства;
- MAC-адреса придётся добавлять вручную в роутер, а не в RADIUS-сервер.
Альтернативный вариант — использовать server-profile с включённым login-by=mac. Но это работает только если устройство сначала делает HTTP-запрос, а потом уже обращается к другим портам. Например, Sonos так не делает — он использует только порты не-HTTP, не аутентифицируется и соответственно не работает.
Так в чём же решение? Нужно ли пользоваться API роутера и вручную создавать bypass-привязки и очереди для каждого устройства? Наверняка существует более простое решение.
Вопрос в том, как эффективно внедрить MAC-исключения в роутере. На первый взгляд всё просто: самый рекомендуемый вариант — использовать функцию обхода (bypass) в ip-binding. Она работает, но есть два важных нюанса:
- на bypass-привязки не распространяются ограничения скорости, а значит, нужно вручную создавать IP-маппинг и очереди для каждого устройства;
- MAC-адреса придётся добавлять вручную в роутер, а не в RADIUS-сервер.
Альтернативный вариант — использовать server-profile с включённым login-by=mac. Но это работает только если устройство сначала делает HTTP-запрос, а потом уже обращается к другим портам. Например, Sonos так не делает — он использует только порты не-HTTP, не аутентифицируется и соответственно не работает.
Так в чём же решение? Нужно ли пользоваться API роутера и вручную создавать bypass-привязки и очереди для каждого устройства? Наверняка существует более простое решение.