микротик скрипт при подключении к wifi

MikroTik Скрипты: Уведомление о подключении устройства к сети

Настраиваем уведомление о подключении нового устройства к локальной сети или WiFi, используя настройки DHCP сервера (выделение IP адреса или истечение аренды). Отправляем сообщение в Telegram или электронную почту.

Мой Wi-Fi роутер сказал, что мужчина был дома с моей женой, пока я был на работе

Но это не единственное применение этой возможности. 🙂

Если выставить время аренды IP адреса (Lease Time) равным 10 часов можно узнать во сколько подключились к сети компьютеры сотрудников или кто не выключает компьютер уходя с рабочего места.

Если использовать простой пароль для WiFi можно обнаружить, что соседский ребенок тоже использует ваш WiFi. 🙂

Скрипт поможет узнать о имеющихся проблемах со стабильностью связи или о сетевых неполадках.

Так же можно на основе этого скрипта выполнить другие полезные действия.

Скрипт: Отправка уведомления о подключении устройства к сети

MikroTik скрипт срабатывает при выделении IP адреса новому устройству или устройству срок аренды IP адреса которого истек. Отправляет сообщение в Telegram или электронное письмо.

🔔 Рекомендую в комментариях к устройствам использовать только символы английского языка!

Скрипт использует вызов функций:

Изменить время аренды IP адреса

Устанавливаем время аренды IP адреса = 10 часов.

Создать скрипт уведомления

Код скрипта

микротик скрипт при подключении к wifi

🟢 В этой статье обсуждалось создание скрипта MikroTik для отправки сообщений о подключении устройства к сети. Я надеюсь у вас получилось настроить отправку уведомлений в Telegram или на электронную почту. Однако, если вы столкнулись с каким-то проблемами при получении информации, не стесняйтесь написать в комментариях. Я постараюсь помочь.

P.S. Если у вас есть интересные или необычные вариант применения скрипта, напишите в комментариях, я добавлю в статью. 🙂

Комментарии 15

Настроил по инструкции, но при подключении устройств — ничего не приходит. Что-то надо поменять? Последняя версия прошивки — RouterOS v6.48.1 (stable).

p.s. если в ручном режиме запускаю этот скрипт — ничего в телегу не приходит, а если выполняю ручной запуск скрипта SendMessageToTelegram — приходит: «🟢 MyName: italic inline fixed-width code plain text More Scripts (https://mhelp.pro/)».

Проверяйте правильность отправки текста сообщения, проблема скорей всего в этом, а не в данном скрипте.
По статье «Отправка сообщения в Телеграм (функция)».
Добейтесь чтобы отправка сообщения проходила успешно (проверяйте наличие спец символов или символов русского языка в тексте сообщения).

Проблему решил. Просто не в тот раздел скриптов размещал )) Спасибо!

Пожалуйста Дмитрий, большое спасибо, что написали отзыв о решении проблемы.

Как сделать чтобы уведомления приходили только о тех устройствах в которых в комментариях отсутствует некий общий текст, например если в комментарии присутствует слово «Sss» то уведомления не должны приходить?

Уважаемый автор, ещё раз спасибо за скрипт, всё работает отлично, но столкнулся с одной неприятной особенностью некоторых Apple-устройств: отчего-то они почти непрерывно подключаются и тут же самостоятельно отключаются от DHCP-сервера, в результате в лог попадает много ненужных уведомлений, в связи с этим вопрос: как изменить скрипт чтобы этого избежать? Самым простым вижу способ просто отключить уведомления о подключении/отключении по имени устройства или его MAC-адресу, но тогда об этом устройстве не будет вообще никогда информации в уведомлениях, это не совсем устраивает. Нет ли ещё каких вариантов — чтобы отслеживались ситуации с отключением/подключением одного и того же устройства в пределах 1-2 минут и они не попадали в лог, а попадали именно такие, которые не имели бы обратно-парных? Как для этого можно модернизировать скрипт?

Спасибо за отзыв.
1. С Apple устройствами проблема, у них стандартное поведение — это изменение MAC адреса в WiFi сети, для «обезличивания». Так же как частое включение/отключение (это может быть работа режима энергосбережения), после чего устройство заходит в сеть с новым MAC адресом;
2. По поводу доработки, нужно подумать, но маловероятно что это будет простая доработка. Как быстрое решение видится создание этим скриптом списка подключаемых устройств (с перезаписью дублей). Список будет забирать другой скрипт и при этом очищать этот список.

Отличная статья, спасибо. А как можно добавить функцию отслеживания и уведомления при отключении устройства?

Здравствуйте, спасибо. Придется немного переделать скрипт Уведомление о входе — ссылка. При отключении от WiFi в логе MikroTik генерируется сообщение вида: «2C:59:8A:71:20:78@wlan2-5GHz: disconnected, received disassoc: sending station leaving (8)».
В указанном скрипте изменить строку поиска определенного события на :local IDsEventsAccount [/log find where message

«station leaving»]; или какой-то свой признак из журнала устройства.

Всё решил, причём намного проще чем думал изначально: воспользовался тем, что DHCP-сервер всегда отслеживает не только подключение нового клиента но и отключение подключенного, таким образом скрипт просто дополняется новой веткой:

:if ($leaseBound =1) do= <
# Variables
:local Time [/system clock get time];
:local Date [/system clock get date];
:local Comment [/ip dhcp-server lease get value-name=comment number=[/ip dhcp-server lease find address=$leaseActIP]]
:local DeviceName [/system identity get name];

Всё почти точно такое же как и при подключении — только убрал выдачу комментария при отключении клиента — всё равно он приходил пустым несмотря на заранее заданный комментарий — при подключении клиента он как раз отображался, а вот при отключении — нет, интересно почему так?
Думаю, можно поместить этот скрипт в основную статью, переделав её и сразу назвав как «скрипт для уведомления о подключении и отключении устройства к сети» — так будет легче найти и сразу же использовать тем кто в этом нуждается.
У меня же остался вопрос о том как можно менять цвет и тип пиктограммы первого символа при выдаче сообщения: зелёная жирная точка это хорошо, а как подставлять иные варианты и где можно их все увидеть? Понятно что сейчас это задано вот этими символами \F0\9F\9F\A2, но где можно узнать как именно они кодируют?

1. Статья задумывалась в упрощенном виде, чтобы новичкам было легче войти в тему скриптов. Поэтому нет многофункциональных скриптов и разного рода «оптимизаций» и сокращений кода. Т.е. посмотрели что легко, сделали. Понравилось, начали оптимизировать, благо знания уже есть.
О варианте уведомлений при отключении клиентов, насколько ценная информация, что 30 сетевых устройств были выключены по завершению рабочего дня?

3. Вы можете вынести эти строки вниз скрипта, исключив их из условий:
:local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]];
$SendTelegramMessage MessageText=$MessageText;
Это уменьшит код (избыточность) еще на две строки, т.к. в вашем варианте в любом случае происходит отправка сообщения, а в условиях оставить только генерацию сообщения.

1. Честно признаюсь, необходимость отслеживания точного времени отключения устройств возникла не просто так, а в связи с желанием дистанционного контроля ребёнка (почти уже взрослого), живущего самостоятельно — хотелось ненавязчиво понять график прихода/ухода на учёбу, режим работы ПК — теперь всё это будет попадать в чат и можно будет просмотреть и получить исчерпывающие ответы на свои вопросы.
2. Спасибо за пояснение, пока ждал уже и сам нашёл ответ где искать эти эмодзи, правда пока не нашёл их все в одном месте сразу.
3. Логично, и правда отправка сообщения произойдёт и так и этак, сейчас переделаю и проверю работоспособность.

Ещё раз спасибо и хотелось бы побольше статей про автоматизацию работы с Mikrotik и его настройку, использование разных полезных скриптов. К примеру, на некоторых скриншотах видна имеющаяся настройка CAPsMAN — а статьи про неё нет, можно добавить?

