Что такое watchdog в роутере

altВ холиварах по роутерам вам наверняка доводилось слышать такое заклинание, как «watchdog». Дескать, ни у кого в домашнем сегменте такого нет. Но мы спросили у наших разработчиков, и оказывается, в кинетиках всё есть, а вам для настройки вотчдога не нужно курить мануалы.

Для начала обратимся к Википедии.
Сторожевой таймер, реже контрольный таймер (англ. watchdog timer букв. «сторожевой пёс») — аппаратно реализованная схема контроля над зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы.

[…]

Физически сторожевой таймер может быть:

[…]

  • Компонентом устройства, например, микросхемой на материнской плате.
  • Частью кристалла SoC, микроконтроллера.

    Конец цитаты.

Подобные таймеры есть в электронных схемах подавляющего большинства встраиваемой электроники, в том числе и в кинетиках. Их цель — предотвратить такое повисание, вывод из которого возможен был бы только при наличии физического доступа к устройству. В предположении, что роутер может быть установлен где-то, куда вы не можете в случайный момент времени подойти и выключить ему электропитание. А потом включить.

По сути, сторожевой таймер можно представить себе в виде соседа, который сидит рядом с вами на лекции и периодически задает вопросы, чтобы проверить, что вы не уснули. Если сосед не получает ответа в течение некоторого времени, он начинает пихать вас в бок, чтобы разбудить.

Вы могли бы сами задавать себе вопросы в уме, пытаясь таким образом поддерживать себя бодрствующим. Тогда это был бы «программный» сторожевой таймер. Но есть серьезные основания полагать, что если после очередного вопроса самому себе вы бы сладко уснули, не дав ответа, то и разбудить самого себя в последний момент тоже не успели бы. Потому сторожевой таймер — это, как правило, все-таки отдельный компонент, внешний по отношению к контролируемой системе. Как в случае с соседом. И если сосед на лекции — это ненадежный сторожевой таймер, потому что он сам может уснуть, то аппаратные реализации таких таймеров делаются значительно более надежными (за счет простоты), чем контролируемая система.

Если вернуться к кинетикам, то сторожевой таймер в них является частью микросхемы SoC (процессора). Он присутствует во всех используемых нами микросхемах производства компании MediaTek, причем кропотливо патчится нашими разработчиками для работы именно на уровне ядра (референсные вотчдоги чипмейкера могут быть юзерспейсными и при высокой нагрузке давать ложные срабатывания из-за низкого приоритета). Он занимается тем, что постоянно считает от некоторого числа до нуля. И как только он добирается до нуля, то тут же выполняет аппаратную перезагрузку процессора. Микропрограмма (прошивка) кинетика стремится не дать таймеру досчитать до нуля, время от времени подсовывая ему новую точку отсчета. Таким образом, можно с некоторыми допущениями утверждать, что если прошивка повисает, то она перестает выдавать таймеру новую точку отсчета, он-таки добирается до нуля, и вся система перезагружается.

С допущениями потому, что программная часть кинетика, как и ваш внутренний мир во время сидения на лекции, это весьма сложная система из многих компонентов. И если вы, к примеру, перестаете записывать за лектором, но продолжаете отвечать соседу, то сосед не считает вас уснувшим. Так же сторожевой таймер не считает кинетик повисшим, если, например, у него повис клиент DHCP. Что чрезвычайно маловероятно, но все же. Будем честными. Взаимодействует с таймером только ядро микропрограммы, которое ответственно за базовые функции системы. Такие как маршрутизация трафика и Wi-Fi.

Так что с уверенностью можно сказать, что если если вам каким-то чудом удалось ввести кинетик в такое состояние, что ядро перестало успевать сбрасывать счетчик сторожевого таймера (а это также означает, что кинетик перестал успевать выполнять свои первоочередные задачи), то он сам выйдет из этого состояния перезагрузкой. А если вы обнаружили кинетик полностью повисшим, и не реагирующим ни на что, кроме отключения питания, то увы, но мы скорее склонны подозревать, что он сломан аппаратно.

Во всех остальных случаях мы считаем ненужным перезагружать кинетик целиком, подобно тому как это делают некоторые производители. Потому что уверены в своем коде (и его тестовом покрытии) настолько, чтобы утверждать: если у вас пропал доступ в интернет, то это не значит, что все компоненты микропрограммы рассыпались, как карточный домик. Это просто значит, что надо переустановить подключение к провайдеру. В крайнем случае, перезагрузить USB-модем, через который осуществляется доступ в интернет. За все это у нас отвечает компонент Ping Checker (help.keenetic.com/hc/ru/articles/360000477699).

Watchdog timer (встроенный таймер-сторож) – это мощный механизм, предназначенный для обеспечения надежности и стабильности работы сетевых устройств коммутатора Mikrotik. Позволяет автоматически перезагрузить устройство в случае зависания или сбоя системы, что значительно упрощает обслуживание и предупреждает возможные проблемы сети.

Для настройки watchdog timer в Mikrotik необходимо установить соответствующие параметры в командной строке роутера или через веб-интерфейс. Вначале необходимо определить интервал времени, через который Mikrotik будет проверять свою работу. Этот параметр можно настроить в секундах или миллисекундах с помощью команды /system watchdog set interval= или в разделе «System -> Watchdog» в веб-интерфейсе. Рекомендуется установить интервал времени от 10 до 60 секунд, чтобы избежать частых ложных срабатываний.

Кроме того, рекомендуется включить опцию Automatic Supout, которая позволяет автоматически создавать отчет о состоянии устройства и отправлять его на предварительно определенный адрес электронной почты или FTP-сервер. Для активации этой опции необходимо выполнить команду /system watchdog set automatic-supout=yes или перейти в раздел «System -> Watchdog» в веб-интерфейсе и отметить соответствующий флажок.

Настройка watchdog timer в Mikrotik является важным шагом в обеспечении надежности и стабильности работы сетевого оборудования. Правильная конфигурация этого механизма позволит своевременно обнаружить и устранить проблемы сети, минимизировать время простоя и увеличить эффективность всей инфраструктуры.

Содержание

  1. Что такое watchdog timer и как он работает
  2. Зачем нужно настраивать watchdog timer в Mikrotik
  3. Подготовка к настройке watchdog timer в Mikrotik
  4. Шаги по настройке watchdog timer в Mikrotik

Что такое watchdog timer и как он работает

Работа watchdog timer основана на принципе периодического сброса контрольной последовательности. Обычно, при нормальной работе системы, программа периодически сбрасывает таймер, предотвращая его срабатывание.

Если происходит сбой в системе, например, если программное обеспечение зависает, таймер не будет сброшен и начнет свою работу. При достижении предустановленного времени ожидания, watchdog timer запускает механизм автоматического исправления, который может восстановить нормальное состояние системы. Таким образом, watchdog timer служит «сторожем», который проверяет работоспособность системы и автоматически возвращает ее в рабочее состояние в случае сбоев.

Watchdog timer особенно полезен в случаях, когда недоступен оператор для физического вмешательства в устройство. Например, в удаленных сетевых устройствах, таких как маршрутизаторы или точки доступа, watchdog timer может обеспечить автоматическую перезагрузку или восстановление в случае сбоев, предотвращая потерю связи и обеспечивая непрерывную работу сети.

Зачем нужно настраивать watchdog timer в Mikrotik

Настраивая watchdog timer, вы можете обеспечить непрерывную работу сети и предотвратить возможные проблемы, связанные с отключением роутера. Watchdog timer позволяет автоматически перезагрузить роутер, когда он перестает отвечать на запросы, что помогает устранить временные сбои в работе сети.

Другая причина настройки watchdog timer заключается в том, что она может помочь предотвратить зависание роутера, вызванное различными факторами, такими как неполадки в программном обеспечении, перегрузка CPU или памяти, или внешние атаки. Watchdog timer автоматически перезагружает роутер при возникновении таких ситуаций, что помогает восстановить его нормальную работу и предотвратить проблемы с доступом к сети.

В целом, настройка watchdog timer является важным шагом для обеспечения стабильной и надежной работы сети на базе устройств Mikrotik. Он позволяет автоматически реагировать на сбои в работе роутера и перезагружать его, что помогает минимизировать простои сети и обеспечить непрерывность работы услуг и сервисов.

Подготовка к настройке watchdog timer в Mikrotik

Перед тем как настраивать watchdog timer, необходимо выполнить несколько подготовительных шагов. Ниже представлены основные этапы, которые следует выполнить:

1. Первым шагом необходимо подключиться к устройству Mikrotik через консоль или с использованием программного обеспечения Winbox.

2. Далее необходимо убедиться, что в устройстве установлена последняя версия фирмваре Mikrotik. Это можно сделать, перейдя в раздел «System» и выбрав пункт «Packages». Если доступна новая версия, следует выполнить установку обновления.

3. После обновления фирмваре необходимо сохранить все текущие настройки. Для этого следует выполнить резервное копирование текущей конфигурации устройства, чтобы в случае каких-либо проблем можно было восстановить предыдущие настройки.

4. После сохранения всех текущих настроек, следует перезагрузить устройство Mikrotik. Это позволит применить обновленную версию фирмваре.

