Инструменты пользователя

Инструменты сайта


mgmikrotik

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
mgmikrotik [2019/09/20 16:13]
demonidze [Перенаправление должников]
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 на микротике ​+HotSpot умеет это прекрасно делать так что не чего выдумывать не надо, а требуется как минимум поправить один файл login.html на микротике ​(понятно что перенаправить без боли мы можем только http трафик,​ также можно пробовать перенаправлять https но это проблемно и в большинстве случаев не работоспособно ищите в интернетах)
  
 {{:​files.png?​200|}} {{:​files.png?​200|}}
  
-как минимум привести его к такому содержимому ​+Привести его к такому содержимому, ну и не забыть добавить все наши хосты к которым можно без авторизации,​ как минимум адрес страницы куда перенаправляем абонов и днс в список разрешенных , описано выше.
 <​code>​ <​code>​
 <​html>​ <​html>​
Строка 118: Строка 148:
 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.txt · Последние изменения: 2019/11/26 10:46 — demonidze