Страница 1 из 1
SXT LTE ребут интерфейса lte
Добавлено: 19 фев 2020, 19:21
timofey.syursin
Добрый вечер? И так есть sxt lte, на нем пробую реализовать перезагрузку по отсутствию пинга до хоста (8.8.8.8), знакомлюсь с логикой работы скриптов.
Почитал разное
Пытаюсь применить код покороче, разобраться в логике работы:
Код: Выделить всё
:local PingCount 5;
:local One 8.8.8.8;
:local ResultOne [/ping count=$PingCount $One interface=lte1];
:local Uptime [/system resource get uptime];
:if ($ResultOne=0 && $Uptime>00:02:00) do={/interfaces lte1 disable duration=60s };
Есть тестовый стенд, интернетов там нет, пробую прогнать скрипт. Счетчик тикает, интерфейс не откл. Подскажите правильный синтаксис, как должно выглядеть вкл\откл интерфейса с задержкой включения к примеру 1 мин
Re: SXT LTE ребут интерфейса lte
Добавлено: 20 фев 2020, 09:52
timofey.syursin
Код: Выделить всё
:if ($ResultOne=0 && $Uptime>00:02:00) do={/interface lte1 disable 0 };
Поправил синтаксис, не хватало префикса 0. Осталось написать по пингу до хоста на включение интерфейса обратно.
Если лте1 откл - и аптайм больше 2 мин - пинг до хоста > 0 вкл лте1
Re: SXT LTE ребут интерфейса lte
Добавлено: 21 фев 2020, 12:53
timofey.syursin
Код: Выделить всё
:local PingCount "кол-во запросов";
#хост
:local One 8.8.8.8;
:local ResultOne [/ping count=$PingCount $One interface=lte1];
:if ($ResultOne=0 )
do={/interface lte disable 0; delay "секунды"s; /interface lte enable 0 };
Re: SXT LTE ребут интерфейса lte
Добавлено: 21 фев 2020, 12:56
Erik_U
пример скрипта
Код: Выделить всё
:local addresses "8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1,77.88.8.88,77.88.8.2";
:local TimePowerReset 5;
:local NeedTest true;
:if ($CountLteAllInterface = 0) do={
:set NeedTest false;
} else={
:set NeedTest true;
}
:if ($NeedTest) do={
:local InternetIsset false
:local addr [:toarray $addresses]
:foreach ipp in $addr do={
:if ($InternetIsset=false) do={
:if ([/ping address=$ipp routing-table="$CommentRule" count=3] = 0) do={
/log warning message="Test LTE Internet fail address $ipp"
} else={
/log warning message="Test LTE Internet success $ipp"
:set InternetIsset true;
}
}
}
:if ($InternetIsset=false) do={
/system routerboard usb power-reset duration=$TimePowerReset
}
}
Re: SXT LTE ребут интерфейса lte
Добавлено: 10 мар 2020, 16:07
timofey.syursin
Остановился на таком что - пингуем хост, и если время как у автора скрипта, больше пары минут, оно в принципе не к чему, отключаем только лте а не роутер, тем не менее если доступ только удаленный, чтоб не дергать лте чаще чем нужно, и результат пинга = 0 успешных ответов, то отключить лте с задержкой 2мин, после этого включить лте.
Можно переделать скрипт используя dealy и убрать в планировщике интервал, и т.д. и т.п.
Т.е. это должно имитировать то, когда достаем симку, рвем сессию с оператором, и регаемся по новой.
Так же хорошо бы добавить сообщения в лог, при совершении действия с интерфейсом или об успешном получении ответа от хоста, и отправкой куда-нибудь в телегу, думаю это все выполнимо...
Код: Выделить всё
:local PingCount 10;
:local One 8.8.8.8;
:local ResultOne [/ping count=$PingCount $One interface=lte1];
:local Uptime [/system resource get uptime];
:if ($ResultOne=0 && $Uptime>00:02:00 )
do={/interface lte disable 0; delay 120s; /interface lte enable 0 };
Re: SXT LTE ребут интерфейса lte
Добавлено: 10 мар 2020, 16:20
timofey.syursin
Так же возможно оператор рвет соединение от бездействия оборудования, т.е. бывало так, что связь пропадает рандомно, от 30мин до 2 часов
Добавил для этого 1 запрос пинга до 8.8.8.8 c интервалом в 2 мин, в сутки трафика меньше МБ, соединение пока держит нормально