=====Настройка mikrotik=====
Редкостный кастыль для того что бы пользователи в ТЦ не злоупотребляли бесплатным wi-fi
1) в /ip hotspot user profile вставить скрипт1 как во вложении
2) в /system script add name=rm вставить скрипт 2
3) добавить в расписание
4) Настроить web-proxy
жмем «y»
заменяем фйл webproxy/error.html на тот что по ссылке, ну или напишите свой.
5) добавляем правило
6) разрешаем ходить на cраничку-заглушку
Скрипт1
Скрипт2
====Общее описание====
* При активации на сервисе hotspot, отрабатывает скрипт который создает файл название которого - логин (благо у них это телефонный номер).
* При последующих активациях в файл вносятся цифры от 2 до 5, и когда в файле 5 то ip клиента заносится в address list - "ban".
* В firewall есть правила для этой группы запрещающее доступ в интернет и перенаправляющая все http запросы на web-proxy, в котором заглушка, сообщающая о превышении количества сессий в сутки.
Редкостный кастыль для того что бы пользователи в ТЦ не злоупотребляли бесплатным wi-fi
1) в /ip hotspot user profile вставить скрипт1 как во вложении
2) в /system script add name=rm вставить скрипт 2
3) добавить в расписание
/system scheduler add name= run_rm start-time=02:00:00 interval=24:00:00 on-event=" /system script run rm"
4) Настроить web-proxy
/ip proxy set enabled=yesСбрасываем страничку сообщающую об ошибках:
/ip proxy reset-htmlCurrent html pages will be lost! Reset anyway? [y/N]:
жмем «y»
/ip proxy access add action=deny disabled=noв /file
заменяем фйл webproxy/error.html на тот что по ссылке, ну или напишите свой.
5) добавляем правило
/ip firewall nat add chain=dstnat action=redirect to-ports=8080 protocol=tcp src-address-list=ban dst-port=80,443 log=no comment="redirect-to web-proxy" place-before=0убедится что оно выше остальных.
6) разрешаем ходить на cраничку-заглушку
/ip hotspot walled-garden ip add action=accept server=hotspot1 dst-address=10.21.32.1 protocol=tcp
Скрипт1
:local kuser $user;
:local kip [/ip hotspot active get [find user=$kuser] address];
:local kfile ($kuser.".txt");
:log info message=("LogIN: ".$kuser.";".$kip);
:if ([:len [/file find name=$kfile]] = 0) do={/file print file=$kuser} else={:if ([/file get $kfile contents]~"^[2-5]") do={:if ([/file get $kfile contents] = 2) do={/file set $kfile contents=3} else={:if ( [/file get $kfile contents] = 3) do={/file set $kfile contents=4} else={:if ([/file get $kfile contents] = 4) do={/file set $kfile contents=5} else={:if ([/file get $kfile contents] = 5) do={/ip firewall address-list add list="ban" address=$kip} else={:log info message=("Eroor: ".$kfile)}}}}} else={/file set $kfile contents=2}};
Скрипт2
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "9"]]!="nil") do={/file remove $i}; };
/ip firewall address-list remove [/ip firewall address-list find list="ban"];
====Общее описание====
* При активации на сервисе hotspot, отрабатывает скрипт который создает файл название которого - логин (благо у них это телефонный номер).
* При последующих активациях в файл вносятся цифры от 2 до 5, и когда в файле 5 то ip клиента заносится в address list - "ban".
* В firewall есть правила для этой группы запрещающее доступ в интернет и перенаправляющая все http запросы на web-proxy, в котором заглушка, сообщающая о превышении количества сессий в сутки.