Знаю, вопрос уже поднимался. Взяв за основу
этот скрипт, исправил для переподключения pppoe-client с целью уйти от IP адреса недоступного извне:
:delay 10
:local "currentIP" [:pick [/ip address get [find interface =pppoe-out1] address ] 0 2]
:while ($currentIP = 82) do={
/interface pppoe-client enable pppoe-out1
}
Укажите пожалуйста на ошибку, скрипт упорно не хочет работать.... Умом понимаю, что скрипт на 4 строчки отладить не сложно, но Mikrotik находится удаленно и упорно при перезагрузки пытается получить адрес из недоступной извне подсети....
Перечитав скрипт, над которым мучился 3 дня (не надо смеяться, это было поздно по-вечерам...:) понял, что в цикле while - do нет проверки "currentIP". Скорее всего так будет логически правильнее:
:delay 10
:local "currentIP" [:pick [/ip address get [find interface =pppoe-out1] address ] 0 2]
:while ($currentIP = 82) do={
/interface pppoe-client enable pppoe-out1
:delay 2
:local "currentIP" [:pick [/ip address get [find interface =pppoe-out1] address ] 0 2]
}
Но где-то рядом должно быть более изящное решение...
Как в таком виде реализовать проверку более одного октета?
:while ($currentIP = 82 | 83)
?