По работе всё чаще приходится сталкиваться с оборудованием микротик, поэтому решил поставить рб951 домой, чтобы неспеша осваивать все тонкости и нюансы данных приборов.
Надо сказать, что в целом, от этого оборудования я восторге, хотя с непривычки кажется не логичными команды управления, ну это лишь вопрос привычки.
Базовая настройка не вызвала у меня каких-либо трудностей, а даже там где я озадачился, гугл помог.
В данный момент, схема организации связи такая:
eth1_wan смотрит в локалку провайдера, а k-tel поднимает l2tp; в бридже понятное дело оставшиеся эзернеты и wlan;
[root@r1.ds.lab] > int print
Flags: D - dynamic, X - disabled, R - running, S - slave
# NAME
0 R ;;; main uplink
eth1_wan
1 ;;; reserved uplink
eth2
5 R wlan1
6 R bridge-local
10 R k-tel l
Теперь я хочу реализовать следующий алгоритм (посредством скрипта):
как только поднимается l2tp-сессия через k-tel, мне на email приходит публичный адрес моего микротика.
Где-то на просторах интернета натыкался на скрипт, связанный с переключением аплинков и в нем была секция по определению ип адреса интерфейса, ее взял за основу для своего скрипта;
Затем я научился отправлять емеил со своего микротика через винбокс, а также с терминала такой командой:
/tool e-mail send to=получатель@mail.ru from=отправитель@gmail.com subject="тема" body="текст сообщения" tls=yes
Хочу обратить внимание, что е-мейл клиент микротика у меня уже сконфигурирован.
Ну и в конечном счете скрипт выглядит так:
#l2tp interface name
:global MainIf k-tel
#local wan interface name
:global RsrvIf eth1_wan
#l2tp interface ip address
:global MainIfAddress ""
#local wan interface ip address
:global RsrvIfAddress ""
:global MainIf
:global MainIfAddress ""
:set MainIfAddress [/ip address get [find interface=$MainIf] address]
:global RsrvIf
:global RsrvIfAddress ""
:set RsrvIfAddress [/ip address get [find interface=$RsrvIf] address]
/tool e-mail send to=получатель@mail.ru from=отправитель@gmail.com subject="тема" body="publicip=$MainIfAddress local ip=$RsrvIfAddress" tls=yes
Под RsrvIfAddress в данном случае подразумевается серый адрес в локалке провайдера (отголоски исходного скрипта, пусть будут);
Вообщем-то в таком виде скрипт работает, но только если запускать его руками. Как сделать так, чтобы сообщение уходило именно в момент когда поднялся l2tp через k-tel?
И попутно вопрос, есть ли в микротике команда выводящая весь конфиг устройства полностью, что-то вроде show running-config в циско?