Страница 1 из 1
проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 15:39
ivanusevanton
Доброго времени суток!
Не могу понять почему не работает скрипт:
Код: Выделить всё
/tool {:local rec 0
[/ping 8.8.8.8 count=4] do=[
:set rec $"received"]
:if ($rec=0) do={/interface pppoe-client disable pppoe1-internet
:delay 1s
/interface ethernet disable ether1-wan
:delay 3s
/interface ethernet enable ether1-wan
:delay 10s
/interface pppoe-client enable pppoe1-internet}}
Насколько я понимаю не пишется полученное значение из ping в rec, и как следствие идет постоянный перезапуск соединения.
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 16:21
KARaS'b
Я в скрипты сильно не умею, но когда-то, при помощи инета и советов местных гуру родилось вот такое.
Код: Выделить всё
:local PingCount 2;
:local One 8.8.8.8;
:local Too 93.158.134.3;
:local ResultOne [/ping count=$PingCount $One];
:local ResultToo [/ping count=$PingCount $Too];
:if ($ResultOne=0 && $ResultToo=0) do={/system script run onlime_down}
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 16:45
ivanusevanton
не совсем понятно что идет в значение ResultOne и ResultToo. А вообще как вариант можно попробовать.
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 17:00
KARaS'b
ivanusevanton писал(а): ↑21 мар 2018, 16:45
не совсем понятно что идет в значение ResultOne и ResultToo. А вообще как вариант можно попробовать.
Если хост ответил на оба пакета ResultOne, то на выходе получим "2", если только на один, то "1", если не ответил вообще то "0".
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 17:05
ivanusevanton
KARaS'b писал(а): ↑21 мар 2018, 17:00
ivanusevanton писал(а): ↑21 мар 2018, 16:45
не совсем понятно что идет в значение ResultOne и ResultToo. А вообще как вариант можно попробовать.
Если хост ответил на оба пакета ResultOne, то на выходе получим "2", если только на один, то "1", если не ответил вообще то "0".
не важно какое количество пакетов пришло? даже если из 4-х пришел хотя бы один?
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 17:30
KARaS'b
Не важно для чего?
Я же написал, что если на оба каунта по первой переменной, на ответили двумя ответами, то на выходе получим "2", если из двух каунтов ответов только на один, то получим "1". По второй переменной, ResultToo, точно такая же картина.
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 17:35
ivanusevanton
я о том, что в скрипте отправляются по 2 пакета на каждый хост. В каком случае Result*** будет равен 1 по каждому хосту? В случае если оба пакета пришли или хотя бы один?
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 17:45
KARaS'b
В случае если пришел 1 пакет.
Re: проверка доступа в интернет скриптом
Добавлено: 21 мар 2018, 17:50
ivanusevanton
благодарю за помощь, скрипт поправил под себя, теперь все ок