1. Да, для домашнего варианта будет хорошо.

2. Я смотрю здесь, и ищу запрос в гугле вида «⚠️ utf8 hex». Кстати, возможен вариант, что эмодзи может некорректно отображаться на устройстве определенного вендора (особенно какие-то новые символы).

3. Статьи пишутся, но времени не хватает. Про CAPsMAN планы есть, но очень отдаленные.

В телеграме получаю:

🟢 MikroTik: New DHCP client
Name: MiNote10Lite-MiNote1
Comment: []
Interface: server1
IP: 192.168.0.241
MAC: AE:1D:16:73:4A:AD]
—-

Что должно выводиться в «Comment», у меня там пустой массив?
В конце MAC адреса лишняя закрывающаяся квадратная скобка

Источник

Оповещение при подключении к вайфай

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Возможно ли на 8 windows раздачу вайфай при подключении ppoe?
Возможно ли на 8 windows раздачу вайфай при подключении ppoe? И как можно настроить?

Оповещение при подключении нового устройства
Скажите пожалуйста можна ли сделать что бы при подключении стороннего устройства к своей wi-fi.

Оповещение при звонке
Добрый вечер Возможно ли сделать так чтобы после того как пользователь отвечал на звонок или к.

используйте телеграмм вместо смс.

Добавлено через 8 минут

Ну начнем с того что у меня 2 wifi сети. Одна виртуальная гостевая то есть без шифрования. Называется она FREE я хочу видеть когда к ней подключаются так то я через torch могу посмотреть и через dhcp layer. Но если я не дома то увидеть это не могу. Поэтому хочу так сделать.
Вы подскажите где писать и как?

Добавлено через 1 минуту
Причем тут USB? У меня hap lite.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Смс оповещение при заказе
Здравствуйте Мне необходимо сделать смс оповещение при заполнении формы с именем и телефоном.

Оповещение при нажатии на кнопку ОК
Здравствуйте. Помогите пожалуйста. У нас сайт mirlombardov.com У меня не работает оповещение при.

Оповещение при отправки формы
Добрый День! У меня есть простенький магазин на php. На нем простецкая форма заказа: function.

микротик скрипт при подключении к wifiЗвуковое оповещение при получение сообщения
Есть чат TCP/IP c# winForms Как сделать звуковое оповещение при получение сообщения? Если можно.

Источник

Полезные скрипты для MikroTik RouterOS

Перезагрузка роутера, при зигрузке CPU

Копирование и применение последней актуальной понфигурации

То есть забираем по FTP lastconfig.backup и восстанавливаемся с него. FTP пользователь должен быть настроен, желательно с ограничением доступа по IP. Обратите внимание, что к FTP подключаемся по IP-адресу локального физического интерфейса, который доступен только между роутерами.

Этот скрипт ставим в планировщик на несколько минут позже выполнения скрипта резервного копирования.

И последний скрипт — применение настроек на резервном сервере. В нем также используется МАС для идентификации роутера.

Здесь меняем имя роутера, ip-адрес LAN-интерфейса и приоритет VRRP на меньший, чтобы роутер сделать слейвом. Запуск этого скрипта нужно поставить в автозагрузку. Изменения будут происходить на резервном сервере после копирования и применения последней актуальной конфигурации.

Резервное копирование

Проверка статуса роутера и выключение интерфейса

Подключение к динамическим серверам или сервисам, на примере pptp-соединения

Проверка синтаксиса скрипта

Настройка на 2 провайдера:

Блокировка трафика по времени:

Если нужно запретить трафик по времени ночью, скажем с 22:00 до 10:00 утра:

0) Стандартный способ – использовать два правила с временными промежутками 22:00:00-23:59:59 и 00:00:00-10:00:00

1) Использовать через запрет – Где-то в конце есть правило, которое запрещает, а конкретным правилом разрешать.

2) Использовать шедулер –
также создаём правило в файрволе, но не указываем конкретное время –

Источник

Mikrotik в качестве Wi-Fi клиента

Пожалуй, каждый рано или поздно сталкивается с ситуациями, когда либо интернет-провайдер осуществляет технические работы, либо на его линии возникают неполадки — и как итог домашний интернет перестает работать. На помощь в таком случае приходит мобильный интернет от сотового оператора. Все современные смартфоны поддерживают функционал «Точки доступа» — когда мобильное устройство может выступить в качестве точки доступа, а другие устройства — подключиться к нему обычным способом по wi-fi.

Но что делать, если на вашем компьютере нет wi-fi адаптера, и единственный вариант — подключение кабеля от вышестоящего роутера? С помощью этой инструкции вы сможете настроить mikrotik в режиме Wi-Fi клиента — чтобы это оборудование получало интернет со смартфона и раздавало его на все остальные устройства.

Если ваш микротик уже был настроен заранее — скорее всего на нем уже создан какой-либо бридж с собственной адресацией. По умолчанию это bridge (с адресацией 192.168.88.1/24). Адреса из прописанного пула будут получать все подключенные к интерфейсам данного бриджа устройства.

Далее нужно поднять интернет на самом микротике.

Зайдите на вашем смартфоне в настройки режима «Точка доступа / Мобильная точка доступа / Личная точка доступа» (на разных моделях устройств опция может отличаться). Пропишите желаемое название wi-fi сети и пароль (у нас — Test_client и 12345678 соответственно). Включите точку доступа.

микротик скрипт при подключении к wifi

Зайдите в настройки микротика, вкладка Wireless.

В меню Security Profiles создаем профиль, прописываем в нем пароль, который прописан на точке доступа смартфона.

микротик скрипт при подключении к wifi
В меню WiFi Interfaces открываем wlan1, вкладка Wireless:
значение Mode — выставляем station.
значение SSID — идентичное точке доступа смартфона имя.
значение security profile — созданный ранее профиль с паролем.

микротик скрипт при подключении к wifi

Далее остается лишь настроить раздачу интернета на микротик с вашей точки доступа.

микротик скрипт при подключении к wifi

Или же примените в New Terminal микротика скрипт:
/ip dhcp-client add interface=wlan1 disabled=no

Теперь при отключении проводного интернета, если на смартфоне включена настроенная точка доступа, микротик и все устройства, находящиеся за ним, будут выходить в интернет через нее.

Источник

MikroTik Скрипт: Уведомление о успешном входе на устройство или простой парсер журнала MikroTik

Статья будет больше интересна специалистам использующим небольшой парк устройств (не использующим отдельный сервер, для системы мониторинга или логирования), домашним пользователям, тем кто в первый раз подступается к написанию скриптов устройства и тем у кого нет времени/желания разбираться.

микротик скрипт при подключении к wifiПример email с событиями вход/выход пользователей

Написать свой скрипт меня сподвигло желание упростить монструозные скрипты, которые можно найти по этому запросу в интернете, выполняющие это несложное действие (пример скрипта с Wiki MikroTik), а так же показать почему инженеры MikroTik сделали невозможным простой способ парсинга, если вы не житель Лондона. 🙂

Статья разбирает пример уведомления о входе и выходе пользователя с устройства MikroTik, но так же покажет примеры:

Организация времени в журнале устройства;

Парсинг журнала устройства, поиск событий по критериям;

Отправка уведомлений на электронную почту;

Отправка сообщения Telegram.

Предыстория. Почему скрипты парсинга логов MikroTik «монструозны»?

Под монструозностью будем понимать большой объем логики скрипта и конструкции вида:

Они показывают умение администратора «оптимизировать» код, но здорово усложняют возможности понимания скриптов другими пользователями.

Но самую огромную роль в усложнение логики этого скрипта внесла сама компания MIkroTik, с интересной логикой журнала на устройстве. 🙂

