скрипт
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
скрипт
:global testPrim
:global testRez
:global testPrimOld
:global testRezOld
:global yandexprim [ping [resolve ukr.net] count=3 routing-table=ISP1_rout interface=ISP1]
:global googleprim [ping [resolve google.com.ua] count=3 routing-table=ISP1_rout interface=ISP1]
:global yandexrez [ping [resolve ukr.net] count=3 routing-table=ISP2_rout interface=ISP2]
:global googlerez [ping [resolve google.com.ua] count=3 routing-table=ISP2_rout interface=ISP2]
if (($googleprim + $yandexprim) != 0) do={:set testPrim true} else={:set testPrim false}
if (($googlerez + $yandexrez ) != 0) do={:set testRez true} else={:set testRez false}
if (($testPrim = false) && ($testPrim != $testPrimOld)) do={
Помогите переделать скрипт чтобы проверять хосты несколько раз и после выполнять услувие
:global testRez
:global testPrimOld
:global testRezOld
:global yandexprim [ping [resolve ukr.net] count=3 routing-table=ISP1_rout interface=ISP1]
:global googleprim [ping [resolve google.com.ua] count=3 routing-table=ISP1_rout interface=ISP1]
:global yandexrez [ping [resolve ukr.net] count=3 routing-table=ISP2_rout interface=ISP2]
:global googlerez [ping [resolve google.com.ua] count=3 routing-table=ISP2_rout interface=ISP2]
if (($googleprim + $yandexprim) != 0) do={:set testPrim true} else={:set testPrim false}
if (($googlerez + $yandexrez ) != 0) do={:set testRez true} else={:set testRez false}
if (($testPrim = false) && ($testPrim != $testPrimOld)) do={
Помогите переделать скрипт чтобы проверять хосты несколько раз и после выполнять услувие
-
- Сообщения: 4043
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: скрипт
Что значит "несколько раз"? Текущие три раза - это не несколько? А сколько - несколько?
З.Ы. Нет смысла эти переменные делать глобальными, наверное.
З.Ы. Нет смысла эти переменные делать глобальными, наверное.
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: скрипт
в смысле много ложных срабатываний,может сделать чтобы выполнил 4 строки скрипт после через 10 сек еще раз повторил это и после выполнял условие
-
- Сообщения: 4043
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: скрипт
Можно count=3 увеличить. Но я не совсем понимаю, как у вас язык поворачивается назвать потерю шести пакетов к двум разным адресам "ложным срабатыванием" (sic!)
evgeniy7676 писал(а): ↑15 сен 2017, 10:45 может сделать чтобы выполнил 4 строки скрипт после через 10 сек еще раз повторил это и после выполнял условие
Код: Выделить всё
:global yandexprim1 [ping [resolve ukr.net] count=3 routing-table=ISP1_rout interface=ISP1]
:global googleprim1 [ping [resolve google.com.ua] count=3 routing-table=ISP1_rout interface=ISP1]
:delay 10s
:global yandexprim2 [ping [resolve ukr.net] count=3 routing-table=ISP1_rout interface=ISP1]
:global googleprim2 [ping [resolve google.com.ua] count=3 routing-table=ISP1_rout interface=ISP1]
if (($googleprim1 + $yandexprim1 + $googleprim2 + $yandexprim2) != 0) do={:set testPrim true} else={:set testPrim false}
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: скрипт
Как переделать скрипт чтобы проверять интернет не через icmp , потому как провайдер отключает инет например за неуплату при этом разрешает протокол icmp
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
Код: Выделить всё
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 23q
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global OFFsite;
:local time [/system clock get time];
:local hour [:pick [/system clock get time] 0 2];
:if ($hour >= 8 and $hour <= 21) do={
# domain.ru get http
:local result1 none;
:local result2 none;
:do {/tool fetch mode=http address="domain.ru" src-path="/23q.html" dst-path="/23q.html"
:delay 3;
:set result1 [/file get "23q.html" contents]
:delay 3;
/file remove "23q.html"} on-error={:log warning "domain.ru KAPUT"};
:delay 600;
:do {/tool fetch mode=http address="domain.ru" src-path="/23q.html" dst-path="/23q.html"
:delay 3;
:set result2 [/file get "23q.html" contents]
:delay 3;
/file remove "23q.html"} on-error={:log warning "domain.ru KAPUT"};
:if (($result1 = "none") and ($result2 = "none")) do={
:if ($OFFsite = yes) do={} else={
:local smtpserv [:resolve "smtp.yandex.ru"];
:local email "[email protected]";
:local pass 123456789;
/tool e-mail send server=$smtpserv port=587 user=$email password=$pass start-tls=yes to="[email protected]" cc="[email protected]" from=$email subject="567tyk86u89p6ee670 380666666666,380999999999" body="[SENDER]Domain[/SENDER][SMS]Site domain.ru OFF![/SMS]";
:set OFFsite yes}} else={:if ($OFFsite = no) do={} else={:set OFFsite no}}
};
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
Но это должен быть свой домен где-то далеко, тогда всё будет в шоколаде.
оффтоп, а что, если отключили интернет за неуплату - в браузере не вывешивается инфа от провайдера?
оффтоп, а что, если отключили интернет за неуплату - в браузере не вывешивается инфа от провайдера?
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: скрипт
:do {/tool fetch url="http://httpstat.us/200" keep-result=no; :global prim "1"} on-error={:global prim "0"}
а как этот запрос послать через маркированный маршрут routing-table=ISP2_rout interface=ISP2
а как этот запрос послать через маркированный маршрут routing-table=ISP2_rout interface=ISP2
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
Сделать маршрут на домен с маркировковкой через определённый шлюз
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: скрипт
Хотелось отправлять по очереди то через первого прова то через второго
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
Подождите, вы же хотели, изначально, отправлять через ISP2, а теперь уже другое.
Будте любезны всю задачу, вместе с конфигом сети, в студию, а то телепаты в отпуске
Будте любезны всю задачу, вместе с конфигом сети, в студию, а то телепаты в отпуске
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: скрипт
Конфиг скрипта на первой странице в начале темы ,все просто переключение маршрутов ,но не через проверку пингом а через http запрос, так как
провайдер при отключении инета за неуплату разрешает icmp трафик
провайдер при отключении инета за неуплату разрешает icmp трафик
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
Использовать 2 сайта дл проверки, вы-же даже в своём скрипте, разные сайты по разным маршрутам пингуете, так и здесь так-же
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
И да, конфиг скрипта был на пинг, сейчас вы его переделали, один Бог и вы знаете как он сейчас выглядит
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
Re: скрипт
Прошу помощи не знаю как переделать скрипт
хочу переделать строку
:global yandexprim1 [ping [resolve google.com] count=3 routing-table=ISP1_rout interface=ISP1]
:global yandexrez [ping [resolve google.com] count=3 routing-table=ISP2_rout interface=ISP2]
на новую, но не знаю как запрос отправить через маркированные маршруты двух ISP
:do {/tool fetch url="http://httpstat.us/200" keep-result=no; :global yandexprim1 "1"} on-error={:global yandexprim1 "0"}
:do {/tool fetch url="http://httpstat.us/200" keep-result=no; :global yandexrez "1"} on-error={:global yandexrez "0"}
хочу переделать строку
:global yandexprim1 [ping [resolve google.com] count=3 routing-table=ISP1_rout interface=ISP1]
:global yandexrez [ping [resolve google.com] count=3 routing-table=ISP2_rout interface=ISP2]
на новую, но не знаю как запрос отправить через маркированные маршруты двух ISP
:do {/tool fetch url="http://httpstat.us/200" keep-result=no; :global yandexprim1 "1"} on-error={:global yandexprim1 "0"}
:do {/tool fetch url="http://httpstat.us/200" keep-result=no; :global yandexrez "1"} on-error={:global yandexrez "0"}
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: скрипт
Как вы себе представляете одновременную маркировку пакета для двух isp?
Проще тем-же скриптом перенастраивать маршруты для проверки
Я почему спрашиваю настройки сети, ТЕЛЕПАТОВ НЕТ! Как у вас реализован доступ в мир - неизвестно, что вы используете - неизвестно, чем каналы переключаете - неизвестно, как маршруты маркируете - то-же неизвестно. А гадание на кофейной гуще - извините, старенькие уже.
Проще тем-же скриптом перенастраивать маршруты для проверки
Я почему спрашиваю настройки сети, ТЕЛЕПАТОВ НЕТ! Как у вас реализован доступ в мир - неизвестно, что вы используете - неизвестно, чем каналы переключаете - неизвестно, как маршруты маркируете - то-же неизвестно. А гадание на кофейной гуще - извините, старенькие уже.
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 58
- Зарегистрирован: 19 май 2016, 14:52
-
- Сообщения: 4043
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: скрипт
Можно попробовать через указание src-address= в fetch, а в firewall mangle output помечать пакеты к серверу в зависимости от src-адреса нужной меткой.