5. После перезагрузки устройства следует открыть консоль или программное обеспечение Winbox и подключиться к устройству Mikrotik.

6. Теперь можно приступить к настройке watchdog timer в устройстве Mikrotik, следуя соответствующим инструкциям.

Настраивая watchdog timer в Mikrotik, следует не забывать о выполнении этих подготовительных шагов, так как они помогут избежать потенциальных проблем и сохранить текущие настройки устройства.

Шаги по настройке watchdog timer в Mikrotik

Для настройки watchdog timer в Mikrotik следуйте следующим шагам:

Шаг Описание
1 Подключитесь к вашему Mikrotik роутеру через терминал или Winbox.
2 Введите команду «/system watchdog» в командной строке и нажмите enter.
3 Установите интервал мониторинга watchdog timer, введя значение в поле «watchdog-timer». Например, для установки интервала 10 секунд, введите «10s».
4 Выберите действие при сбое или перезагрузке. Для этого используйте поле «watchdog-down» и выберите одно из доступных значений, например «reboot».
5 Настройте другие параметры watchdog timer по вашему усмотрению. Это может включать в себя настройку режима «watchdog-stop-on-reset», настройку IP адреса для слежения или включение оповещения.
6 Нажмите кнопку «Apply» для сохранения настроек.

После завершения этих шагов, watchdog timer будет настроен и готов к использованию на вашем Mikrotik роутере. Рекомендуется периодически проверять работу watchdog timer, чтобы убедиться, что он функционирует в соответствии с вашими настройками.

Summary

Sub-menu: /system watchdog

This menu allows the configuring system to reboot, when a specific IP address does not respond, or when it detects, that the software has locked up. The detection is done in two ways:

  • Software watchdog timer (mostly caused by hardware malfunction) device can recover itself with a reboot;
  • Ping watchdog can monitor connectivity to a specific IP address and trigger the reboot function.

Note: These are two different Watchdog features and both have their own settings. By default software Watchdog is enabled and ping Watchdog is disabled. You can enable ping Watchdog by specifying an IP address and you can disable the software Watchdog by unsetting the Watchdog Timer option.

Properties

Property Description
auto-send-supout (yes | no; Default: no)

After the support output file is automatically generated, it can be sent by email.

automatic-supout (yes | no; Default: yes)

When software failure happens, a file named «autosupout.rif» is generated automatically. The previous «autosupout.rif» file is renamed to «autosupout.old.rif».

no-ping-delay (time; Default: 5m)

Specifies how long will it wait before trying to reach the watch-address.

ping-timeout (time; Default: 60s)

Specifies the time interval in which the device will be pinged 6 times (after «no-ping-delay»).

send-email-from (string; Default: )

The e-mail address to send the support output file from. If not set, the value set in /tool e-mail is used.

send-email-to (string; Default: )

The e-mail address to send the support output file to.

send-smtp-server (string; Default: )

SMTP server address to send the support output file through. If not set, the value set in /tool e-mail is used.

watch-address (IP; Default: )

The system will reboot, in case 6 sequential pings to the given IP address will fail. If set to none this feature is disabled. By default, the router will reboot every 6 minutes if the watch-address is set and not reachable.

watchdog-timer (yes | no; Default: yes)

Whether to reboot if a system is unresponsive for a minute.

Quick Example

To make system generate a support output file and sent it automatically to support@example.com through the 192.0.2.1in case of a software crash:

[admin@MikroTik] system/watchdog/ set auto-send-supout=yes \
\... send-to-email=support@example.com send-smtp-server=192.0.2.1
[admin@MikroTik] system watchdog> print
      watch-address: none
     watchdog-timer: yes
      no-ping-delay: 5m
   automatic-supout: yes
   auto-send-supout: yes
   send-smtp-server: 192.0.2.1
      send-email-to: support@example.com

В Микротиках есть функция самостоятельной перезагрузки роутера в случае отсутствия интернета.
Для определения отсутствия связи Микротик пингует указанный IP адрес через определённый промежуток времени.
Как только Микротик не получит ответ от пингуемого сервера, то он перезагрузится.
Включить данную функцию можно в меню System — Watchdog.

Watchdog Timer — необходимо поставить галочку для активации функции WatchDog.
Watch Address — IP адрес, который будет пинговаться.
Можно использовать стабильный адрес Гугла 8.8.8.8, но в этом случае Микротик будет перезагружаться, как только у вас пропадёт интернет.
Ping Start After Boot — интервал времени, через который будет пинговаться IP адрес.
Automatic Supout — генерирует файл autosupout.rif при программном сбое.

Микротик Ватчдог

Если вы хотите автоматически получать отчёт о перезагрузке Микротика, то заполните следующие строки:
Auto Send Supout — автоматически отправляет файл autosupout.rif
Send Email To — на какой Email адрес отправить файл autosupout.rif
Send Email From — Email адрес отправителя
Send SMTP Server — через какой SMTP сервер отправить файл autosupout.rif

P.S. Если в поле Watch Address не указывать IP адрес, оборудование будет проверять само себя на зависания — и в случае сбоя перезагружаться.

Предостережение

Перед тем как выполнять действия, описание в этой статье, пожалуйста прочтите мнение редакции в конце.

Watchdog расшифровывается как сторожевой таймер. Основная его функция — перезапуск системы в определённых случаях, таких как: зависание системы, повышенная температура, пропадание связи и т.д. Бывает аппаратный, программный и программно-аппаратный.

Меня заинтересовала прежде всего такая функция, как перезапускать систему при отсутствии связи с роутером. Почему прежде всего именно эта функция?

У меня часто отключают свет в квартире, а при подаче питания вновь часто отваливается HomeBridge на  микроконтроллере Raspberry Pi 3 (далее малинка). Лечится это перезагрузкой самой малинки. Причина до конца не выяснена, но думаю мой роутер запускается позже чем сама малинка. Проведя эксперимент с выключением роутера во время работы малинки, я убедился что HomeBridge перестает функционировать. Вы можете проверить сами и написать в комментариях как решили данную проблему. Может быть проблема могла решиться заданием статического IP на самой малинке, но я это не проверял.

На малинке установлен образ с Node 10 по статье нашего коллеги. Малинка подключена к роутеру с помощью кабеля и её IP зарезервирован как статический адрес на роутере. 

Так вот для решения проблем с пропаданием питания, благодаря советам нашего сообщества, я решил установить Watchdog. Как готовое решение  я взял статью,  которая полностью соответствовала моим запросам.

Заходим на малинку по SSH и устанавливаем демон Watchdog  командой:

sudo apt-get install watchdog

Далее делаем бэкап конфигурационного файла, если что-то пойдет не так и для отказа от работы Watchdog, если нет больше необходимости.

sudo cp /etc/watchdog.conf /etc/watchdog.conf.backup

Далееи редактируем файл конфигурации /etc/watchdog.conf

sudo nano /etc/watchdog.conf

В файле конфигурации необходимо раскомментировать ниже приведенные строки и задать Ваши параметры

# Watchdog ping: если не отвечает, то перезагрузка: ping= 192.168.0.1 # IP моего роутера interface= eth0 # используем wlan0 для Wi-Fi ping-count = 5 # ping 5 раз # Смена интервала по умолчанию с 1 секунды на 20: interval = 20 # проверка watchdog каждые 20 секунд

Далее перегружаемся

sudo reboot

Теперь при отсутствии пинга 5 раз каждые 20 секунд (через 100. секунд) малинка будет перегружаться. Конечно интервал и количество пингов можно изменить в зависимости от задач, а так же при необходимо сменить IP на внешний (8.8.8.8 для примера) для проверки работоспособности интернета (хотя зачем это в моем случае).

Ложка дёгтя

Надо помнить, что при потере связи с указанным IP адресом малинка будет постоянно перегружаться и если Вы этого не хотите, то надо вернуть старый файл конфигурации (мы его специально сохраняли). Делается это командой

sudo cp /etc/watchdog.conf.backup /etc/watchdog.conf

Далее перегружаемся

sudo reboot

Я тестировал работу Watchdog , описанную в статье, отключая роутер на интервал более заданного и малинка перегружалась. При отключении роутера на меньшее время HomeBridge всё равно не запускался, так что Watchdog оказался бесполезен для решения конкретно моей задачи. Возможно что Watchdog контроля связи будет особенно полезен для тех кто использует Wi-Fi подключение. Как это повлияет на работоспособность малинки при длительном отсутствии связи (умер роутер) я не знаю. Рекомендую иметь рабочий бэкап прежде чем что либо устанавливать.

Как я уже писал выше Watchdog может перегружать малинку и по другим событиям, но это уже другая, не мене интересная тема., которую я продолжу изучать. Для желающих разобраться ниже ссылки на инструкции по Watchdog.

Ссылки на статьи по Watchdog: инструкция по Watchdog, файл конфигурации watchdog.conf

Прикольная картинка взята здесь

Мнение редакции

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

Другие наши интересноые статьи:

  • Что такое wan кабель на роутере мтс
  • Что такое wan подключение в роутере ростелеком
  • Что такое vpn туннель в роутере
  • Что такое wan не подключен на роутере вай фай
  • Что такое wan на роутере при настройке

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии