Как переделать скрипт ,чтобы он в адрес листе 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
В скпиптах несилен,как поправить ?
переделать скрипт
-
- Сообщения: 4086
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: переделать скрипт
всё просто: не просто искать по маку, но и добавить условие, чтобы IP-адрес перед изменением был другой
т.е. дополнить до
т.е.
Код: Выделить всё
where list="access_mac" and comment=$mac
Код: Выделить всё
where list="access_mac" and comment=$mac and address!=$ip
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: переделать скрипт
спасибо