Включение/выключение PoE на порту при появлении определенного IP

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
iAHTOH
Сообщения: 8
Зарегистрирован: 15 апр 2021, 15:24
Откуда: Казань
Контактная информация:

Добрый день уважаемые.
Помогите накидать скрипт который включает и выключает PoE на определенном порту, при появлении в сети определенного, статического IP адреса.

Начну с того для чего мне это нужно: На даче есть RBSXTR - это LTE тарелка с 2-мя LAN портами.
По первому порту получаю питание и раздаю инет внутри помещения (там тоже микротик с WIFi).
По второму порту я питаю WiFi AP которая раздает инет на улицу (во дворе).
Так вот, когда меня нет на даче, мне не нужна внешняя WiFi AP, только внутренняя для обеспечения работы всякой мелочью контроля умного дома.
Хочется что бы при появлении меня на даче, а это можно определить когда телефон зарегистрируется в домашней сети (/ip dhcp-server lease> print - STATUS - bound , включался порт PoE внешней точки доступа. И отключался когда закончится LAST-SEEN станет равным (Expires After) 0)
Как то так.
Прошу помочь с написанием. Заранее спасибо!
 Фото для понимания:
Отключать нужно AP metal/ Та что выше тарелки стоит.
Изображение
ЗЫ С вашей помощью, вот что вышло:
Первый вариант скрипта
Последний раз редактировалось iAHTOH 16 апр 2021, 20:35, всего редактировалось 5 раз.


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

Вот, давно как-то писал, было интересно. Сейчас, конечно интереса нет, но скрипт остался :-)
https://podarok66.livejournal.com/14211.html
Переделаете для своих нужд, будет работать. Там есть и вариант с ARP ( не очень мне нравится, имеет приличную инерционность), и вариант с парсингом логов. Этот работает на одной из машинок до сих пор.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
iAHTOH
Сообщения: 8
Зарегистрирован: 15 апр 2021, 15:24
Откуда: Казань
Контактная информация:

Спасибо за наводку. Буду пробовать.


iAHTOH
Сообщения: 8
Зарегистрирован: 15 апр 2021, 15:24
Откуда: Казань
Контактная информация:

Во общем вот что у меня получилось:

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

:local StaticIP 10.16.87.14;                                                                                                  
:local Interface ether2;                                                                                                      
:local StatusPoE ([/interface ethernet poe monitor $Interface once as-value ]->"poe-out");                                    
:local addressAct false;                                                                                                      
       :foreach i in=[/ip dhcp-server lease find] do={                                                                               
               :if ([/ip dhcp-server lease get $i active-address]=$StaticIP ) do={                                                   
                :set $addressAct true 
                 }  
        }
:if ( $addressAct ) do={
   :if ($StatusPoE="off") do={
       :interface ethernet poe set $Interface poe-out=auto-on;
    }
 } else={ 
   :if ($StatusPoE!="off") do={
       :interface ethernet poe set $Interface poe-out=off;
    }
Скрипт записывается не в стандартную секцию System-Script, а в IP-DHCP Server-Ваш DHCP и там есть секция Lease Script
Это дает вызывать его не по шедулеру, а только тогда когда появляются новые IIP или наоборот освобождаются.
Что собственно мне и нужно было.
Lease Time выставил на 1 час. И теперь когда я приеду на дачу, у меня влючится уличный WiFi, а когда уеду выключится максимум через час.
Дальше скрипт буду еще пилить, что бы можно было не 1 IP адрес подставить, а целый список. Потому что не только я могу приехать, а к примеру жена.


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

Мне вариант с lease не нравится по тем же причинам, что и ARP - большая инерционность. А логи, они достаточно оперативно выскакивают. Ну да ладно, каждому свой салат. Вот механизм отключения в варианте с несколькими мас-адресами инициаторами нужно продумывать. Там есть свои подводные камни... Дерзайте, может и выйдет что-то рабочее.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить