RouterOS v7

Qeli в контейнере MikroTik

RouterOS запускает OCI-образ через встроенный контейнерный runtime. Поддержка зависит от модели, архитектуры и наличия /dev/net/tun внутри контейнера.

1

Проверьте модель и архитектуру

Определите архитектуру RouterOS: современные устройства обычно arm64, старые ARM — arm/v7, CHR и x86 — amd64. Образ должен быть одноархитектурным Docker archive; provenance и SBOM при экспорте отключаются, иначе RouterOS может вернуть could not load next layer.

build host
$ docker buildx build --platform linux/arm64 \
  --provenance=false --sbom=false \
  -f release/docker/Dockerfile -t qeli:0.8.0-arm64 \
  -o type=docker,dest=qeli-arm64.tar .
2

Включите контейнеры

Контейнерный режим включается один раз и требует подтверждения на самом устройстве и перезагрузки. После загрузки tar-образа создайте veth, постоянные mounts для /etc/qeli и /var/lib/qeli, затем добавьте контейнер с ролью server или client.

RouterOS terminal
/system/device-mode/update container=yes
/interface/veth/add name=veth-qeli address=172.18.0.2/24 gateway=172.18.0.1
/container/mounts/add name=qeli-etc src=disk1/qeli/etc dst=/etc/qeli
/container/mounts/add name=qeli-lib src=disk1/qeli/lib dst=/var/lib/qeli
/container/add file=qeli-arm64.tar interface=veth-qeli \
    root-dir=disk1/qeli/root mounts=qeli-etc,qeli-lib \
    cmd="server" start-on-boot=yes
3

Настройте маршрутизацию

Для доступа к удалённым подсетям создавайте точные маршруты на RouterOS через veth контейнера и обеспечивайте обратный маршрут на другой стороне. NAT не нужен, если обе стороны знают маршруты: так сохраняются исходные адреса и проще правила доступа. NAT оставляйте только для full-tunnel выхода в интернет или когда обратный маршрут добавить невозможно.

Пример: /ip/route/add dst-address=192.168.50.0/24 gateway=172.19.0.2. Подставьте реальную удалённую сеть и адрес veth клиентского контейнера.
4

Проверьте TUN до настройки сети

Наличие /dev/net/tun внутри RouterOS-контейнера зависит от версии и платы, а аналога Docker --device у RouterOS нет. Если профиль завершается с No such file or directory, перенесите Qeli на небольшой Linux-хост за MikroTik и направьте к нему порт и маршруты.