Обновление ОС Mikrotik (Netinstall) ( Инструкция по обновлению ПО «RouterOS» путём применения утилиты «Netinstall», запускаемой в среде «Wine» на ОС «Linux». )
Hard: «MikroTik RB/CCR».
OS: «Linux Debian/RedHat», «RouterOS v6».
Apps: «Wine», «Netinstall».
Задача: руководствуясь официальной инструкцией ориентированной на применение в операционных системах «MS Windows» выработать свой подход, для использования в ОС «Linux».
Загрузка необходимого программного обеспечения.
Для работы потребуется полноценная графическая оболочка вроде «LXDE», «XFCE» или «KDE» — только лишь из командной строки наша задача не решается.
Прежде всего на стороне условного сервера инсталляции развернём среду запуска «MS Windows»-приложений, а также библиотеку расширения стандарта POSIX «capabilities».
Для «Linux RedHat/CentOS/Fedora»:
Запускаем браузер, идём на сайт разработчиков программного обеспечения для маршрутизаторов «Mikrotik» и загружаем предназначенную для переустановки устройств под управлением «RouterOS» утилиту «Netinstall» — ищем её в блоке программного обеспечения для этой платформы:
Заодно скачиваем дистрибутив «Main packages» (в нашем примере «routeros-mipsbe-6.44.1.npk»), который впоследствии установим посредством утилиты «Netinstall» на целевое устройство.
Утилита «Netinstall» не нуждается в процедуре установки — это монолитное приложение, просто запускаемое на исполнение из любого места файловой системы и не оставляющее следов своей деятельности.
Подготовка сервера инсталляции.
При инсталляции используется группа протоколов BOOTP/PXE/TFTP поверх IP/UPD, и для их работы на сервере инсталляции достаточно настроенного LAN-интерфейса, через который будет осуществляться взаимодействие в целевым устройством. Для согласования клиент-серверных взаимодействий посредством протокола BOOTP (Bootstrap Protocol) требуется указание адреса «шлюза» (возможно несуществующего в действительности) в конфигурации сетевого интерфейса компьютера, на котором осуществляется запуск PXE-сервера (Preboot eXecution Environment) — например следующей адресации:
В GUI типового «Network Manager» установка параметров IP-протокола для сетевого интерфейса выглядит примерно так:
Диапазон адресации между сервером инсталляции и клиентом неважен (например в инструкции разработчиков утилиты «Netinstall» используется подсеть IPv4:192.168.88.0/24) — главное, чтобы задействуемые адреса не конфликтовали с возможно уже используемыми.
Включаем сервер инсталляции и целевой «Mikrotik» в одну L2-сеть — лучше всего проводом напрямую, без посредников. Иногда возможность PXE-загрузки целевого устройства ограничена первым (eth1) сетевым интерфейсом или иным, отмеченным подписью «Boot» — лучше сразу проверить это и включиться в нужный.
Запуск утилиты «Netinstall» в «Wine» и активация PXE-сервера.
Наверняка запуск в пространстве разрешений простого пользователя не позволит утилите включиться в прослушивание сетевого интерфейса на порту (UPD:67) ниже 1024 (таковы ограничения безопасности ядра «Linux» по умолчанию) и активация на нём BOOTP-сервера прервётся с сообщением об ошибке «bind bootp failed: (10013)».
Это обходится грубым запуском посредством SUDO или точечным разрешением посредством расширения стандарта POSIX «capabilities» ответственному в «Wine» за сеть приложению открывать порты ниже порога по умолчанию:
# setcap CAP_NET_BIND_SERVICE+ep /usr/bin/wine32-preloader
# setcap CAP_NET_BIND_SERVICE+ep /usr/bin/wine64-preloader
Удостоверимся, что расширенные разрешения успешно применены:
Запускаем утилиту «Netinstall» посредством «Wine»:
В GUI-интерфейсе «Netinstall» активируем PXE-сервер и задаём IP-адрес, который должен будет назначен целевому устройству «Mikrotik» в процессе согласования параметров соединения с ним посредством протокола BOOTP:
Main -> Net booting — > Boot Server enabled: true
Main -> Net booting — > Client IP address: 172.16.1.11
Обновление ПО (прошивка) «Mikrotik».
Необязательно, но желательно для наблюдения за процессом загрузки и обновления на стороне «Mikrotik» подключиться к устройству через «последовательный порт (serial port)» RS-232 (кабелем DB-9):
Уже сейчас можно запустить «Mikrotik» в режиме загрузки по сети «Etherboot» и попробовать пройти процедуру инсталляции:
1. Выключаем питание.
2. Зажимаем кнопку «Reset».
3. Удерживая кнопку «Reset» включаем питание.
4. Отпускаем кнопку «Reset» после завершения мигания индикатора загрузки (ожидаем не менее десяти секунд с момента подачи электропитания).
Через заранее установленное посредством RS-232 подключение в интерфейсе «minicom» наблюдаем за процессом согласования сетевых параметров BOOTP и получения от PXE-сервера загрузочного программного модуля посредством TFTP (Trivial File Transfer Protocol):
RouterBOOT backup booter 3.22
.
trying bootp protocol. OK
resolved mac address 60:EB:69:xx:xx:xx
transfer started . transfer ok, time=2.38s
setting up elf image. OK
jumping to kernel code
Далее управление «Mikrotik» автоматически передаётся полученному от PXE-сервера программному модулю загрузки, который должен будет посредством TFTP доставить на устройство полноценный дистрибутив и произвести необходимые изменения в конфигурации:
Welcome to MikroTik Router Software remote installation 6.44.1
Press Ctrl-Alt-Delete to abort
Waiting for installation server.
.
Found server at 60:EB:69:xx:xx:xx
Вывод выше даёт нам понять, что «Mikrotik» успешно соединился с PXE-сервером и готов принять от него управляющие команды и данные для загрузки. При этом в окне «Netinstall» целевое устройство должно отобразится в списке доступных для инсталляции «Routers/Drives».
В GUI-интерфейсе «Netinstall» выбираем месторасположение дистрибутива, который мы собираемся установить на устройство:
Выделяем целевое устройство в списке доступных «Routers/Drives», выбираем предназначенный для установки дистрибутив с списке «Packages» и жмём кнопку «Install» — сразу после чего запускается процедура форматирования встроенного NAND-диска («флеш-памяти») целевого «Mikrotik» и установка на неё заданного дистрибутива «RouterOS»:
В подключённом через RS-232 интерфейсе «minicom» процедура инсталляции сопровождается примерно такими сообщениями:
installed routeros-mipsbe-6.44.1
Writing configuration.
Software installed.
Press ENTER to reboot
На этом обновление программного обеспечения считается завершённым. Перезагружаем «Mikrotik» и переходим к его настройке.
Прежде всего полезно посмотреть выхлоп «Wine», в среде которого запущена утилита «Netinstall» — в идеале мы должны там наблюдать заметки о приёме BOOTP-запросов, регистрации целевого устройства на PXE-сервере и отправке по TFTP программного модуля загрузки:
.
bootp recv bytes: 300
client: 00:0C:42:D5:C8:B4
bootp req received
onTftp 131 vmlinux
port: 43264
blksize 1452
sendFile 3711316
.
Основные причины, почему соединения BOOTP/PXE/TFTP не отрабатывают заключаются в неверных сетевых настройках сервера инсталляции, ограничениях ядра «Linux» на открытие порта UPD:67 и запретительных правилах сетевого защитного экрана. Разбирайтесь с этим, руководствуясь вышеприведёнными инструкциями.
Для выяснения, что конкретно не срабатывает, очень поможет подключение к устройству через «последовательный порт (serial port)» RS-232.
Помимо простого вызова режима «Etherboot» путём зажима на этапе запуска «Mikrotik» кнопки «Reset» можно воспользоваться более богатым возможностями режимом конфигурирования параметров загрузки — его CLI-интерфейс вызывается нажатием любой клавиши в момент двухсекундной задержки на этапе загрузки устройства, разумеется в интерфейсе «minicom», подключенного по RS-232:
RouterBOOT backup booter 3.22
.
Press any key within 2 seconds to enter setup
.
RouterBOOT-3.22
What do you want to configure?
.
o — boot device
.
g — upgrade firmware
.
your choice: .
Нам нужно будет воздействовать на два параметра меню загрузчика «Mikrotik».
Изменим порядок загрузки (опция «o» главного меню), оставив только «Etherboot»:
.
Select boot device:
* e — boot over Ethernet
n — boot from NAND, if fail then Ethernet
.
your choice: e — boot over Ethernet
После чего запустим процедуру обновления (опция «g» главного меню) посредством «Etherboot»:
.
Upgrade firmware options:
* e — upgrade firmware over ethernet
s — upgrade firmware over serial port
your choice: e — upgrade firmware over ethernet
Вероятно процедура обновления завершится ошибкой — мы ведь не из любопытства здесь — но с заданными настройками загрузки только посредством «Etherboot» она будет повторятся бесконечно, пока мы не найдём причину на сервере инсталляции и не устраним её:
Выше приводился пример вывода сообщений об успешном прохождении всех этапов процедуры обновления. И да, после выключения и включения электропитания «Mikrotik» внесённые нами изменения параметров загрузчика восстановятся на заданные по умолчанию.
Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )
Заметки и комментарии к публикации:
Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )
Сетевая установка с минимальным компакт-диском
CD для сетевой установки , или netinst — это один компакт-диск, позволяющий установить всю операционную систему. Он содержит только самое необходимое программное обеспечение для того, позволяющее установить базовую систему и загрузить все остальные пакеты по сети.
Что лучше — минимальный загрузочный CD-ROM или полные компакт-диски? Это зависит от обстоятельств, но мы полагаем, что во многих случаях минимальный образ CD лучше — помимо прочего, вы загружаете только те пакеты, которые хотите установить на свою машину, что экономит как время, так и трафик. С другой стороны, полные диски лучше подходят, если нужно установить систему на несколько машин или на машины без подключения к сети.
Какие типы сетевых соединений поддерживаются во время установки? Сетевая установка предполагает, что у вас есть соединение с Интернет. Для этого имеется поддержка нескольких способов: соединение по аналоговой телефонной линии по протоколу PPP (dial-up), через Ethernet-соединение, через WLAN (с некоторыми ограничениями). К сожалению, ISDN не поддерживается, просим прощения!
Для закачки доступны следующие минимальные образы загрузочных дисков:
- Официальные образы netinst для стабильного выпуска — смотрите ниже
- Образы для тестируемого выпуска — так и известные рабочие срезы, смотрите на странице Debian-Installer.
Официальные образы netinst для стабильного выпуска
Имеют размер до 300 МБ, образы содержат программу установки и небольшой набор пакетов, позволяющих установить только основную систему.
CD образ netinst