Операции с прошивкой EcoRouter Documentation / Операции с прошивкой
- Скачивание образа прошивки
- Установка скачанного образа прошивки
- Действия после установки образа прошивки
- Удаление образа прошивки
- Выгрузка образа прошивки
- Проверка целостности системных файлов
- Сброс до factory
- "Мягкий" сброс
В EcoBNG есть несколько видов встроенного программного обеспечения (прошивки).
Factory - заводская версия программного обеспечения, не подлежит изменению. Factory представляет собой базовую версию с урезанным функционалом.
Для полноценной работы устройства необходима установка второго уровня программного обеспечения - image. Базовая версия image-прошивки поставляется предустановленной на маршрутизатор.
На одном устройстве одновременно может быть установлена factory прошивка и не более двух image-прошивок.
Для просмотра информации о доступных на устройстве прошивках используется команда административного режима show boot. Данная команда выводит информацию о том, с какой прошивки был произведен запуск, состояние каждой прошивки и стабильность.
ecorouter# show boot
F: vX.X.X, not loaded, active, stable
A: vX.X.X, not loaded, inactive, stable
B: vX.X.X, loaded, active, unstable
Здесь F - factory-прошивка, A и B - image-прошивки.
Первый столбец показывает, с какой прошивки произведена загрузка, второй столбец показывает, активна ли данная прошивка в случае перезагрузки, является временной для загрузки или признана неисправной (active/inactive/temporary/failed), а третий - ее стабильность.
Скачивание образа прошивки
Для обновления image-прошивки предусмотрена возможность скачивания ее с FTP или TFTP-сервера. Команды для скачивания описаны в таблице ниже.
Команда | Описание |
---|---|
copy ftp image ftp://user:password@xxx.xxx.xxx.xxx/ mgmt | С FTP-сервера будет скачан подходящий образ прошивки для обновления с текущей версии прошивки, FTP-сервер доступен через менеджмент-порт (mgmt). EcoRouter сам определит, какой файл на сервере подходит для скачивания и обновления |
copy ftp image ftp://user:password@xxx.xxx.xxx.xxx/filename vr default | С FTP-сервера будет скачан указанный файл, если он подходит для текущей платформы и возможно обновление до этой версии. Доступ к FTP-серверу осуществляется через интерфейс виртуального маршрутизатора, выбранного по умолчанию |
copy tftp image tftp://xxx.xxx.xxx.xxx/ vr vrname | С TFTP-сервера будет скачан подходящий образ прошивки для обновления с текущей версии прошивки. EcoRouter сам определит, какой файл на сервере подходит для скачивания и обновления. Доступ к TFTP-серверу осуществляется через интерфейс виртуального маршрутизатора с именем vrname |
copy tftp image tftp://xxx.xxx.xxx.xxx/filename mgmt | С TFTP-сервера будет скачан указанный файл, если он подходит для текущей платформы и возможно обновление до этой версии; доступ к TFTP-серверу осуществляется через менеджмент-порт (mgmt) |
В общем виде команда для скачивания образа прошивки маршрутизатора выглядит следующим образом: copy <ftp | tftp> image <URL> < mgmt | vr default | vr <VR_NAME> >. Обязательно указание интерфейса, через который осуществляется доступ к ftp или tftp.
ВНИМАНИЕ! Во время скачивания образа CLI не будет реагировать на другие команды.
Скачивание прошивки с меньшим номером версии, чем нынешняя (downgrade), невозможно.
После скачивания на устройство непосредственно перед попыткой установки образ проходит проверку целостности. Также проверка целостности производится в процессе выполнения команды show.
Для просмотра информации о скачанных образах и их состоянии используется команда административного режима show images storage (для просмотра образов, размещенных на внутреннем накопителе устройства) или show images usb (для просмотра образов, размещенных на подключенных USB-устройствах). Если установлена только factory-прошивка, вывод команды будет пустым.
ecorouter# show images
"EcoRouterOS-ER-1004-3.2.1.0.8942-release-20f197c.image": version v3.2.1.0.8942, verification is ok, is not suitable for installation. Version dependency check failed
"EcoRouterOS-ER-1004-3.2.1.0.8949-release-20f197c.image": version v3.2.1.0.8949, verification is ok, is not suitable for installation. Version dependency check failed
"EcoRouterOS-ER-116-3.2.1.0.8942-release-20f197c.image": version v3.2.1.0.8942, verification is ok, is not suitable for installation. EcoRouterOS-ER-116-3.2.1.0.8942-release-20f197c.image is not for platform ER-1004
Available free space on device (27.72GiB) is 23.80GiB.
Здесь:
verification is ok - образ успешно прошел проверку целостности,
verification is failed - образ не прошел проверку целостности.
Соответственно, образы могут подходить для установки (suitable for installation) или не подходить (not suitable for installation) по разным причинам. В приведенном примере первый и второй образы не прошли проверку на зависимость версий, а третий несовместим с платформой ER-1004.
В EcoBNG также реализована возможность копирования данных по протоколу SCP. Команды для скачивания описаны в таблице ниже.
Команда | Описание |
---|---|
copy scp container <URL> | Копирование с сервера образа Docker-контейнера |
copy scp image <URL> | Копирование с сервера образа прошивки |
copy scp virtual-disk <URL> | Копирование с сервера образа виртуальной машины |
URL для данной команды должен быть задан в формате: <логин>@<адрес сервера>:<путь к файлу на сервере>.
Например: admin@10.0.0.1:/home/admin/eco.image.
Установка скачанного образа прошивки
Для установки образа используется команда image install [storage] <IMAGE_NAME> [force], где IMAGE_NAME - один из образов, указанных в выводе команды show images storage. По умолчанию установка производится с внутреннего накопителя маршрутизатора. Указание параметра force позволяет установить прошивку с меньшим номером версии, чем установленная (downgrade), работоспособность маршрутизатора при этом не гарантируется.
Возможен вариант установки заранее скачанного образа с USB-устройства, для этого используется команда image install usb <IMAGE_NAME>, где IMAGE_NAME указывается полностью, например, EcoRouterOS-ER-1004-L-3.2.0.0.8167-develop-7bf31860.image.
После завершения инсталляции в выводе команды show boot появится установленная версия со статусами not loaded, temporary, unstable. Для загрузки с проинсталлированного image необходимо перезагрузить устройство.
Во время загрузки будет предпринято максимум три попытки запуститься с проинсталлированной image прошивки. При успешной загрузке с новым image его статус изменится на active. При неуспешной загрузке стаутс с temporary будет изменен на failed. Порядок выбора прошивки для загрузки описан ниже.
Ниже представлены примеры вывода команды show boot на разных стадиях обновления прошивки.
Установлена только прошивка A, которая загружена в данный момент и является основной прошивкой для данного устройства.
F: vX.X.X, not loaded, inactive, stable
A: vX.X.X, loaded, active, stable
B: not installed
Загружена прошивка A, только что была установлена прошивка B, которая установлена для тестовой загрузки после перезагрузки.
F: vX.X.X, not loaded, inactive, stable
A: vX.X.X, loaded, active, stable
B: vX.X.X, not loaded, temporary, unstable
Если при загрузке с прошивки, отмеченной как temporary, произошла перезагрузка маршрутизатора по любой причине, то статус прошивки будет изменен на failed. Если в течение 8 часов при загрузке с прошивки со статусом active произойдет 3 неуспешных перезапуска, то статус такой прошивки также будет изменен на failed.
Устройство успешно загрузилось с установленной прошивки B, которая была отмечена для временной загрузки.
F: vX.X.X, not loaded, inactive, stable
A: vX.X.X, not loaded, active, stable
B: vX.X.X, loaded, active, unstable
Если установленная прошивка показывает себя стабильной в работе, то её можно отметить как стабильную следующей командой административного режима boot b-image stable или boot a-image stable, в зависимости от того, какую прошивку необходимо отметить. Для того чтобы пометить прошивку как нестабильную, необходимо выполнить команду no boot b-image stable или no boot a-image stable. Прошивка factory всегда является стабильной.
Чтобы исключить или включить загрузку с прошивки A или B в случае перезагрузки, можно изменить статус активности командой административного режима boot a-image active или no boot b-image active.
Приоритет выбора прошивки для загрузки
При загрузке соблюдается следующий порядок выбора прошивки по убыванию приоритетов:
- Незаводская прошивка со статусом temporary.
- Незаводская прошивка со статусом active.
- Незаводская прошивка со статусом stable.
Factory-прошивка.
Действия после установки образа прошивки
После установки новой версии прошивки и перезагрузки устройства рекомендуется выполнить команду show running-config diff для отображения загруженных команд из startup конфигурации. Данная команда используется для отображения различий между startup и running конфигурациями. Для корректной работы этой команды в системе должна быть создана startup конфигурация (для ее создания достаточно один раз выполнить команду write memory или copy running-config startup-config). Выполнение команды show running-config diff допускается в виртуальных маршрутизаторах VR.
Значение | Описание |
---|---|
––– line1, line2 –––– **** line1, line2 **** | Диапазон номеров строк, где произошли изменения (–- для running конфигурации, *** для startup конфигурации) |
+ text | Команда присутствует в running конфигурации, отсутствует в startup конфигурации |
- text | Команда присутствует в startup конфигурации, отсутствует в running конфигурации |
! text | Команды присутствуют и в startup конфигурации и в running конфигурации, но нарушен порядок следования команд |
Пример:
ecorouter#conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
ecorouter(config)#interface test
ecorouter(config-if)#ip address 10.0.0.1/24
ecorouter(config-if)#exit
ecorouter(config)#exit
ecorouter#sh running-config diff
*** Startup-config
--- Running-config
***************
*** 48,53 ****
--- 48,57 ----
port te2
mtu 9728
!
+ interface test
+ ip mtu 1500
+ ip address 10.0.0.1/24
+ !
arp request-interval 1
arp request-number 3
arp expiration-period 5
ecorouter#
Удаление образа прошивки
Для того чтобы удалить файл image прошивки, который больше не будет использоваться, существует команда image delete storage <IMAGE_NAME>, где IMAGE_NAME - один из образов, указанных в выводе команды show images storage.
Для удаления установленной прошивки существуют команды image delete firmware a-image и image delete firmware b-image. Удаление прошивки factory невозможно. Удаление прошивки возможно только в случае одновременного выполнения трех условий: она отмечена как неактивная, нестабильная и с неё не произведена загрузка в данный момент.
Выгрузка образа прошивки
При необходимости, образ прошивки устройства можно скопировать (выгрузить) на внешний FTP/TFTP-сервер.
В общем виде команда для выгрузки образа прошивки маршрутизатора выглядит следующим образом: copy image <ftp | tftp> <IMAGE_NAME> <URL> < mgmt | vr default | vr <VR_NAME> >. Здесь: URL - адрес сервера, на который будет осуществляться выгрузка, IMAGE_NAME - имя образа, должно соответствовать одному из указанных в выводе команды show images storage. При вводе команды copy image обязательно указание интерфейса, через который осуществляется доступ к ftp или tftp.
ВНИМАНИЕ! Во время выгрузки образа CLI не будет реагировать на другие команды.
Проверка целостности системных файлов
Для проверки целостности системных файлов используется команда режима администрирования show hw integrity.
Данная команда проверяет соответствие контрольных сумм бинарных файлов активной прошивки эталонным значениям. По итогам проверки на консоль выводятся контрольные суммы, имена файлов и результат проверки соответствия (OK или FAIL). После списка файлов выводится итоговая строка проверки соответствия: Checksum validation PASSED или Checksum validation FAILED.
Пример.
ecorouter#show hw integrity
7dd6d620d71ad0722571951a05812b78 rmt: OK
aa473b734e46f8479a0ec5feecfdad65 chacl: OK
96b48926e25f3854738f763dbb3ccb50 getfacl: OK
14aabeeeab6ffc8fd8503d0f587c80ff setfacl: OK
...
5f589159b5d17849bfa0c3840a4a4c4c sshd-keygen-start: OK
771e77b5d1ffbf9db37b958d2ae2faab libpcre.so.1.2.7: OK
a6aa50ed7b77fc1fd06d8626d8b7d78c libpcre.la: OK
b9fd49b80acaf6173a22b7d5bb6b4f1c libpcreposix.so.0.0.4: OK
60f530c64889d00ad21dd15534e11dea libpcreposix.la: OK
b9f29f6dedee7bfdcc52d9cd3386e51e er-ripd-ns@-start: OK
Checksum validation PASSED
ecorouter#
Сброс до factory
В EcoRouter существует механизм сброса встроенного программного обеспечения до заводской версии (factory).
ВНИМАНИЕ! При этом удаляются все версии image-прошивок и конфигурационные файлы.
Для сброса на factory устройство необходимо перезагрузить или выключить и включить.
Во время загрузки устройства на экран выводится:
Stage: boot
starting version NNN
Где NNN - некое число, которое может быть разным в разных версиях EcoRouter.
В этот момент необходимо нажать клавишу [F8].
На экране появится строка:
^[[19~^[[19~^[[19~^[[19~
После чего можно отпустить клавишу [F8]. На экране появится сообщение и символ строки ввода.
To restore the router's factory settings enter "YES".
!ATTENTION!
This action will erase all configuration!
>
Для сброса на factory необходимо ввести заглавными буквами YES, при вводе любого другого набора символов механизм сброса не будет запущен.
После подтверждения будет запущен механизм сброса на заводскую прошивку с минимальной стартовой конфигурацией.
"Мягкий" сброс
Команда copy empty-config startup-config позволяет произвести "мягкий" сброс конфигурации, в результате которого будут удалены все записи о пользователях и конфигурация будет возвращена к заводским настройкам. При этом записи о пользователях удаляются непосредственно после выполнения команды, а возврат конфигурации маршрутизатора к заводской - после перезагрузки устройства.
#copy empty-config startup-config
При попытке ввода любой команды появится сообщение:
ecorouter#conf t
% User is logged out by timeout
После выполнения команды из конфигурации будут удалены все сведения о пользователях. Пользовательская сессия завершена, авторизация на маршрутизаторе возможна только от имени пользователя по умолчанию - admin, пароль - admin.
<<< EcoRouter 3.2.2.0.9678-develop-eb0cf38 (x86_64) - ttyS0 >>>
ecorouter login:
Для замены записанной на маршрутизаторе конфигурации на заводскую следует выполнить команду reload.