среда, 3 апреля 2013 г.

Технологии WatchDog и Netwatch в роутерах Mikrotik

Вначале расскажу про WatchDog
http://wiki.mikrotik.com/wiki/Manual:System/Watchdog
   system watchdog set no-ping-delay=10m watch-address=192.168.1.1
(вместо 192.168.1.1 указываете адрес самого микротика)

Watchdog в роутерах Mikrotik построенных на PowerPC и Mipsbe реализован аппаратно. В общем, если роутер зависнет и не сможет пинговать сам себя (или внешний адрес, если указали его), то он сам себя перезагрузит.

Но есть у него недостаток - при пропадании связи он тупо перезагружает роутер (что иногда не очень удобно, когда помимо подключения к внешней сети он поддерживает локальную) и проверка ограничена ОДНИМ адресом. Хотя главное его достоинство, что в роутерах микротик сделан аппаратно и не зависит от глюков системы (а может помочь от этого глюка избавиться). Проблема в том, что если вам нужно просто переключиться на другой канал или "рестартануть" интерфейс, то лучше использовать Netwatch -
http://wiki.mikrotik.com/wiki/Manual:Tools/Netwatch
http://wiki.mikrotik.com/wiki/Руководства:Инструменты_(Tools)/Netwatch
Для Netwatch требуется пакет Advanced Tools!!!

В чём плюсы Netwatch
  1. Если Watchdog при пропадании связи просто рестартит роутер, то netwatch позволяет делать произвольные действия с помощью встроенного скриптового языка (к примеру переключения основной-резервный каналы, если подключения не статические и их нельзя сделать через distance)
  2. Скриптов Netwatch может быть несколько на разные адреса, что к примеру позволяет делать на нём watchdog для другого сетевого железа (в частности при управлении питанием с помощью 750UP)
  3. Netwatch позволяет контролировать не только пропадание, но и поднятие определённого адреса (параметр up-script)
  4. Watchdog портит Uptime роутера :)
В чём минусы Netwatch
  1. Очевидный для меня минус по сути один - если завис сам роутер, то watchdog его перезагрузит, так как сделан отдельным модулем на аппаратном уровне. Поэтому используя netwatch не забывайте добавлять watchdog с адресом роутера.

Пример скрипта: который при отсутствии связи до гугловского DNS кладёт интерфейс на котором у нас интернет и через 10 секунд поднимает его снова. Проверка связи до гуглоднса идёт каждые 5 минут.
   /tool netwatch
   add down-script="/interface ethernet set ether5 disabled=yes\r\
   \ndelay 10\r\
   \n/interface ethernet set ether5 disabled=no" host=8.8.8.8 interval=5m \
   timeout=9s

Комментариев нет:

Отправить комментарий