Contenedores y ROSE-storage en RouterOS: el router como servidor de aplicaciones
RouterOS no es solo un router. Con el paquete container y ROSE-storage, se convierte en un servidor de aplicaciones que puede correr prácticamente lo que necesites.
Si venís del mundo de los routers tradicionales, la idea de ejecutar Pi-hole, Grafana o un servidor web directamente en tu MikroTik puede sonar extraña. Pero RouterOS v7 lo soporta de forma nativa, y con el paquete ROSE-storage, las posibilidades se disparan.
Dos piezas, un sistema
Container (/container) es la implementación de contenedores Linux de MikroTik. Compatible con imágenes de Docker Hub, GCR, Quay y cualquier registro OCI. No usa Docker Engine — RouterOS tiene su propio runtime, pero el resultado es el mismo: descargás una imagen, la ejecutás, y tenés tu aplicación corriendo.
ROSE-storage (RouterOS Enterprise) agrega funcionalidad de data center: iSCSI (initiator y target), NVMe-over-TCP, NFS v4, RAID (0, 1, 5, 10), cifrado de discos, sistemas de archivos Btrfs y XFS, y rsync. Compatible con arquitecturas arm, arm64, x86 y tile.
El requisito fundamental: almacenamiento
Los contenedores necesitan disco. Las imágenes se descargan, se extraen, y generan datos. El asistente /app/setup pide un disco local formateado en ext4 o btrfs. Si tu MikroTik tiene USB, microSD, SATA o NVMe, lo detecta como usb1, disk1 o nvme1 y listo.
Pero, ¿y si tu equipo no tiene almacenamiento físico? Ahí entra ROSE-storage.
Discos remotos como discos locales: NVMe-over-TCP e iSCSI
Tanto NVMe-over-TCP como iSCSI son protocolos de bloque. Esto significa que el disco remoto aparece en /disk exactamente igual que un NVMe conectado físicamente. Lo formateás, lo montás, y el sistema de Apps lo usa sin saber que está a 10 metros (o a 10 kilómetros, aunque no lo recomendamos) de distancia.
NVMe-over-TCP es la opción preferida: más rápido, menor latencia, diseñado para storage moderno. Puerto TCP/4420.
iSCSI es el clásico: más compatible con equipos legacy y NAS tradicionales. Puerto TCP/3260.
NFS v4 también está soportado, pero es filesystem, no bloque. No sirve para instalar contenedores. Sí sirve para compartir archivos entre equipos.
Montando storage remoto paso a paso
Del lado del servidor (el que tiene el disco físico):
/disk set disk1 nvme-tcp-export=yes nvme-tcp-port=4420Del lado del cliente (el MikroTik que va a correr los contenedores):
/disk nvme-discover 192.168.1.100
/disk add type=nvme-tcp nvme-tcp-address=192.168.1.100 nvme-tcp-name=disk1
/disk format disk1 file-system=ext4
/app/settings set disk=disk1El disco remoto ya está listo. El App Setup Wizard lo detecta automáticamente y podés instalar aplicaciones del catálogo sin tocar una línea de YAML.
¿Qué aplicaciones podés correr?
El catálogo de /app incluye aplicaciones pre-configuradas por MikroTik. Pero también podés crear tus propios contenedores con un archivo YAML:
name: iperf3
descr: Alpine Linux container running iperf3 server
image: alpine:latest
cmd: "apk add iperf3 && iperf3 -s"
network: lan
ports:
- "5201:5201:tcp"
- Pi-hole: Filtrado DNS a nivel de red, sin instalar nada en los clientes.
- Grafana + Prometheus: Dashboard de monitoreo para tu red, conectado a los datos de RouterOS vía SNMP o API.
- Servidor web ligero (nginx, Caddy): Hosteás un sitio estático, un panel de estado, o una documentación interna.
- Cloudflare Tunnel (cloudflared): Exponés servicios locales a Internet sin abrir puertos, con certificado SSL automático.
- Home Assistant: Automatización del hogar/laboratorio corriendo directamente en el router.
Lo que necesitás saber antes de arrancar
- Container mode requiere acceso físico al botón de reset la primera vez (por seguridad). Una vez habilitado, todo se gestiona remoto.
- Rendimiento mínimo recomendado del disco: 100 MB/s secuencial, 10K IOPS aleatorio. Verificable con
/disk test. - Para discos remotos, la latencia importa. NVMe-over-TCP en LAN funciona excelente. Sobre WAN o enlaces inalámbricos, la experiencia se degrada rápido.
- Arquitecturas: container funciona en arm, arm64 y x86. Dispositivos con CPU EN7562CT (como el hEX Refresh) solo soportan imágenes arm32v5, lo cual limita mucho el catálogo.
- La seguridad corre por tu cuenta. Un contenedor comprometido puede exponer el sistema operativo del router. Usá imágenes de fuentes confiables.
¿Qué equipo necesito?
Cualquier MikroTik con arquitectura arm64 o x86 que tenga almacenamiento local (USB, microSD, SATA, NVMe) o acceso a storage en red vía ROSE-storage. Modelos recomendados para empezar:
- hAP ax³: USB + microSD, Wi-Fi 6, buena RAM. Ideal para Pi-hole + VPN + dashboard.
- RB5009UG+S+IN: USB + microSD + puerto SFP+. Para cuando necesitás más potencia.
- CCR2004 / CCR2116: NVMe interno o storage por red. Para setups pesados con múltiples contenedores.
Incluso un hAP be lite (que no tiene almacenamiento físico) puede correr contenedores montando un disco remoto por NVMe-over-TCP desde un NAS o un servidor Linux en la misma red. No es el camino más común, pero funciona.
RouterOS dejó de ser solo un sistema operativo de ruteo. Con containers y ROSE-storage, es una plataforma de servicios. La pregunta ya no es "¿qué router compro?", es "¿qué servicios necesito correr en mi red, y qué MikroTik los soporta?".