Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

mgmikrotik [2019/05/23 10:56]
demonidze [Конфигурация Mikrotik]
mgmikrotik [2019/11/26 10:46] (текущий)
demonidze [Статистика Mikrotik]
Строка 1: Строка 1:
 ====== Авторизация абонентов через HotSpot сервер при помощи КучаГен ====== ====== Авторизация абонентов через HotSpot сервер при помощи КучаГен ======
  
-Можно использовать Mikrotik HotSpot для авторизации абонентов чем то похоже на логику ISG через freeradius+Можно использовать Mikrotik HotSpot для авторизации абонентов через freeradius чем то похоже на логику ISG cisco. 
 + 
 +Что может и не может делать Mikrotik. 
 +  1. Можно авторизовать абонентов только если они находятся в одном L2 домене(в одной сети) вместе с Mikrotik. 
 +  2. Идентификатором для микротика является мак адрес.(абонентов будем авторизовать по mac) 
 +  3. Всех неавторизованных абонентов микротик никуда не пускает, так-же  Микротик будет перенаправлять неавторизованных туда куда вы укажите в файле, это может быть заглушка либо личный кабинет или ваша фантазия. 
 +  4. После успешной авторизации если в freeradius были параметры с указанием скоростей Микротик выставит для абонента шейпер. 
 +  5. Можно создавать списки для разрешенных сайтов, ипишников куда смогут ходит неавторизованные. 
 +  6. Микротик не может авторизовать по IP 
 +  7. Что-бы применить измененные параметры уже активного абонента его надо переавторизовать  (сбросить сессию)  
 +  8. Для отключения, допустим когда у абона закончились деньги надо отправить команду на сброс сессии. 
 +   
 +Также что-бы это все могло работать целостно и из коробки у вас должен быть настроен [[multigen]] и dhcp-server 
 + 
 +Дальше описание пошагово. 
 ====== Конфигурация Ubilling ====== ====== Конфигурация Ubilling ======
  
-Если [[multigen|КучаГен]] у вас еще не сконфигурирован, то дальше можно не смотреть.+Уже должен быть настроен [[multigen|КучаГен]]
  
-Добавляем сети которые будут ходить через микротик +Настраиваем биллинг стандартно как и для любых других устройств 
 + 
 +в справочнике ети и услуги) добавляем сети, создаем услуги
  
 {{:mk-hs-7.png?&200|}} {{:mk-hs-7.png?&200|}}
  
-Вешаем на них NAS+в справочнике (сервер dhcp) создаем нужные нам сети. **ЧТОБЫ РАБОТАЛ DHCP-RELAY** Не забываем поправить файл ubilling/config/dhcp/global.template 
 +<code> 
 +shared-network ourisp { 
 + 
 +{SUBNETS} 
 + 
 +subnet "сеть интерфейса через который билинг будет принимать запросы dhcp-relay с микротик" netmask 255.255.255.0 {} 
 +
 +</code> 
 +В справочнике (сервера доступа NAS) вешаем на нашу сеть которая будет обслуживаться Микротиком нужный нам тип сервера доступа (Radius) Если у вас микротик обслуживает не одну сеть то для каждой сети создаем свой сервер доступа, IP для всех сетей одни это IP управления микротиком (через который билинг общается с микротиком)
  
 {{:mk-hs-8.png?&200|}} {{:mk-hs-8.png?&200|}}
  
-Далее эти параметры будем вносить в настройки Radius микротика+Пароли с помощью которых наши будущие НАСЫ будут подключаться к Freeradius находятся тут же по нажатию шестеренки их можно увидеть. Далее эти параметры будем вносить в настройки Radius в микротике. Чтобы freeradius перечитал login\pass его надо перезапустить вручную (например //service radiusd restart//).
  
 {{:mk-hs-9.png?200|}} {{:mk-hs-9.png?200|}}
  
-на всякий случай добавим /usr/local/etc/raddb/dictionary словарь для Mikrotik+Добавим словарь для Mikrotik в файл /usr/local/etc/raddb/dictionary 
 <code> <code>
 $INCLUDE        /usr/local/etc/raddb/dictionary_preset/mikrotik.dictionary $INCLUDE        /usr/local/etc/raddb/dictionary_preset/mikrotik.dictionary
 +</code>
 +Для Ubuntu примерно так /etc/freeradius/dictionary 
 +<code>
 +$INCLUDE        /usr/share/freeradius/mikrotik.dictionary
 </code> </code>
 После чего перезапускаем FreeRADIUS После чего перезапускаем FreeRADIUS
Строка 26: Строка 55:
 Добавляем в NAS набор атрибутов, достаточный для работы Добавляем в NAS набор атрибутов, достаточный для работы
  
-{{:mk-hs-10.png?200|}}+{{:mk-hs-10-2.png?200|}}
  
  
-по поводу макроса скорости, выбираем на свой вкус и цвет из макросов [[multigen|КучаГенЫ]] +по поводу установки скорости и выбора макроса, выбираем на свой вкус и цвет из макросов [[multigen|КучаГенЫ]] в примере в базу вписаны значения в мегабитах прием=отдачи. 
-Чтобы мы могли сбрасывать сессий при отключении или смене скорости, настраиваем сервис CoA+Чтобы мы могли сбрасывать сессий при отключении или смене скорости, настраиваем сервис PoD/CoA отключать мы может только по PoD, а менять скорость на лету можно через CoA лобо просто сбросом сессии как в примере.
  
-{{:mk-hs-11.png?200|}}+{{:mk-hs-11-1.png?200|}}
  
 <code> <code>
-{PRINTF} 'Framed-IP-Address = {IP}' | {RADCLIENT} {NASIP}:{NASPORT} "disconnect" {NASSECRET}+{PRINTF} 'Framed-IP-Address = {IP}' | {SUDO} {RADCLIENT} {NASIP}:{NASPORT} "disconnect" {NASSECRET}
 </code> </code>
 еще есть вариант отсылать CoA только на изменения скорости , может кому пригодиться , пример переключение день ночь  еще есть вариант отсылать CoA только на изменения скорости , может кому пригодиться , пример переключение день ночь 
 <code> <code>
-{PRINTF} "Framed-IP-Address="\""{IP}"\"",Mikrotik-Rate-Limit="\""{SPEEDDOWN}M"\""" |{RADCLIENT} {NASIP}:{NASPORT} coa {NASSECRET}+{PRINTF} "Framed-IP-Address="\""{IP}"\"",Mikrotik-Rate-Limit="\""{SPEEDDOWN}M"\""" | {SUDO} {RADCLIENT} {NASIP}:{NASPORT} coa {NASSECRET}
 </code> </code>
  
 Вот эта конфигурация NAS в текстовом виде для быстрой вставки, через кнопку клонировать NAS: Вот эта конфигурация NAS в текстовом виде для быстрой вставки, через кнопку клонировать NAS:
 <code> <code>
-eyJvcHRpb25zIjp7ImlkIjoiMSIsIm5hc2lkIjoiMiIsInVzZXJuYW1ldHlwZSI6Im1hYyIsInNlcnZpY2UiOiJjb2EiLCJvbmx5YWN0aXZlIjoiMSIsInBvcnQiOiIzNzk5In0sImF0dHJpYnV0ZXMiOnsiMSI6eyJpZCI6IjEiLCJuYXNpZCI6IjIiLCJzY2VuYXJpbyI6ImNoZWNrIiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJDbGVhcnRleHQtUGFzc3dvcmQiLCJvcGVyYXRvciI6Ijo9IiwiY29udGVudCI6IjEyMzQ1In0sIjIiOnsiaWQiOiIyIiwibmFzaWQiOiIyIiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiSWRsZS1UaW1lb3V0Iiwib3BlcmF0b3IiOiI9IiwiY29udGVudCI6IjM2MDAifSwiMyI6eyJpZCI6IjMiLCJuYXNpZCI6IjIiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJBY2N0LUludGVyaW0tSW50ZXJ2YWwiLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50IjoiNjAwIn0sIjQiOnsiaWQiOiI0IiwibmFzaWQiOiIyIiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiTWlrcm90aWstUmF0ZS1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURET1dOfWsifX0sInNlcnZpY2VzIjp7IjIiOnsiaWQiOiIxIiwibmFzaWQiOiIyIiwicG9kIjoiIiwiY29hY29ubmVjdCI6IlwvYmluXC90cnVlIiwiY29hZGlzY29ubmVjdCI6IntQUklOVEZ9ICdGcmFtZWQtSVAtQWRkcmVzcyA9IHtJUH0nIHwge1JBRENMSUVOVH0ge05BU0lQfTp7TkFTUE9SVH0gXCJkaXNjb25uZWN0XCIge05BU1NFQ1JFVH0ifX19+eyJvcHRpb25zIjp7ImlkIjoiMyIsIm5hc2lkIjoiMSIsInVzZXJuYW1ldHlwZSI6Im1hYyIsInNlcnZpY2UiOiJwb2Rjb2EiLCJvbmx5YWN0aXZlIjoiMSIsInBvcnQiOiIzNzk5In0sImF0dHJpYnV0ZXMiOnsiOSI6eyJpZCI6IjkiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6ImNoZWNrIiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJDbGVhcnRleHQtUGFzc3dvcmQiLCJvcGVyYXRvciI6Ijo9IiwiY29udGVudCI6IjEyMzQ1In0sIjEwIjp7ImlkIjoiMTAiLCJuYXNpZCI6IjEiLCJzY2VuYXJpbyI6InJlcGx5IiwibW9kaWZpZXIiOiJhY3RpdmUiLCJhdHRyaWJ1dGUiOiJJZGxlLVRpbWVvdXQiLCJvcGVyYXRvciI6Ij0iLCJjb250ZW50IjoiMzYwMCJ9LCIxMSI6eyJpZCI6IjExIiwibmFzaWQiOiIxIiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiQWNjdC1JbnRlcmltLUludGVydmFsIiwib3BlcmF0b3IiOiI9IiwiY29udGVudCI6IjYwMCJ9LCIxMiI6eyJpZCI6IjEyIiwibmFzaWQiOiIxIiwic2NlbmFyaW8iOiJyZXBseSIsIm1vZGlmaWVyIjoiYWN0aXZlIiwiYXR0cmlidXRlIjoiTWlrcm90aWstUmF0ZS1MaW1pdCIsIm9wZXJhdG9yIjoiPSIsImNvbnRlbnQiOiJ7U1BFRURET1dOfU0ifSwiMjkiOnsiaWQiOiIyOSIsIm5hc2lkIjoiMSIsInNjZW5hcmlvIjoicmVwbHkiLCJtb2RpZmllciI6ImFsbCIsImF0dHJpYnV0ZSI6IkZyYW1lZC1JUC1BZGRyZXNzIiwib3BlcmF0b3IiOiI9IiwiY29udGVudCI6IntJUH0ifX0sInNlcnZpY2VzIjp7IjEiOnsiaWQiOiIzIiwibmFzaWQiOiIxIiwicG9kIjoie1BSSU5URn0gJ0ZyYW1lZC1JUC1BZGRyZXNzID0ge0lQfScgfCB7U1VET30gIHtSQURDTElFTlR9IHtOQVNJUH06e05BU1BPUlR9IFwiZGlzY29ubmVjdFwiIHtOQVNTRUNSRVR9IiwiY29hY29ubmVjdCI6IlwvYmluXC90cnVlIiwiY29hZGlzY29ubmVjdCI6IntQUklOVEZ9ICdGcmFtZWQtSVAtQWRkcmVzcyA9IHtJUH0nIHwge1NVRE99ICB7UkFEQ0xJRU5UfSB7TkFTSVB9OntOQVNQT1JUfSBcImRpc2Nvbm5lY3RcIiB7TkFTU0VDUkVUfSJ9fX0=
 </code> </code>
 ====== Конфигурация Mikrotik ====== ====== Конфигурация Mikrotik ======
Строка 51: Строка 80:
   - Нужен микротик с прошивкой не ниже v6   - Нужен микротик с прошивкой не ниже v6
   - Абонентские устройства должны видеть интерфейс на котором мы будет поднимать HotSpot по L2 потому-что авторизовать мы их будет по MAC    - Абонентские устройства должны видеть интерфейс на котором мы будет поднимать HotSpot по L2 потому-что авторизовать мы их будет по MAC 
-  - В примере мы используем сторонний dhcp поэтому на микротике надо настроить dhcp-relay, ну и ни кто не запрещает поднять dhcp на самом микротике +  - **В примере мы используем сторонний dhcp поэтому на микротике надо настроить dhcp-relay**.
   - Настройка в картинках ..   - Настройка в картинках ..
  
Строка 58: Строка 87:
 {{:mk-hs-1.png?&200|}} {{:mk-hs-1.png?&200|}}
  
 +Поле профиль, можно для всех хотспотов использовать один, если у них одинаковые настройки (радиусы, передача логина, пароль, типа вторизации и так далее)
 +В поле login timeout устанавливаем время через которое микротик будет пробовать переавторизовывать неавторизованных абонентов.
  
-Правим профиль сервера , ставим login by: mac и использовать радиус, аккаунтинг по вкусу. Mac Auth. Password : любой на свой вкус далее пропишем в радиус статично +Правим профиль сервера , ставим login by: mac и использовать радиус? если у вас для каждого хотспот разные радиусы то их можно различать по значению (Default domain) , аккаунтинг по желанию. Mac Auth. Password : любой на свой вкус мы его прописывали выше в атрибутах нас (12345)
  
 {{:mk-hs-2.png?&200 |}}   {{:mk-hs-3.png?&200|}} {{:mk-hs-2.png?&200 |}}   {{:mk-hs-3.png?&200|}}
  
-Пользователи при авторизации будут использовать профиль пользователя Default изменения в нем срабатывают глобально.+Все пользователи при авторизации будут использовать значения таймаутов и всего остального из профиль пользователя Default изменения в нем применяются для всех хотспотов но переопределяются значениями из радиус, чтобы использовать профиль отличный от default имя профиля надо предавать атрибутами через радиус.
  
 {{:mk-hs-4.png?&200|}} {{:mk-hs-4.png?&200|}}
  
-Добавляем в Walled Garden IP List адреса разрешенные нашим абонентам без авторизации и денег, адрес лист нужно предварительно создать в ip - firewall - address List+Добавляем в Walled Garden IP List адреса разрешенные нашим абонентам без авторизации и денег, адрес лист нужно предварительно создать в ip - firewall - address List, чтоб не насиловать фаервол дополнительными правилами можно тут что надо запрещать или разрешать.
  
 {{:mk-hs-5.png?&200|}}  {{:mk-hs-5.png?&200|}} 
  
  
-Открываем настройки Radius вписываем наши параметры полученные в КучаГене для NAS (пароль)+Открываем настройки Radius вписываем наши параметры полученные при настройки КучаГен пароль для нас NAS (справочнике сервера доступа NAS) так же чтоб мы могли получать команды Pod\CoA надо не забыть поставить галочку для входящих соединений и указать порт в примере 3799 (его-же вписывали в настройках NAS сервера выше)
  
 {{:mk-hs-6.png?&200|}} {{:mk-hs-6.png?&200|}}
  
-По итогу мы получим вот такое:+По итогу мы должны видеть наших все абонентов авторизованных и не авторизованных во вкладке hosts, туда попадают все устройства которые отправили хоть один пакет в сторону микротика. Во вкладке Active попадают только авторизованные для которых в радиусе нашлась правильная пара login\pass. Чтобы заставить абонента пройти процедуру переаторизацию (получить новые параметры) его надо удалять из Hosts.
  
 {{:mk-hs-12.png?300|}} {{:mk-hs-12.png?300|}}
  
-видим всех кто хочет авторизоваться , авторизованных и не авторизованных и даже скорость в реальном времени  +В биллинге можем видеть сессии пользователей при условии что мы отправляем accounting
-и еще в биллинге можем видеть активность юзверов+
  
 {{:mk-hs-13.png?300|}} {{:mk-hs-13.png?300|}}
  
 +====== Перенаправление отключенных/не авторизованных ======
 +HotSpot умеет это прекрасно делать так что не чего выдумывать не надо, а требуется как минимум поправить один файл login.html на микротике (понятно что перенаправить без боли мы можем только http трафик, также можно пробовать перенаправлять https но это проблемно и в большинстве случаев не работоспособно ищите в интернетах)
 +
 +{{:files.png?200|}}
 +
 +Привести его к такому содержимому, ну и не забыть добавить все наши хосты к которым можно без авторизации, как минимум адрес страницы куда перенаправляем абонов и днс в список разрешенных , описано выше.
 +<code>
 +<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>
 +</code>
 +
 +вообще там очень много вариаций которыми можно корректировать поведение системы хот спот и при желании можно получать много всяких данных еще до авторизации и после, но об этом уже в официальной доке [[https://wiki.mikrotik.com/wiki/Manual:Customizing_Hotspot]]
 ====== Статистика Mikrotik ======  ====== Статистика Mikrotik ====== 
  
 Mikrotik ccr1036 - начинает сдыхать при трафике больше + - 2.8G наличие или отсутствие на нем Nat почти не влияет. (это около 3к авторизованных абонентов) Mikrotik ccr1036 - начинает сдыхать при трафике больше + - 2.8G наличие или отсутствие на нем Nat почти не влияет. (это около 3к авторизованных абонентов)
  
-Mikrotik ccr1072 - до предела еще не дошли, пережевывает 4G  3800-4000 авторизованных.(пока проблем нет но уже похоже подходит к концу еще мегов 500 думаю прожует)+Mikrotik ccr1072 - до предела еще не дошли, пережевывает 4G  3800-4500 авторизованных проц до 55% .(пока проблем нет но уже похоже подходит к концу еще мегов 500-1000 думаю прожует)
  
 **Подключены в сеть одним 10G портом, также был ccr1036 с собранными в LACP 4шт по 1G портами, проблемы появлялись немного раньше чем 2.8G, естественно с коробки без легкого тюнинга они так не умеют**  **Подключены в сеть одним 10G портом, также был ccr1036 с собранными в LACP 4шт по 1G портами, проблемы появлялись немного раньше чем 2.8G, естественно с коробки без легкого тюнинга они так не умеют** 
  
 +Mikrotik ccr1072 - тупо как NAT в него стекается трафик от NAS`оф c разных сетей натит в разные пулы и так далее. Натит 15 гиг проц до 43% проблем нет.
 +
 +Из полезного:
 +
 +много ресурсов отжирает правила созданные по умолчанию хотспотом (заворот на себя 53 порта)
 +поэтому создаем в шедулер правило которое будет его убивать при запуске микротика , если перезапустить хот спот руками то не забываем убить правило в фаерволе.
 +
 +<code>
 +/system scheduler
 +add name=dns on-event=":delay 30;\r\
 +    \n/ip firewall nat remove [find dynamic dst-port=\"53\"]\r\
 +    \n/queue simple  remove [find name~\"hs\"]" policy=\
 +    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup
 +</code>
 +
 +так-же увеличиваем очередь шейпера (default-small) примерно так
 +<code>
 +/queue type
 +set 9 pfifo-limit=200
 +</code>
 + 
 +Если у вас на микротике дохрена абонов то не забываем увеличить время жизни ARP записи от стандартных 30сек до хотя бы 1-2 минуты иначе можно получить бродкастовый шторм не плохой.
mgmikrotik.1558598182.txt.gz · Последние изменения: 2019/05/23 10:56 — 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