В микротике есть удобная вещь – Netwatch, позволяющий проверять доступность определенного хоста и при недоступности вызывающий Down Script, а когда снова станет доступным Up Script. Проблема в том, что пакеты до хоста не доходят “случайно” (ну например, хост перегружен). По таким случаям не очень хочется менять маршруты (или еще что) “туда-сюда”.
Чтобы решить эту проблему, необходимо Down Script сделать в следующем виде:
1 2 3 4 5 |
/log warning "server 8.8.8.8 fail..." :local checkip [/ping 8.8.8.8 count=2] :if (checkip = 0) do={ /log warning "SERVER IS DOWN" } |
В данном случае средствами RouterOS будет проверен доступ к хосту, но когда он станет недоступен, то скрипт сделает еще 2 пинга до хоста и если ни одного пакета не пройдет до хоста, то можно выполнять нужное действие по событию host down.
Когда стоит задача проверить доступность интернета, то Netwatch настраивается на один адрес, а внутри Down Script проверяются доступность другого хоста, чтобы исклоючить события host down из-за недоступности хоста который проверяет Netwatch.