Что может быть проще конструкции: «найди все события по времени старше последнего запуска с темой «account», запущенной простым казахстанцем (UTC+06)?

Это даже будет работать, ровно до 23:59:59 текущего дня. А после 12 ночи, скрипт превратится в тыкву А вот после 00:00:00 система начнет вываливать все события предыдущего дня. Почему?

Инженеры MikroTik большие оригиналы решившие сделать хранение записей журнала следующим образом: система хранит в журнале события сегодняшнего дня только с параметром времени, а чтобы не путаться, когда сменяется день, перезаписывает время событий добавляя дату, во все события «вчерашнего» дня. Для пользователя, в журнале событий все события отображаются дата/время, но сама система, событиям текущего дня присваивает только время.

Ну и где здесь оригинальность? А оригинальность в том, что MikroTik считает началом нового дня время 00:00:00 по UTC±0:00. Игнорируя часовой пояс самого устройства, т.е. у меня (UTC+06), до 6 утра, выдавались все уведомления за предыдущий день. В 06:00:00 Микротик перезаписывал всем событиям дату и скрипт снова начинал корректно работать.

Так что если вы не житель Лондона (UTC±0:00), для парсинга журнала устройства по времени вам приходилось использовать костыли, решая логикой скрипта проблему организации времени на устройстве.

Костыли делать мне не хотелось (в частности однажды это могут исправить), поэтому подумалось над вариантом который был бы проще в работе и проще в понимании другими пользователями.

Логика скрипта

Помимо параметров время события, текст события, MikroTik использует уникальный параметр id события, который мы будем использовать (.id уникален до перезапуска устройства, потом отчет начинается заново, с 0).

Формируем текст email, записывая новой строкой сообщение журнала MikroTik;

Формируем текст Telegram сообщения, используя %0D%0A для переноса строки;

Отправляем сформированное сообщение на email;

Отправляем сформированное сообщение в Telegram;

Записываем в ParseLogAccountEndArrayID последний ID сообщения с темой «account» (EndArrayID).

Создать скрипт

Для запуска скрипта необходимы разрешения: read, write, test, policy.

Код скрипта

Добавление скрипта в Планировщик

Для запуска скрипта необходимы разрешения: read, write, test, policy.

Или выполните в терминале:

Заключение

Надеюсь приведенный скрипт будет вам полезен, вы поймете как легко и просто парсить журнал устройства MikroTik выставляя триггеры по теме сообщения, или тексту сообщения.

микротик скрипт при подключении к wifiПример Telegram сообщения

Возможные темы сообщений в журнале устройства, можно увидеть попытавшись создать правило Logging:

Для парсинга текста сообщений используйте регулярные выражения и команду вида:

[/log find where message

Установив более частое время проверки скрипта, вы можете выполнить дополнительные действия при входе/выходе пользователя, например автоматическое создание резервной копии (для тех кто любит править Firewall в пятницу вечером, забывая устанавливать MikroTik Safe Mode) или что еще подскажет воображение.

Мой скрипт выглядит проще, чем что я находил в интернете и доступен к оптимизации, если вы любите оптимизировать код в минимальное количество строк.

Если вы используете множество скриптов на вашем устройстве, указывать параметры почты и Telegram бота, в каждом из скриптов нерационально, особенно если возникнет необходимость изменить параметры. Я использую в своих скриптах вызов скриптов функций: «Отправить Email» и «Отправить сообщение Telegram», возможно и Вам это тоже будет полезно, упрощая управление устройством MikroTik.

Работа скрипта проверена на: hAP ac lite, RouterOS 6.47.8 (stable).

UPD 11.12.2020: Выставляйте права на запуск скрипта в Scheduler и на сам скрипт, как указано в статье: read, write, test, policy. Излишние права (выставляются по умолчанию новому скрипту) могут привести к появлению ошибки «could not run script ParseLogAccountEvents: not enough permissions«. Проверяйте журнал устройства.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *