Обновление 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=no\r\ \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=yes\r\ \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 лабораторных работ, вопросы для самопроверки и конспект.