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

Sheduler отрабатывает, но script не работает

Добавлено: 09 дек 2013, 21:44
dmmailme
подскажите плиз начинающему, вот скрипт в планировщике:
:global pppoeoutip [ /ip address get [/ip address find interface=pppoe-out1 ] address ]
ip firewall nat remove numbers=1
delay=5
ip firewall nat add action=netmap to-addresses=192.168.88.95 to-ports=3389 protocol=tcp dst-address=$pppoeoutip in-interface=pppoe-out1 dst-port=9089 chain=dstnat
#delay=5
#/ip firewall nat remove numbers=1
:log info "DDNS: destination address updated sucessfully"
но он отрабатывает только один раз после перезагрузки rb751, далее счетчик увеличивается, но адрес в нате из переменной не обновляется...
вместо add пробовал set , но тоже не помогает, пишет мол нет такого items хотя в нате он есть(ip firewall nat remove numbers=1)
В чем ошибка, господа?

Re: Sheduler отрабатывает, но script не работает

Добавлено: 10 дек 2013, 18:06
podarok66
Вот сам писал когда-то. Посмотрите:

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

:local oldIP;
:local int "pppoe-out1";
:local address [/ip address get [find interface="$int" disabled=no] address];
:local longIP [:len $address];
:local shortIP [:put ($longIP - 3)];
:local newIP [:pick $address 0 $shortIP];
:local ruleOfDSTNAT [/ip firewall nat find comment="NAT internet through a network provider"];
if (newIP != $oldIP && $ruleOfDSTNAT != "") do={
/ip firewall nat set $ruleOfDSTNAT dst-address=$newIP};