Страница 2 из 4

Re: Скрипт, заменяющий Wachdog

Добавлено: 17 окт 2013, 22:18
DES
А если у меня два прова интернета?
один через USB, другой через 1 порт.
ничего не меняется в идеологии и практике?

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 02:03
BLOODER
DES писал(а):А если у меня два прова интернета?
один через USB, другой через 1 порт.
ничего не меняется в идеологии и практике?

абсолютно! просто если не забивать голову изменением и нет практики в этом то я бы создал два скрипта но каждый бы смотрел на свой порт и пускай по очереди пингуют и первого и второго :ni_zia:

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 15:18
podarok66
BLOODER писал(а):абсолютно! просто если не забивать голову изменением и нет практики в этом то я бы создал два скрипта но каждый бы смотрел на свой порт и пускай по очереди пингуют и первого и второго

Нет, ну как же!!! В этом случае настраивается переключение каналов, зачем Вам перезагрузка? Ведь при двух скриптах Вы получите ребут при отказе любого одного из каналов. А перезагрузка нужна только если нет отклика на обоих интерфейсах. Тоже можно прописать. У меня провайдер один, поэтому я подобной штукой не заморачивался. Думаю, на изменение скрипта у человека хоть немного знакомого с этим делом уйдет минимальное время.

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 15:58
BLOODER
согласен коллега что то тупанул :-)

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 16:11
BLOODER
однако ! :du_ma_et: если указать в нём бридж на которой поступает интернет (если их конечно не куча и не всё сильно заморочено) то можно отделаться одним скриптом. Что скажите, господа умники :-) ???

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 16:50
podarok66
Тааак. Давайте-ка с этого момента поподробнее. Кусок измененного кода с комментариями, что и как работает. Хотелось бы увидеть и понять Вашу мысль. Может я ее потом у себя пользовать буду во всю :-)

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 17:26
BLOODER
ну вот смотри тут мы указали на интерфейс yota
:local PingCount 3
:local google 8.8.8.8
:local yandex 77.88.8.8
:local mail 94.100.180.201
:local ResultGoogle [/ping count=$PingCount $Google interface=yota]
:local Resultyandex [/ping count=$PingCount $yandex interface=yota]
:local ResultMail [/ping count=$PingCount $mail interface=yota]
:local MainIfInetOk false;
:set MainIfInetOk (($ResultGoogle + $Resultyandex + $ResultMail) >= (2 * $PingCount))
:put "MainIfInetOk=$MainIfInetOk"
if (!$MainIfInetOk) do={
/log error "Bad connect"
#/system reboot
}
if ($MainIfInetOk) do={
/log info "Connect OK"
}
по сути на бридже то у нас тоже имеется доступ в интернет и пинг с удовольствием будет проходить на ура, так вот я и предлагаю направить его на бридж вот как то так
:local PingCount 3
:local google 8.8.8.8
:local yandex 77.88.8.8
:local mail 94.100.180.201
:local ResultGoogle [/ping count=$PingCount $Google interface=bridg]
:local Resultyandex [/ping count=$PingCount $yandex interface=bridg]
:local ResultMail [/ping count=$PingCount $mail interface=bridg]
:local MainIfInetOk false;
:set MainIfInetOk (($ResultGoogle + $Resultyandex + $ResultMail) >= (2 * $PingCount))
:put "MainIfInetOk=$MainIfInetOk"
if (!$MainIfInetOk) do={
/log error "Bad connect"
#/system reboot
}
if ($MainIfInetOk) do={
/log info "Connect OK"
}

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 17:38
podarok66
Не-не-не. /ping count=$PingCount $Google interface=bridge не прокатит. При Вашем варианте Вы пинг направляете в локальную сеть и получите отсутствие ответов и как результат ребут при работающет интернете. Можете проверить в терминале

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

/ping count=3 8.8.4.4 interface=bridge1

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 17:44
podarok66
Приблизительно вся эта шалапуть должна измениться во в эту сторону при условии работы обоих каналов одновременно:

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

:local PingCount 3
:local google 8.8.8.8
:local yandex 77.88.8.8
:local mail 94.100.180.201
:local ResultGoogle1 [/ping count=$PingCount $Google interface=WAN1]
:local Resultyandex1 [/ping count=$PingCount $yandex interface=WAN1]
:local ResultMail1 [/ping count=$PingCount $mail interface=WAN1]
:local MainIfInetOk1 false;
:set MainIfInetOk1 (($ResultGoogle1 + $Resultyandex1 + $ResultMail1) >= (2 * $PingCount))
:put "MainIfInetOk1=$MainIfInetOk1"
:local ResultGoogle2 [/ping count=$PingCount $Google interface=WAN2]
:local Resultyandex2 [/ping count=$PingCount $yandex interface=WAN2]
:local ResultMail2 [/ping count=$PingCount $mail interface=WAN2]
:local MainIfInetOk2 false;
:set MainIfInetOk2 (($ResultGoogle2 + $Resultyandex2 + $ResultMail2) >= (2 * $PingCount))
:put "MainIfInetOk2=$MainIfInetOk2"
if (!$MainIfInetOk1 && !$MainIfInetOk2) do={
/log error "Bad connect"
#/system reboot
} else={
/log info "Connect OK"
}

За точность не ручаюсь, потому как на коленке писал, если посидеть, можно покрасивее написать. Ну и не проверял, конечно, негде мне... :-)

Если у Вас работает резервирование канала, то есть канала переключаются при падении, то можно оставлять старый вариант, только удалить interface=WAN везде, пинг должен проходить и без этого.

Re: Скрипт, заменяющий Wachdog

Добавлено: 18 окт 2013, 18:11
BLOODER
Опять на коленке :-) ну что это такое ;;-)))