сообщение при подключении к VPN

Автоматизация при помощи встроенного скриптового языка и RouterOS API
Аватара пользователя
Chupaka
Сообщения: 2795
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: сообщение при подключении к VPN

Сообщение Chupaka »

Вы бы привели конкретный скрипт, который не работает, раз задаёте такие вопросы выше.

А как вы себе представляете смену Caller ID без переподключения?

Vita077
Сообщения: 33
Зарегистрирован: 28 сен 2018, 12:38

Re: сообщение при подключении к VPN

Сообщение Vita077 »

Поле "Caller ID" vpn-клиента - как правило IP-адрес с которого клиент подключается к серверу. Можно ли сделать так, чтобы сообщение отправлялось только при изменении этого значения? Получается скрипт надо немного усложнить с сохранением последнего IP-адреса и отправкой сообщения если он изменился на новый.
Скрипт же который у меня не работает - то что Вы давали чуть выше, слегка с укороченными инфо-сообщениями:
:local msg_subj "$user"
:local msg_body "$user подключился по $[/ppp active get [/ppp active find where name=$user caller-id=$"caller-id" address=$"remote-address"] service] в $[/system clock get time].\r\nIP - $"caller-id"";
/tool e-mail
send to="[email protected]" subject=$msg_subj body=$msg_body
send to="[email protected]" subject=$msg_subj body=$msg_body

Аватара пользователя
Chupaka
Сообщения: 2795
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: сообщение при подключении к VPN

Сообщение Chupaka »

Оказывается, подчёркивания в именах переменных просто так использовать нельзя :oops:
Попробуйте исправленный вариант:

Код: Выделить всё

:local "msg_subj" "$user"
:local "msg_body" "$user подключился по $[/ppp active get [/ppp active find where name=$user caller-id=$"caller-id" address=$"remote-address"] service] в $[/system clock get time].\r\nIP - $"caller-id"";
/tool e-mail
send to="[email protected]" subject=$"msg_subj" body=$"msg_body"
send to="[email protected]" subject=$"msg_subj" body=$"msg_body"
Caller-ID можно попробовать сохранять в комментарий к учётной записи. Это если их много...

Vita077
Сообщения: 33
Зарегистрирован: 28 сен 2018, 12:38

Re: сообщение при подключении к VPN

Сообщение Vita077 »

отправка писем в последнем варианте тоже не происходит...
С Caller ID - не критично, переподключения бывают редко, больше по причине отключения электроэнергии. В приоритете многоадресная отправка. Я правильно понимаю, в работающем скрипте можно добавить более 2 адресатов - просто указывать остальные с новой строки?

Аватара пользователя
Chupaka
Сообщения: 2795
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: сообщение при подключении к VPN

Сообщение Chupaka »

Отправка не происходит - а что происходит? В логе пусто?

Если "с новой строки" значит "скопировать полностью всю строку" - да, можно и так.

Vita077
Сообщения: 33
Зарегистрирован: 28 сен 2018, 12:38

Re: сообщение при подключении к VPN

Сообщение Vita077 »

прошу прощения, скрипт сработал, видимо удачный копипаст не получился при первой попытке. Благодарю Вас, очень помогли!

Vita077
Сообщения: 33
Зарегистрирован: 28 сен 2018, 12:38

Re: сообщение при подключении к VPN

Сообщение Vita077 »

в завершении, чтобы не плодить темы - данный скрипт, как я понимаю, можно применять в профиле PPP и для ppp-клиентов - соединений, поднятых при помощи usb-модемов. Интересует отправка на почту его локального адреса, полученного от оператора сотовой связи. Правильно понимаю, мне надо заменить в последней строке скрипта IP - $"caller-id"" на IP - $"local-address""?

Аватара пользователя
Chupaka
Сообщения: 2795
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: сообщение при подключении к VPN

Сообщение Chupaka »

Да, переменная local-address тоже доступна в скрипте, можно её использовать.

AlexPap
Сообщения: 1
Зарегистрирован: 09 июл 2020, 16:11

Re: сообщение при подключении к VPN

Сообщение AlexPap »

Добрый день.
Хотелось бы узнать, можно ли в профиле On Down: реализовать отправку uptime пользователя на почту?
Имеется ввиду - сколько пользователь работал (был подключен).

Аватара пользователя
Chupaka
Сообщения: 2795
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: сообщение при подключении к VPN

Сообщение Chupaka »

Добрый.

К сожалению, вызов скрипта происходит уже после отключения пользователя, поэтому "в лоб" не получится...

Жуткий костыль:
* выполняем в Терминале

Код: Выделить всё

:global login {x=1}
(почему-то если просто ":global login" в скрипте - не работает :()
* в on-up пишем

Код: Выделить всё

:global login;
:set ($login->$user) ( [/system clock get date] . " " . [/system clock get time] );
* в on-down -

Код: Выделить всё

:global login;
:log info ( $user . " was logged in at " . $login->$user )
Т.е. при логине запоминаем время, при отключении его как-то используем...