Re: Отправка e-mail/sms про появлении в сети определенного х
Добавлено: 18 июл 2015, 21:21
Добрался до этого вопроса... Лето, далеко от железок...
Итак, я выяснил и проверил, что в lease-script можно указать имя скрипта, который будет выполнятся при выдаче клиенту IP-адреса и при истечении этой аренды (assigned и deassigned).
Также проверил, что в lease-script можно писать тело скрипта и он также будет выполняться по assigned и deassigned.
Полученная информация позволяет избежать использования двух скриптов, пример которых есть тут viewtopic.php?p=31422#p31422 , сократив их количество до одного.
Я пока применяю такой скрипт:
Есть проблема, а именно - скрипт выполняется только когда происходит assigned или deassigned клиента на DHCP-сервере. Т.е. когда комп включается, видим в логе микротика сперва это:
И тут же это:
Из-за этого скрипт выполняется дважды. Но это ерунда, основная проблема в том, что при выключении кома не происходит deassigned, аренда IP продолжает висеть до истечения срока, либо при следующем включении компа обнуляется (куски лога выше). Т.е. при выключении компа скрипт не выполняется.
Итак, я выяснил и проверил, что в lease-script можно указать имя скрипта, который будет выполнятся при выдаче клиенту IP-адреса и при истечении этой аренды (assigned и deassigned).
Также проверил, что в lease-script можно писать тело скрипта и он также будет выполняться по assigned и deassigned.
Полученная информация позволяет избежать использования двух скриптов, пример которых есть тут viewtopic.php?p=31422#p31422 , сократив их количество до одного.
Я пока применяю такой скрипт:
Код: Выделить всё
{
#IP компа, за появлением в сети которого наблюдаем
:local CompIP 192.168.0.109;
#Делаем Ping этого IP, чтобы высветить его в ARP принудительно и не ждать автообновления ARP
/ping address="$CompIP" interface=bridge1 count=3
delay 3s
#Ищем нужный IP в таблице ARP
:local y [/ip arp find address="$CompIP"];
# Сравниваем наш IP с "ничем", если IP НЕ равен "ничему", т.е. имеет реальное значение, то в лог пишем что-то (можно выполнять любое другое действие)
:if ( $y!="") do={
:log warning "Supercomp ONline!";
}
# Сравниваем наш IP с "ничем", если IP РАВЕН "ничему", т.е. не имеет реального значения, то в лог пишем что-то (можно выполнять любое другое действие)
:if ( $y="") do={
:log warning "Supercomp OFFline!";
}
}
Есть проблема, а именно - скрипт выполняется только когда происходит assigned или deassigned клиента на DHCP-сервере. Т.е. когда комп включается, видим в логе микротика сперва это:
Код: Выделить всё
20:59:14 dhcp,info dhcp1 deassigned 192.168.0.000 from 00:00:00:00:00:00
И тут же это:
Код: Выделить всё
20:59:14 dhcp,info dhcp1 assigned 192.168.0.000 to 00:00:00:00:00:00
Из-за этого скрипт выполняется дважды. Но это ерунда, основная проблема в том, что при выключении кома не происходит deassigned, аренда IP продолжает висеть до истечения срока, либо при следующем включении компа обнуляется (куски лога выше). Т.е. при выключении компа скрипт не выполняется.