Обновление RouterOS через The Dude.
Перед выполнением обновления рекомендуется сделать резервную копию настроек.
Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Обновление выбранных устройств по очереди.
В устройствах, которые нужно обновить должны быть введены логин и пароль, отмечена галочка RouterOS. Статус RouterOS должен быть ОК.
Переходим в меню Devices >> Device >> RouterOS.
Проверяем статус устройств с RouterOS (синяя галочка – ок). Сортируем устройства по архитектуре. Так же смотрим, какие установлены дополнительные пакеты.
Переходим на сайт MikroTik. Скачиваем файлы обновления и дополнительные пакеты нужной архитектуры.
Для примера скачаем пакет ARM.
Перетягиваем скаченный файл в CHR через WinBox.
Файл должен располагаться в папке dude/files. Только в этом случае он будет отображаться на вкладке Packages через интерфейс The Dude.
Выбираем устройство и нажимаем Upgrade >> 6.49.10.
Далее можно наблюдать прогресс выполнения.
После загрузки файла в роутер статус изменится на done (выполнено) и начнется обновление.
Роутер перезагрузится. После этого можно увидеть, что версия его RouterOS изменилась.
Обновление групп устройств.
Создадим группу из нескольких устройств и выполним обновление группы.
Devices >> RouterOS >> Group >> +
Указываем название группы. Отмечаем галочками необходимые устройства.
В группе присутствует устройство с пакетом NTP, которые тоже нужно обновить. Скачиваем файлы нужной архитектуры с сайта MikroTik.
В данном случае нужно скачать Extra packages, чтоб получить файл NTP.
Перетягиваем скаченные файл в CHR через WinBox.
Если нужны другие пакеты – действия аналогичные с учетом их выбора.
Выбираем группу и нажимаем Upgrade.
В зависимости от количества загруженных файлов разных архитектур в списке обновления будет несколько одинаковых надписей с номером версии обновления. Выбирать можно любую. Система сама определит архитектуру устройства и начнет загрузку только предназначенного для этой архитектуры файла.
Далее все происходит автоматически. Загрузка может выполняться длительное время в особенности для роутеров расположенных далеко от центра управления и с не очень высокой скоростью подключения к Интернету.
Через некоторое время можно увидеть обновленные версии RouterOS.
Пакет NTP тоже обновился.
Если не хватает пакетов, которые должны быть обновлены, то об этом появится предупреждение, а процесс обновления не запустится. Нужно скачать недостающие пакеты.
Если в процессе передачи файл не передался полностью, обновление не произойдет. В примере ниже скачалось только 6,6Мб, хотя весь файл 10Мб.
Нужно перезапустить обновление еще раз. Начнется передача файла повторно. Когда он будет передан полностью, запустится обновление.
Обновление загрузчика.
В наших роутерах установлена галочка Auto Upgrade в RouterBoard >> Settings.
После дистанционного обновления достаточно еще раз перезагрузить роутер, чтоб загрузчик тоже обновился.
Перезагрузку можно делать дистанционно по расписанию, командой через терминал или кнопкой Reboot в настройке каждого роутера (что наиболее просто).
О том, что требуется перезагрузка можно узнать, при первом после обновления входе в терминал.
Или настроить пересылку критических событий в лог Dude.
Резервная копия.
После выполнения всех настроек желательно сделать резервную копию и затем делать ее регулярно автоматически. Резервную копию базы данных можно выполнить только через командную строку.
Подключаемся в CHR через WinBox.
Останавливаем сервер командой или через графический интерфейс.
1
| /dude set enabled=no |
Экспортируем БД.
1
| /dude export—db backup—file=DUDE—BD—1—11—2023 |
Запускаем сервер командой или через графический интерфейс.
1
| /dude set enabled=yes |
В результате файл БД окажется в файловом хранилище. Его нужно перетащить мышкой на компьютер и сохранить в надежном месте.
При восстановлении импорт БД так же выполняется через терминал при выключенном сервере.
Файл БД должен находиться в корне хранилища. Если он будет расположен в другом месте, то к нему нужно указать правильный путь.
При импорте все предыдущие данные будут перезаписаны.
Импорт БД
1
| /dude import—db backup—file=DUDE—BD—1—11—2023 |
Помимо базы данных необходимо делать резервные копии системы CHR.
Рекомендуется сохранять файл бэкапа и экспорт конфигурации.
1
| /system backup save name=CHR—DUDE—1—11—2023 |
1
| /export file=CHR—DUDE—1—11—2023 |
Обычно настраивается сценарий (script), который выполняет резервные копии по расписанию и отправляет их на электронную почту.
Скриптом с отправкой на почту можно пользоваться пока размер базы данных не большой. Когда база большая, нужно настраивать ее отправку по FTP.
Скрипт отправки БД Dude на почту.
System >> Scripts Создаем новый сценарий.
Name: DUDE-DB-BACKUP-TO-EMAIL – понятное имя без пробелов.
Policy: отмечаем все, галка на dude пропадает после повторного входа в редактирование скрипта.
Source: Код для выполнения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| :log info «DUDE DB BACKUP TO E-MAIL SCRIPT HAS BEEN STARTED»; :local identity [/system identity get name]; :local date [/system clock get date]; :local subject «$identity DataBase $date»; :local dudedb (identity .«-« . [:pick $date 7 11] .«-« . [:pick $date 0 3] .«-« . [:pick $date 4 6]); /dude set enabled=no :delay 10; /dude export—db backup—file=$dudedb; :delay 10; :log info «DUDE DB BACKUP FILE WAS CREATED»; /dude set enabled=yes /tool e—mail send to=example@mail.com subject=$subject file=$dudedb; :delay 5; /tool e—mail send to=«example@mail.com» cc=«example@mail.com» subject=«$identity DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED $date»; :delay 5; /file remove $dudedb; :log info «DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED»; |
Краткое пояснение скрипта.
:log info – строчки с таким началом выводят сообщения в лог, для контроля выполнения разных этапов скрипта.
:local identity date subject dudedb – это задаются переменные, к которым привязываем разные значения: идентификатор роутера, дату, субъект для темы письма и файл с базой данных. К файлу бд так же привязываем переменные идентификации, даты и время.
Далее отключаем сервер, ожидаем время, пока выполняется бэкап (:delay 10;). Чем больше размер базы, тем больше нужно делать это время.
Затем включаем сервер и отправляем созданный файл на почту.
Еще одно письмо отправляется на другую почту или в телеграм-бота и сообщает админу, что бэкап выполнен.
Предпоследняя строчка удаляет созданный бэкап базы данных, чтоб не занимать память сервера.
Через командную строку терминала.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| /system script add dont—require—permissions=no name=DUDE—DB—BACKUP—TO—EMAIL policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=«:log info «DUDE DB BACKUP TO E-MA IL SCRIPT HAS BEEN STARTED»;r n:local identity [/system identity get name];r n:local date [/system clock get date];r n:local subject «$identity DataBase $date»;r n:local dudedb (identity .»-» . [:pick $date 7 11] .»-» . [:pick $date 0 3] .»-» . [:pick $date 4 6]);r n/dude set enabled=nor n:delay 10;r n/dude export-db backup-file=$dudedb;r n:delay 10;r n:log info «DUDE DB BACKUP FILE WAS CREATED»;r n/dude set enabled=yesr n/tool e-mail send to=example@mail.com subject=$subject file=$dudedb;r n:delay 5;r n/tool e-mail send to=»example@mail.com» cc=»example@mail.com» subject=»$identity DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED $date»;r n:delay 5;r n/file remove $dudedb;r n:log info «DUDE DB BACKUP TO E-MAIL SCRIPT WAS COMPLETED»;» |
Чтоб скрипт выполнялся необходимо задать права политики dude для пользователя, под которым выполняются настройки в группе full.
System >> Users >> Groups
Нужно отметить галку напротив dude. По умолчанию она не отмечена.
Расписание запуска резервного копирования.
System >> Scheduler
Создаем новое задание для запуска скрипта по расписанию.
Name: DUDE-BACKUP-TO-EMAIL – любое понятное название без пробелов.
Start Date: дата начала.
Start Time: время начала – обычно ночью.
Interval: периодичность запуска. Установлено каждые 30 дней, но можно сделать по меньше. Например 1 раз в неделю.
Policy: отмечаем все политики, отметка dude не срабатывает.
On Event: команда для выполнения с указанием имени скрипта.
1
| /system script run DUDE—DB—BACKUP—TO—EMAIL |
Через командную строку терминала.
1 2 3
| /system scheduler add interval=4w2d name=DUDE—BACKUP—TO—EMAIL on—event=«/system script run DUDE-DB-BACKUP-TO-EMAIL» policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start—date= nov/18/2023 start—time=23:50:00 |
В результате выполнения скрипта на электронную почту приходит письмо с содержание базы данных.
Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.