Как работает mikrotik netwatch?

Всем доброго!
Как то в гугле не нашел :(
Мне интересно как работает утилита netwatch в mikrotik? У меня на ее основе стоит переключения между провайдерами, но что то часто она у меня срабатывает... Сколько пакетов должно реджектнутся чтобы состояния переключилось на "down" или оно срабатывает даже если пропал один пакет? И если ето так (статус "down" после одного утраченого пакета), то что будет лучше по производительности (что меньше грузит систему) , написать собственный скрипт (аля netwatch, но с переключениям после заданого количества потерь) или все же стандартная netwatch ?
  • Вопрос задан
  • 20779 просмотров
Пригласить эксперта
Ответы на вопрос 2
@moneron89
Сертифицированный тренер Mikrotik
Здравствуйте. Нетвоч срабатывает при потере одного пакета. Переключение провайдеров делается средствами маршрутизации, без скриптов и нетвотчей. А последний правильно использовать исключительно для оповещения.
Ответ написан
HawK3D
@HawK3D
Можно написать отдельный скрипт, но проще в netwatch настроить дополнительную проверку. Для повышения точности проверки доступности интернета, для исключения ложных переключений, например, при возможных проблемах на опрашиваемой стороне или кратковременных сбоях в сети, потерянных пакетах и т.п. — используется 2 независимых проверочных адреса (можно использовать адреса различных публичных dns, например Google и Yandex) — x.x.x.x и y.y.y.y Адрес x.x.x.x — указывается в настройках хоста Netwatch, если пинга нет — начинает работать «down», который делает 5 попыток пинга к y.y.y.y и если все 5 попыток также неудачны — скрипт продолжает работу и активирует/деактивирует маршруты в соответствии с comments в таблицах маршрутизации. Первая удачная попытка прерывает дальнейшее выполнение скрипта, при этом никаких изменений маршрутов или других действий не происходит. К этим проверочным ип-адресам прописаны статические маршруты через шлюзы соответствующих провайдеров, а в фаерволе добавлены правила, запрещающие исходящий пинг на эти адреса через другие интерфейсы.
В скрипт добавлен вывод сообщений в лог, а также отправка СМС с информацией о том с каким провайдером и в какое время возникла проблема. Отправка СМС реализована с помощью сайта sms.ru.
api_id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX — уникальный id — выдаваемый при регистрации на sms.ru
to=79********* — номер телефона, на который осуществляется отправка СМС. Если в качестве номера указывается тот же, что и при регистрации на сайте — 5 СМС в сутки бесплатно.
Вот мой вариант конфига:

«down»:
/log warning "server x.x.x.x fail…"
:local time [/sys clock get time]
:local checkip [/ping y.y.y.y count=5]
:if (checkip = 0) do={
/log error «ISP1 IS DOWN»
/ip route set [find comment="main"] disabled=yes
/ip route set [find comment="reserve"] disabled=no
:delay 1
/tool fetch url="http://sms.ru/sms/send?api_id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&to=79*********&text=ISP1_IS_DOWN_$time" keep-result=no
}


«up»:
/log warning «ISP1 IS UP»
/ip route set [find comment="main"] disabled=no
/ip route set [find comment="reserve"] disabled=yes
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы