Авторизация абонентов через HotSpot сервер при помощи КучаГен

Можно использовать Mikrotik HotSpot для авторизации абонентов чем то похоже на логику ISG через freeradius

Конфигурация Ubilling

Если КучаГен у вас еще не сконфигурирован, то дальше можно не смотреть.

Добавляем сети которые будут ходить через микротик

Вешаем на них NAS

Далее эти параметры будем вносить в настройки Radius микротика

на всякий случай добавим /usr/local/etc/raddb/dictionary словарь для Mikrotik

$INCLUDE        /usr/local/etc/raddb/dictionary_preset/mikrotik.dictionary

После чего перезапускаем FreeRADIUS

Добавляем в NAS набор атрибутов, достаточный для работы

по поводу макроса скорости, выбираем на свой вкус и цвет из макросов КучаГенЫ Чтобы мы могли сбрасывать сессий при отключении или смене скорости, настраиваем сервис CoA

{PRINTF} 'Framed-IP-Address = {IP}' | {RADCLIENT} {NASIP}:{NASPORT} "disconnect" {NASSECRET}

еще есть вариант отсылать CoA только на изменения скорости , может кому пригодиться , пример переключение день ночь

{PRINTF} "Framed-IP-Address="\""{IP}"\"",Mikrotik-Rate-Limit="\""{SPEEDDOWN}M"\""" |{RADCLIENT} {NASIP}:{NASPORT} coa {NASSECRET}

Вот эта конфигурация NAS в текстовом виде для быстрой вставки, через кнопку клонировать NAS:

eyJvcHRpb25zIjp7ImlkIjoiMSIsIm5hc2lkIjoiMiIsInVzZXJuYW1ldHlwZSI6Im1hYyIsInNlcnZpY2UiOiJjb2EiLCJvbmx5YWN0aXZlIjoiMSIsInBvcnQiOiIzNzk5In0sImF0dHJpYnV0ZXMiOnsiMSI6eyJpZCI6IjEiLCJuYXNpZCI6IjIiLCJzY2VuYXJpbyI6ImNoZWNrIiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJDbGVhcnRleHQtUGFzc3dvcmQiLCJvcGVyYXRvciI6Ijo9IiwiY29udGVudCI6IjEyMzQ1In0sIjIiOnsiaWQiOiIyIiwibmFzaWQiOiIyIiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiSWRsZS1UaW1lb3V0Iiwib3BlcmF0b3IiOiI9IiwiY29udGVudCI6IjM2MDAifSwiMyI6eyJpZCI6IjMiLCJuYXNpZCI6IjIiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJBY2N0LUludGVyaW0tSW50ZXJ2YWwiLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50IjoiNjAwIn0sIjQiOnsiaWQiOiI0IiwibmFzaWQiOiIyIiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiTWlrcm90aWstUmF0ZS1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURET1dOfWsifX0sInNlcnZpY2VzIjp7IjIiOnsiaWQiOiIxIiwibmFzaWQiOiIyIiwicG9kIjoiIiwiY29hY29ubmVjdCI6IlwvYmluXC90cnVlIiwiY29hZGlzY29ubmVjdCI6IntQUklOVEZ9ICdGcmFtZWQtSVAtQWRkcmVzcyA9IHtJUH0nIHwge1JBRENMSUVOVH0ge05BU0lQfTp7TkFTUE9SVH0gXCJkaXNjb25uZWN0XCIge05BU1NFQ1JFVH0ifX19

Конфигурация Mikrotik

Представим, что мы решили использовать микротики в качестве NAS серверов … -

  1. Нужен микротик с прошивкой не ниже v6
  2. Абонентские устройства должны видеть интерфейс на котором мы будет поднимать HotSpot по L2 потому-что авторизовать мы их будет по MAC
  3. В примере мы используем сторонний dhcp поэтому на микротике надо настроить dhcp-relay, ну и ни кто не запрещает поднять dhcp на самом микротике
  4. Настройка в картинках ..

Заходим ip - hotspot создаем сервер hotspot вешаем на интерфейс смотрящий на абонентов

Правим профиль сервера , ставим login by: mac и использовать радиус, аккаунтинг по вкусу. Mac Auth. Password : любой на свой вкус далее пропишем в радиус статично

Пользователи при авторизации будут использовать профиль пользователя Default изменения в нем срабатывают глобально.

Добавляем в Walled Garden IP List адреса разрешенные нашим абонентам без авторизации и денег, адрес лист нужно предварительно создать в ip - firewall - address List

Открываем настройки Radius вписываем наши параметры полученные в КучаГене для NAS (пароль)

По итогу мы получим вот такое:

видим всех кто хочет авторизоваться , авторизованных и не авторизованных и даже скорость в реальном времени и еще в биллинге можем видеть активность юзверов

Перенаправление отключенных

HotSpot умеет это прекрасно делать так что не чего выдумывать не надо, а требуется как минимум поправить один файл login.html на микротике

как минимум привести его к такому содержимому, ну и не забыть добавить все наши хосты к которым можно без авторизации в разрешенные , опысанно выше.

<html>
<head><title>...</title></head>
<body>
$(if chap-id)
<noscript>
<center><b>JavaScript required. Enable JavaScript to continue.</b></center>
</noscript>
$(endif)
<center>If you are not redirected in a few seconds, click 'continue' below<br>
<form name="redirect" action="https://bla-bla.net">
<input type="submit" value="continue">
</form>
<script language="JavaScript">
<!--
   document.redirect.submit();
//-->
</script></center>
</body>
</html>

вообще там очень много вариаций которыми можно корректировать поведение системы хот спот и при желании можно получать много всяких данных еще до авторизации и после, но об этом уже в официальной доке https://wiki.mikrotik.com/wiki/Manual:Customizing_Hotspot

Статистика Mikrotik

Mikrotik ccr1036 - начинает сдыхать при трафике больше + - 2.8G наличие или отсутствие на нем Nat почти не влияет. (это около 3к авторизованных абонентов)

Mikrotik ccr1072 - до предела еще не дошли, пережевывает 4G 3800-4000 авторизованных.(пока проблем нет но уже похоже подходит к концу еще мегов 500 думаю прожует)

Подключены в сеть одним 10G портом, также был ccr1036 с собранными в LACP 4шт по 1G портами, проблемы появлялись немного раньше чем 2.8G, естественно с коробки без легкого тюнинга они так не умеют

mgmikrotik.txt · Последние изменения: 2019/09/20 16:19 — demonidze
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki