Найти в Дзене

MikroTik — контейнеры в RouterOS

К сожалению, не каждый MikroTik поддерживает контейнеры. Контейнеры можно запустить только на устройствах с архитектурой ARM, ARM64, x86. К примеру, контейнеры поддерживаются в MikroTik линейки Chateau и некоторых hAP-моделях. Маршрутизаторы — не ПК. У них нет большого запаса ресурсов для обслуживания работы контейнеров, следует об этом помнить. Может не хватить RAM или CPU или диска. По умолчанию функционал контейнеров в RouterOS отключен. Это сделано в целях безопасности. Роутер может быть скомпрометирован злоумышленниками. Если в ОС имеется известная уязвимость, то кто-то может создать образ контейнера, который её использует. И предоставит root-шелл в Linux, с помощью которого будет организован постоянный бэкдор в вашей системе RouterOS, даже после удаления образа контейнера и отключения функции контейнеров. Если уязвимость внедрена в первичный или вторичный RouterBOOT (или предзагрузчик производителя), то даже Netinstall может не исправить это. В общем, дело ясное, что дело тёмное
Оглавление

К сожалению, не каждый MikroTik поддерживает контейнеры. Контейнеры можно запустить только на устройствах с архитектурой ARM, ARM64, x86. К примеру, контейнеры поддерживаются в MikroTik линейки Chateau и некоторых hAP-моделях.

Маршрутизаторы — не ПК. У них нет большого запаса ресурсов для обслуживания работы контейнеров, следует об этом помнить. Может не хватить RAM или CPU или диска.

По умолчанию функционал контейнеров в RouterOS отключен. Это сделано в целях безопасности. Роутер может быть скомпрометирован злоумышленниками. Если в ОС имеется известная уязвимость, то кто-то может создать образ контейнера, который её использует. И предоставит root-шелл в Linux, с помощью которого будет организован постоянный бэкдор в вашей системе RouterOS, даже после удаления образа контейнера и отключения функции контейнеров. Если уязвимость внедрена в первичный или вторичный RouterBOOT (или предзагрузчик производителя), то даже Netinstall может не исправить это.

В общем, дело ясное, что дело тёмное. Если вы за безопасность, много раз подумайте перед включением функционала контейнеров.

System → Resources.

-2

У меня hAP ac^2 на ARM, контейнеры должны поддерживаться.

https://mikrotik.com/products/matrix

Версия ОС 7.20.2 (stable).

Установка пакета Container

Скачаем экстра пакеты.

https://mikrotik.com/download

-3

Выбираю архитектуру ARM, канал Stable, ОС 7.20.2. Скачиваю all_packages.

-4

Распаковываю архив. Нас интересует пакет container-7.20.2-arm.npk.

-5

Переходим в Files. Upload и загружаем в корень пакет container-7.20.2-arm.npk.

System → Reboot, перезагружаем маршрутизатор.

-6

Проверяем System → Packeges, там должен появиться пакет container. Если не появился, то проверяйте правильные ли вы скачали экстра пакеты.

Поддержка контейнеров всё ещё отключена, переходим в терминал и выполняем команду:

/system/device-mode/update container=yes
Отключить:
/system/device-mode/update container=no
-7
update: turn off power or reboot by pressing reset or mode button in 4m53s to activate changes
-- [Q quit|D dump|C-z pause]

После сообщения нужно в течение 5 минут перезагрузить роутер, то есть выключить и включить его по питанию, либо нажать на кнопку reset или mode. Выдерну питание и через 5 секунд вставлю.

После перезагрузки проверим статус:

/system/device-mode print
-8
container: yes.

Виртуальный сетевой интерфейс

Создадим интерфейс и мост.

/interface/bridge add name=Bridge-Docker port-cost-mode=short
/ip/address add address=192.168.254.1/24 interface=Bridge-Docker network=192.168.254.0
/interface/veth add address=192.168.254.4/24 gateway=192.168.254.1 name=VETH1
/interface/bridge/port add bridge=Bridge-Docker interface=VETH1

А далее уже следуем инструкциям по запуску того или иного контейнера.

Источник:

MikroTik — контейнеры в RouterOS | internet-lab.ru

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.