Задать вопрос

Как создать скрипт Mikrotik переподключения pppoe-client на основе анализа первого октета IP?

Знаю, вопрос уже поднимался. Взяв за основу этот скрипт, исправил для переподключения 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) ?
  • Вопрос задан
  • 3025 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@moneron89
Сертифицированный тренер Mikrotik
Читайте внимательно ответ на тот скрипт, который вы взяли за основу. Там простое и очень красивое решение (не моё). Легко переделывается под ваши нужды:
:global newIP [/ip address get [find interface="PPPoE"] address];

:if (($newIP in 82.0.0.0/8)||($newIP in 83.0.0.0/8)) do={

/interface pppoe-client disable PPPoE
:delay 30
/interface pppoe-client enable PPPoE
}


Скрипты сейчас очень удобно прописывать в PPP-профиле. Скопируйте профайл специально для этого подключения, туда его имплантируйте и наслаждайтесь )
З.Ы. Простите, были неточности. Проверьте ещё разок.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы