{sape_links}
Быстрая навигация
802.11ac 802.11ac Wave 2 802.11n Android DVB-T2 Google hAP HotSpot IPSec Keenetic LTE Mikrotik MU-MIMO Netis Newsletter Realtek RouterBOARD RouterOS Rozetka rozetka.com.ua Strong Trimax Ubiquiti UBNT UniFi wAP 60G Wi-Fi Winbox wireless Zyxel безопасность маршрутизатор настройка обзор обновление промо промо-код прошивка роутер скидкиАвтоматическая проверка обновлений RouterOS, уведомление о новых версиях при помощи PUSH-сообщений Telegram
06 май 2018
26 753
23
Ранее мы уже неоднократно говорили о необходимости своевременного обновления программного обеспечения Mikrotik. Иногда в RouterOS встречаются серьёзные ошибки, очень редко даже критические.
Чем чревато несвоевременно обновление RouterOS я уже писал, причем многие владельцы Mikrotik-ов не обновились и по сей день. Со своей стороны команда Mikrotik докладывает всех сил на поиск и устранение ошибок, выпуск новых версий и своевременное уведомление клиентов.
Далеко не каждый администратор устройства Mikrotik заходит регулярно на официальный сайт в поисках обновлений.
Кнопка «Check for Updates» это хорошо, но толковый администратор, управляющий устройством, на которое возложены серьёзные задачи, перед тем как выполнить команду «Download & Install», обязательно посетит соответствующую ветку официального форума «Announcements». В данной ветке можно ознакомиться с особенностями обновления и отзывами тех клиентов, кто уже успели обновиться.
Очень редко, но всё же случаются ситуации, когда обновление содержит изменение некоторых функций, что потенциально может привести к неполной работоспособности некоторых конфигураций при переходе на новую версию. Бывало и такое, что после обновления пользователи не могли получить доступ к устройству или же конфигурация вовсе слетала.
Бывали на моей памяти и такие обновления, перед которыми, из-за кардинальных изменений, в обязательно порядке необходимо было выполнять бэкап. Без бэкапа вы попросту не смогли бы откатить все настройки в случае необходимости downgrade. Да и копию самого бэкапа необходимо хранить на стороннем устройстве, а не в памяти RouterBOARD.
С учетом всего вышеизложенного, вы не сможете полностью положиться на автоматическое обновление. Собственно, функция автоматического обновления в RouterOS имеется еще с версии RouterOS v6.31 (см. документацию).
Реализован механизм при помощи простенького скрипта:
Добавляете скрипт в System – Scripts, после чего настраиваете планировщик (System – Scheduler) на периодический запуск самого скрипта. Система будет обновляться автоматически, как только при проверке определит доступность новой версии.
Само собой разумеется, таким скриптом следует пользоваться только в крайнем случае, на свой собственный страх и риск.
Есть ли другие варианты? Конечно же, есть. Всё зависит только от вас и вашего умения писать скрипты.
Со своей стороны хочу предложить вам весьма интересный вариант реализации уведомлений о выходе новых версий. Я уже писал о реализации PUSH-уведомлений прямо из Mikrotik RouterOS, так почему бы не воспользоваться этим же методом для уведомлений о новых версиях?
Заходим в System – Scripts и добавляем 2 скрипта.
Первый скрипт, «check_updates»:
Данный скрипт осуществляет проверку доступности новой версии и, в зависимости от статуса, либо просто пишет запись в лог, либо запускает скрипт с отправкой уведомления. Скрипт проверен и работает на RouterOS 6.42.1 current, для bugfixes-only и Release candidate, возможно, потребуется вносить правки и указывать Channel.
Если у вас большой парк устройств, вероятно, вам будет полезна следующая команда:
При её помощи вы сможете получить такие данные:
Версия RouterBOOT обновляется нажатием кнопки «Upgrade», или же выполнением команд (требуется перезагрузка):
Если же вас интересует название конкретного устройства, вытянуть его можно при помощи команды:
Если данный функционал востребован – вам придется дописать его самостоятельно. Мой скрипт реализует только базовое уведомление. Само уведомление выполняется только в том случае, если у вас более старая версия, если же система актуальна – в уведомлениях нет необходимости. В противном случае Mikrotik будет каждый раз слать вам уведомления и вы попросту перестанете обращать на них внимание.
Второй скрипт, «new_version_notifier»:
Данный скрипт реализует исключительно отправку уведомления, для него вам потребуется <ваш_токен> и <id_чата> для Telegram Bot API, более подробно о них рассказано в публикации: «Отправка Push-уведомлений из Mikrotik RouterOS прямо на мобильный при помощи Telegram».
Последний шаг – настройка планировщика. Заходим в System – Scheduler, создаем новую задачу с командой:
В качестве интервала для запуска я использую 1 день, при желании, интервал можно менять, например, установить запуск каждые 12 часов.
И напоследок, если вы хотите использовать форматирование теста, в URL Telegram API следует заменить:
на:
В итоге у вас получится URL вида:
После этого в сообщении можно будет использовать форматирование, например:
Выделение жирным шрифтом будет полезно в случаях, когда вы получаете много уведомлений.
Чем чревато несвоевременно обновление RouterOS я уже писал, причем многие владельцы Mikrotik-ов не обновились и по сей день. Со своей стороны команда Mikrotik докладывает всех сил на поиск и устранение ошибок, выпуск новых версий и своевременное уведомление клиентов.
Далеко не каждый администратор устройства Mikrotik заходит регулярно на официальный сайт в поисках обновлений.
Если Вы хотите научиться настраивать MikroTik, предлагаем пройти онлайн обучение. Более подробную информацию Вы можете найти в конце данной публикации.
Кнопка «Check for Updates» это хорошо, но толковый администратор, управляющий устройством, на которое возложены серьёзные задачи, перед тем как выполнить команду «Download & Install», обязательно посетит соответствующую ветку официального форума «Announcements». В данной ветке можно ознакомиться с особенностями обновления и отзывами тех клиентов, кто уже успели обновиться.
Очень редко, но всё же случаются ситуации, когда обновление содержит изменение некоторых функций, что потенциально может привести к неполной работоспособности некоторых конфигураций при переходе на новую версию. Бывало и такое, что после обновления пользователи не могли получить доступ к устройству или же конфигурация вовсе слетала.
Бывали на моей памяти и такие обновления, перед которыми, из-за кардинальных изменений, в обязательно порядке необходимо было выполнять бэкап. Без бэкапа вы попросту не смогли бы откатить все настройки в случае необходимости downgrade. Да и копию самого бэкапа необходимо хранить на стороннем устройстве, а не в памяти RouterBOARD.
С учетом всего вышеизложенного, вы не сможете полностью положиться на автоматическое обновление. Собственно, функция автоматического обновления в RouterOS имеется еще с версии RouterOS v6.31 (см. документацию).
Реализован механизм при помощи простенького скрипта:
/system package update
check-for-updates once
:delay 1s;
:if ( [get status] = "New version is available") do={ install }
Добавляете скрипт в System – Scripts, после чего настраиваете планировщик (System – Scheduler) на периодический запуск самого скрипта. Система будет обновляться автоматически, как только при проверке определит доступность новой версии.
Само собой разумеется, таким скриптом следует пользоваться только в крайнем случае, на свой собственный страх и риск.
Есть ли другие варианты? Конечно же, есть. Всё зависит только от вас и вашего умения писать скрипты.
Со своей стороны хочу предложить вам весьма интересный вариант реализации уведомлений о выходе новых версий. Я уже писал о реализации PUSH-уведомлений прямо из Mikrotik RouterOS, так почему бы не воспользоваться этим же методом для уведомлений о новых версиях?
Заходим в System – Scripts и добавляем 2 скрипта.
Первый скрипт, «check_updates»:
:log info "Checking new version RouterOS...";
/system package update
check-for-updates once
:delay 5s;
:if ( [get status] = "System is already up to date") do={
:log info "Installed last RouterOS version, skip notification";
}
:if ( [get status] = "New version is available") do={
:log warning "Attention! New version of RouterOS is available!";
/system script run new_version_notifier
:delay 2s;
:log warning "Admin was notified by PUSH-message";
}
Данный скрипт осуществляет проверку доступности новой версии и, в зависимости от статуса, либо просто пишет запись в лог, либо запускает скрипт с отправкой уведомления. Скрипт проверен и работает на RouterOS 6.42.1 current, для bugfixes-only и Release candidate, возможно, потребуется вносить правки и указывать Channel.
Если у вас большой парк устройств, вероятно, вам будет полезна следующая команда:
/system routerboard get [параметр]
При её помощи вы сможете получить такие данные:
- board-name – название устройства, например «hEX»;
- model – модель, например «RouterBOARD 750G r3»;
- current-firmware – текущая версия RouterBOOT, например «6.42.1»;
- upgrade-firmware – последняя версия RouterBOOT, например «6.42.1»;
Версия RouterBOOT обновляется нажатием кнопки «Upgrade», или же выполнением команд (требуется перезагрузка):
/system routerboard upgrade
/system reboot
Если же вас интересует название конкретного устройства, вытянуть его можно при помощи команды:
/system identity get name
Если данный функционал востребован – вам придется дописать его самостоятельно. Мой скрипт реализует только базовое уведомление. Само уведомление выполняется только в том случае, если у вас более старая версия, если же система актуальна – в уведомлениях нет необходимости. В противном случае Mikrotik будет каждый раз слать вам уведомления и вы попросту перестанете обращать на них внимание.
Второй скрипт, «new_version_notifier»:
tool fetch url="https://api.telegram.org/bot<ваш_токен>/sendMessage?chat_id=<id_чата>&text=New%20version%20RouterOS%20is%20available" dst-path=telegram.txt;
Данный скрипт реализует исключительно отправку уведомления, для него вам потребуется <ваш_токен> и <id_чата> для Telegram Bot API, более подробно о них рассказано в публикации: «Отправка Push-уведомлений из Mikrotik RouterOS прямо на мобильный при помощи Telegram».
Последний шаг – настройка планировщика. Заходим в System – Scheduler, создаем новую задачу с командой:
/system script run check_updates
В качестве интервала для запуска я использую 1 день, при желании, интервал можно менять, например, установить запуск каждые 12 часов.
И напоследок, если вы хотите использовать форматирование теста, в URL Telegram API следует заменить:
&text=
на:
&parse_mode=html&text=
В итоге у вас получится URL вида:
https://api.telegram.org/bot<ваш_токен> /sendMessage?chat_id=<id_чата &parse_mode=html&text=<сообщение>"
После этого в сообщении можно будет использовать форматирование, например:
<b>жирный</b>
<i>курсив</i>
Выделение жирным шрифтом будет полезно в случаях, когда вы получаете много уведомлений.
Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.