Контроль появления новых устройств

Обсуждение ПО и его настройки
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Ну и хорошо, что вы нашли свой вариант. Самый что ни на есть предпочтительный вариант. Надеюсь это не последний ваш скрипт)) Поверьте, мне очень хочется, чтобы люди учились сами и помогали учиться другим. Вот тот вариант, что метит у меня в сети гостей:
 Старый проверенный вариант без глобальных переменных

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

{
    :local t [/system clock get time];
    :local d [/system clock get date];
    :foreach i in=[/ip dhcp-server lease find] do={
        :if ([/ip dhcp-server lease get $i status]="bound" && [/ip dhcp-server lease get $i comment]="" && [/ip dhcp-server lease get $i server]="DHCP") do={
        :local g [("Guest" . "-" . $d . "-" . $t)]
        /ip dhcp-server lease set $i comment=$g;
        /ip firewall address-list add address=[/ip dhcp-server lease get $i address] list="Drop" timeout=1d

        }
    }   
 }
 


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

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

  {
  :global leaseBound;
  :global leaseActMAC;
  :global leaseActIP;
  :global leaseServerName;
  :local t [/system clock get time];
  :local d [/system clock get date];
  :local g [("Guest" . "-" . $d . "-" . $t)];
  :if ($leaseServerName="DHCP" && [/ip dhcp-server lease get [/ip dhcp-server lease find mac-address=$leaseActMAC] comment]="" && $leaseBound=1) do={
   /ip dhcp-server lease set [/ip dhcp-server lease find mac-address=$leaseActMAC] comment=$g
   /ip firewall address-list add address=$leaseActIP list="Drop" timeout=1d
  }
 }
 


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
evgeniy.kremenskiy
Сообщения: 2
Зарегистрирован: 25 июл 2019, 11:34
Откуда: Новосибирск

Здрравствуйте!

Попробовал ваш вариант
abusenko87 писал(а): 03 окт 2016, 13:26 podarok66 Спасибо за отзывчивость!
 Такой вариант работает
:if ($leaseBound = 1) do={
/ip dhcp-server lease;
:foreach i in=[find dynamic=yes] do={
:local dhcpip
:set dhcpip [ get $i address ];
:local clientid
:set clientid [get $i host-name];

:if ($leaseActIP = $dhcpip) do={
:local comment "New IP"
:set comment ( $comment . ": " . $dhcpip . ": " . $clientid);
/log error $comment;
/tool e-mail send to=user@12345.net subject=NewPc body="$leaseActIP || $leaseActMAC || $leaseServerName || $clientid"

}
}
}
Иии.. Не работает
Подскажите пожалуйста, нет ли каких-то дополнительных условий?


Ответить