Рестарт PPPOE

Автоматизация при помощи встроенного скриптового языка и RouterOS API
chas99
Сообщения: 43
Зарегистрирован: 10 фев 2017, 08:52

Рестарт PPPOE

Сообщение chas99 » 10 фев 2017, 08:58

помогите пожалуйста со скриптом :oops:
провайдер при подключении к интернету выдает динамический адрес, в основном "белые", но бывает и серые, например 10.50.*.* нужно чтобы mikorik 'понимал', что внешний ip серый и тогда бы разрывал и по новой соединялся..

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

#:local reconnectPPPoE do={
    /interface pppoe-client set internet disable=yes;
    :delay 5s;
    /interface pppoe-client set internet disable=no;
#}

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Рестарт PPPOE

Сообщение Chupaka » 10 фев 2017, 14:27

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

:local priv false;
:foreach a in=[ /ip address find (address~"^10\\." or address~"^192\\.") and interface=internet ] do={ :set $priv true; }
:if ($priv) do={
	/interface pppoe-client disable internet;
	:delay 5s;
	/interface pppoe-client enable internet;
}

chas99
Сообщения: 43
Зарегистрирован: 10 фев 2017, 08:52

Re: Рестарт PPPOE

Сообщение chas99 » 11 фев 2017, 05:04

СПАСИБО ОГРОМНОЕ!
работает!!!

а еще подскажите пожалуйста, как сделать чтобы этот скрипт запускался автоматом при подключении к интернету?
или пусть будет как я сейчас сделал в шедулере запуск каждые 10 минут?

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Рестарт PPPOE

Сообщение Chupaka » 11 фев 2017, 17:17

Можно в профиле PPP-подключения указать запуск в скрипте On-Up

1f7
Сообщения: 5
Зарегистрирован: 07 апр 2017, 08:39

Re: Рестарт PPPOE

Сообщение 1f7 » 07 апр 2017, 08:50

тоже самое но без regexp:

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

:local priv false;
:foreach a in=[ /ip address and address=100.64.0.0/10 and interface=RT ] do={ :set $priv true; }
:if ($priv) do={
	/interface pppoe-client disable internet;
	:delay 5s;
	/interface pppoe-client enable internet;
}
Желаю, чтобы все!

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Рестарт PPPOE

Сообщение Chupaka » 07 апр 2017, 12:12

Вы таки ещё скажите, что оно у вас работает :)
"/ip address and address" — какая-то волшебная команда =)

1f7
Сообщения: 5
Зарегистрирован: 07 апр 2017, 08:39

Re: Рестарт PPPOE

Сообщение 1f7 » 07 апр 2017, 15:31

сначала 2 сети юзал, потом одну удалил, а "адрес" прибить забыл.
но, все равно, хоть один и лишний - работает :)
Желаю, чтобы все!

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Рестарт PPPOE

Сообщение Chupaka » 07 апр 2017, 15:43

Вы точно ничего не путаете? С равенством у меня как-то совсем не получается (чего я, собственно, и ожидал):

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

[[email protected]] /ip address> :put [ find address=192.168.0.0/16 ]               

[[email protected]] /ip address> :put [ find address in 192.168.0.0/16 ] 
*1;*4;*5;*6;*7;*8;*9;*a

1f7
Сообщения: 5
Зарегистрирован: 07 апр 2017, 08:39

Re: Рестарт PPPOE

Сообщение 1f7 » 07 апр 2017, 16:02

все 1х1 скопировал из On-Up.
зачем find (return position of substring or array element)?

З.Ы. а в тике есть возможность получить логи соединений?
Желаю, чтобы все!

Аватара пользователя
Chupaka
Сообщения: 681
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: Рестарт PPPOE

Сообщение Chupaka » 07 апр 2017, 16:28

Значит, у вас скрипт просто не работает. Вставьте его в Терминал (не забыв заключить в фигурные скобки) :)

Не путайте команду "/ip address find" и функцию скриптового языка ":find".

Логи соединений всяких TCP - смотрите NetFlow; логи соединений PPP - тут вотчина RADIUS'а. Но в этой теме это уже оффтоп :)

Ответить