Mikrotik: сброс настроек, бекапы и DualBoot

Разбор множества мелких, относительно связанных между собой, тем: программный и аппаратный сброс настроек, функция Protected RouterBoot, бекапы и экспорт конфигурации, разбивка flash памяти на разделы.

Программный сброс настроек


Если есть доступ к роутеру от пользователя с full правами, то можно сбросить все настройки через [System]→[Reset Configuration]
or9aidpvbp7frp717hloovr0una.png
Что тут есть:
* Keep user setting — не удалять учетные записи пользователей.
* CAPS mode — после сброса искать контроллер CAPsMAN.
* No Default Configuration — не создавать дефолтную конфигурацию после сброса.
* Do Not backup — не создавать бекап перед сбросом. Если не отметить, то созданный бекап не будет запаролен.
* Run After Reset — скрипт, который будет выполнен после сброса и перезагрузки роутера.
Во время сброса содержимое flash памяти не затирается.

Консольный вариант:

/system reset-configuration no-defaults=yes skip-backup=yes


Аппаратный сброс настроек


Все зависит от модели роутера, возможно три варианта:

Присутствует кнопка reset
Для начала отключаем питание, зажимаем reset и включаем питание.
Отпускаем через:
* 3 секунды (до мигания ACT) — загрузка с запасного бутлоадера. Помогает если произошел сбой при обновлении системы либо firmware.
* 5 секунд (ACT мигает) — сброс настроек.
* 10 секунд (ACT перестает мигать) — поиск контроллера CAPsMAN.
* 15 секунд (ACT не горит) — поиск сервера netinstall.

Контактная площадка
На wiki утверждают, что все девайсы оснащены подобной площадкой. Ради интереса вскрыл RB491–2nD и не обнаружил таковой.
Технология сброса: отключаем питание, замыкаем площадку (бипер издает хрипящий писк) и не отпускаем до полной загрузки.

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

Protected RouterBoot


Может случится ситуация, когда после сброса чужого (иначе вы бы знали) роутера он не будет загружаться дальше «первого пика» — это новая фитча от Mikrotik затирающая всю флеш память (включая RouterOS), для восстановления потребуется netinstall.

Про RouterBoot
RouterBoot — начальный загрузчик на девайсах Mikrotik, с ним можно взаимодействовать через Serial интерфейс и одно из предназначений Protected RouterBoot не давать вмешиваться в процесс загрузки.
Загрузчик разделен на две части:
* Recovery — поставляется вместе с девайсом и совпадает с Factory Firmware.
* Current — поставляется с пакетом system, но обновляется отдельно.
3pqxxl1t563pxmzjosgqqxcjjyq.png
Посмотреть текущие версии можно в [System]→[RouterBoard]. Кнопкой [Upgrade] производится обновление Current загрузчика. Если система работает плохо и загружается только с резервного (как написано разделом выше), то в [Settings] можно явно указать recovery загрузчик в качестве постоянного, опция Auto Upgrade для обновления current загрузчика вместе с RouterOS. И раз мы тут — опция Silent Boot отключает звуки во время загрузки.

Консольный вариант
# Посмотреть информацию
/system routerboard print
/system routerboard setting print
# Обновить загрузчик
/system routerboard upgrade
# Включить загрузку с Recovery
/system routerboard setting set force-backup-booter=yes
# Отключить beeper
/system routerboard setting set silent-boot=yes


На каких версиях Firmware работает Protected RouterBoot
Гарантированную работу обещают для девайсов с Factory Firmware 3.24 и выше, если ваш девайс более старый, то функцию возможно активировать установив специальный пакет, но только на Bugfix версии RouterOS.

Даунгрейд до Bugfix и спец. версия загрузчика

[System]→[RouterBoard]→[Settings]
whp-emrf5eegbfwvrv0sq1cyn9o.png

Включаем Protected RouterBoot=yes, что теперь.
* Взаимодействие с RouterBoot на этапе загрузки будет невозможно.
* Кнопка Reset будет работать в единственном режиме — затирать flash память. Опции reformat-hold-button и reformat-hold-button-max определяют минимальное и максимальное значение время удержания кнопки Reset. Необходимо попасть в установленный промежуток. Форматирование памяти может занимать до 5 минут.
* Etherboot не будет работать.
* Сброс через замыкания контактов на плате не будет работать.

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

Восстановление прошивки средствами netinstall


Netinstall — универсальный инструмент для прошивки и предварительной настройки роутеров MikroTik. При использовании происходит ворматирование внутренней памяти и конфигурации, без изменения останутся только настройки в [System]→[RouterBOARD]

Доступен только для ОС Windows по ссылке. Конфликтует с некоторыми фаерволами и антивирусами (добавлять в исключения), могут быть проблемы при запуске от пользователей с ограниченными правами — запускаем «От администратора».

Порядок действий
* Потребуются файлы прошивки отсюда. можете брать целиковый main, либо распаковать необходимые пакеты из extra, обязателен только пакет system.
* Проводное соединение с роутером. Причем ПК и роутер должны находиться в пределах одного сегмента сети, лучше соединять кабелем напрямую.
* Рекомендуют отключить на ПК все лишние сетевые интерфейсы. На практике — проблем с этим обычно не возникает.
* Установить на проводном интерфейсе к которому подключен роутер статический ip, например: 192.168.100.1/24.
* Если на Mikrotik присутствует порт с надписью Boot, то подключаетесь к нему, если нет — к первому порту.
* Запускаем Netinstall, в [Net Booting] необходимо включить Boot Server Enabled и указать ip из выбранной ранее подсети, например: 192.168.100.10.
fob7rnhuascwhs0huicpqo0b-de.png
* Отключаем питание MikroTik, зажимаем Reset и ждем 15 секунд (пока роутер не появится в Netinstall). Если кнопка Reset отсутствует, то замыкаем контактную площадку либо перемычку.
* В [Browse] выбираем каталог с необходимыми файлами RouterOS, отмечаем необходимые.
* Нажимаем [install].
thlgj4jj0f-twgcbfpwcske90si.png

На что еще способен netinstall
* Key — можно обновить лицензию. SoftID необходим для заказа ключа.
* Keep old configuration — сохранить конфигурацию и восстановить ее после прошивки.
* IP address/Netmask & gateway — настроить ip.
* Baud rate — установть скорость Serial интерфейса.
* Configure script — скрипт, который будет запущен после пошивки.
* Apply default config — загрузить конфигурацию по умолчанию. Работает если предыдущие три пункта не установлены.
* Flashfig — утилита для массовой настройки новых девайсов, подробнее тут.

Бекап и экспорт конфигурации в Mikrotik


Бинарный бекап
* Включает в себя практически полную (не переносятся файлы, сертификаты и ключи ipsec) копию настроек RouterOS.
* Шифрованию в бекапах подвергаются только системные учетные записи.
* Не редактируется.
* Восстановление затирает текущую конфигурацию.
* Желательно восстанавливать на аналогичную модель Mikrotik.
* Возможно восстановить на отличных от оригинального моделях. Но в бинарном бекапе настройки интерфейсов привязываются к внутреннему id и при восстановлении реальные и системные номера портов ethernet будут перепутаны. Если на новом девайсе не хватает физических интерфейсов — настройки восстановятся, но будут ссылаться на unknown.

Создания бекапа:
[Files]→[Backup]
lnrk30t0h5ar2xqsosvo7qjzx7o.png
* Name — имя файла. по умолчанию будет — * Password — пароль. По умолчанию используется пароль текущего пользователя.
* Don’t encrypt — не шифровать бекап.

Консольный вариант:

/system backup save
# Все ключи опциональны
# name= - имя
# password= - пароль
# dont-encrypt= - не шифровать

Восстановление:
[Files]→[Подсветить необходимый файл]→[Restore]
25z6pzb0e7bbfmu5dk0pqpzgj14.png
Консольный вариант:

/system backup load name=<имя> password=<пароль>

Дополнительно:
* www.mikrotikpasswordrecovery.net — сервис извлечения системных учетных записей из не шифрованных backup.
* github.com/BigNerd95/RouterOS-Backup-Tools — неофициальный скрипт для частичной распаковки backup.

Экспорт и импорт конфигурации
* Не включает настройки системных пользователей. Клик.
* Можно сохранить (export) и загружать (import) только из консоли.
* Возможно скопировать как целиковый конфиг, так и часть.
* Не шифруется.
* Можно редактировать.
* Во время загрузки (import) конфигурации текущая затерта не будет.
* Можно восстанавливать на любую модель, путаницы в интерфейсах не будет, но если интерфейсов не будет хватать соответствующие настройки не восстановятся.
* В последних обновлениях RouterOS починили восстановление Scripts и Schedulers. Теперь они восстанавливаются без ошибок с указанными пользователями, сами пользователи созданы не будут.

Варианты export:
* compact — только отличия от дефолтной конфигурации. По умолчанию в RouterOS 6. Конфликтут с verbose.
* verbose — наиболее полная конфигурация. По умолчанию в RouterOS 5. Конфликтует с compact.
hide-sensitive — не экспортировать пароли, ключи и пр.
terse — не разрывать строки.

export не сохраняет конфигурацию в файл, если явно не задать ключ file=<имя файла> расширение rsc будет добавлено автоматически.

# Показать текущую конфигурацию
/export
# Сохранить полную конфигурацию в файл
/export verbose file=config
# Сохранить конфигурацию ip address в файл
/ip address export file=config-ip-add
# Загрузить конфигурацию из файла
/import file=config.rsc


DualBoot в Mikrotik (Partition)


Flash накопитель можно разбить на несколько разделов и установить несколько копий RouterOS (в том числе различных). В случае неудачной загрузки с основного раздела будет загружаться следующий указанный. Функция доступна на девайсах с MIPS, PowerPC и CCR серии.

Разбивка на разделы:
[Partition]→[Repartition]
nrl4u_umddpkhf5w2xxbif4ygj4.png

partitions repartition partitions=2


Необходимо указать итоговое число разделов. Есть два ограничения: максимальное число разделов — 8 и минимальный размер раздела: 32MB on MIPS; 40MB on PowerPC; 48MB on CCR.

Новый раздел будет пустым, необходимо скопировать на него текущую прошивку через [Copy to].
tzdn4s7juytv8vbp5q38klvbdfc.png

partitions copy-to part1

В консоли лучше видны свойства разделов: Активный (A) — с которого будет произведена следующая загрузка и раздел с которого была загружена система®.
3u8r6z-2hgyhnhtkvsioiqsclkc.png
Смена активного раздела происходит в его свойствах кнопкой [Activate]. Опция Fallback to отвечает за выбор раздела, если загрузка не удалась.

# Установка активного раздела
partitions activate part1
# Установка резервного раздела
partitions set part1 fallback-to=part0
# При неудаче искать сервер bootp(netinstall)
partitions set part1 fallback-to=etherboot

[Save Config To] — Сохранить конфигурацию с текущего® раздела на выбранный.
[Restore Config From] — Сохранить конфигурацию с выбранного раздела на текущий®.

partitions save-config-to part1
partitions restore-config-from part1

Функционал интересный, но имеет два недостатка: Не все роутеры комплектуются достаточным количеством flash памяти. Сбои в RouterOS, даже при обновлении, не такое частое явление.

© Habrahabr.ru