Страница 1 из 1

переделать скрипт

Добавлено: 19 май 2016, 14:55
evgeniy7676
Как переделать скрипт ,чтобы он в адрес листе access_mac постоянно не переписывал айпи адреса,а менял их только если в арп они сменились ?

:foreach i in [/ip arp find where interface="LAN"] do={
:local mac [/ip arp get number=$i mac-address];
:local ip [/ip arp get number=$i address];

:local idaddrlist [/ip firewall address-list find where list="access_mac" and comment=$mac];
:if ($idaddrlist != "") do={ /ip firewall address-list set numbers=$idaddrlist address=$ip; }

}

Еще подсказали
Воткнуть флаги

Например
:global OldStatus
:if (($Status = False) and ($Status!=$OltStatus)) do={bla bla}
:set OldStatus $Status

В скпиптах несилен,как поправить ?

Re: переделать скрипт

Добавлено: 19 май 2016, 15:05
Chupaka
всё просто: не просто искать по маку, но и добавить условие, чтобы IP-адрес перед изменением был другой :)

т.е.

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

where list="access_mac" and comment=$mac
дополнить до

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

where list="access_mac" and comment=$mac and address!=$ip

Re: переделать скрипт

Добавлено: 19 май 2016, 15:49
evgeniy7676
спасибо