Guida MikroTik
Utenti, RADIUS, IoT e containerAvanzato

Container su RouterOS v7: guida pratica e avvertenze sicurezza

Esegui container Docker/OCI su RouterOS v7 (ARM/ARM64/x86). Configura veth, montaggi, variabili d'ambiente e registry. Comprendi i rischi di sicurezza prima di procedere.

RouterOS v7.4+ supporta l'esecuzione di container OCI/Docker direttamente sul router (architetture ARM, ARM64 e x86). Questo apre scenari potenti — FreeRADIUS, Pi-hole, HomeAssistant, monitoring stack — ma introduce rischi di sicurezza significativi che devono essere compresi prima di procedere.

AVVISO SICUREZZA CRITICO: i container su RouterOS condividono il kernel del router. Un container compromesso o malevolo può ottenere accesso root al sistema operativo, installare backdoor permanenti, intercettare traffico di rete o modificare la configurazione. Abilitare i container SOLO su dispositivi con accesso fisico controllato, non esposti direttamente a Internet, con software proveniente da fonti fidate.

1. Requisiti e installazione pacchetto

  • RouterOS v7.4 beta o superiore
  • Architettura: ARM, ARM64 o x86 — NOT MIPS, SMIPS, TILE, PowerPC
  • Disco esterno consigliato: almeno 100 MB/s lettura/scrittura sequenziale, 10K IOPS random
  • RAM sufficiente per il container (Pi-hole ~100MB, FreeRADIUS ~50MB, HomeAssistant ~512MB)
  • Scaricare il pacchetto container da mikrotik.com/download (Extra Packages) e installarlo
  • Dopo /system/package/install e riavvio, il menu /container sarà disponibile

2. Configurare la rete del container (VETH)

Creare interfaccia virtuale e bridge per container
# Creare l'interfaccia veth (virtual ethernet pair)
/interface/veth/add \
  name=veth1 \
  address=172.17.0.2/24 \
  gateway=172.17.0.1

# Creare bridge dedicato ai container (isolamento dal resto della rete)
/interface/bridge/add name=bridge-container

# Assegnare IP al bridge (gateway per i container)
/ip/address/add \
  address=172.17.0.1/24 \
  interface=bridge-container

# Aggiungere veth1 al bridge
/interface/bridge/port/add \
  bridge=bridge-container \
  interface=veth1

# NAT per permettere ai container di uscire su Internet
/ip/firewall/nat/add \
  chain=srcnat \
  action=masquerade \
  src-address=172.17.0.0/24 \
  comment="Container NAT"

3. Esempio pratico: FreeRADIUS in container

Avviare FreeRADIUS come container per PPP/Hotspot
# Configurare il registry (Docker Hub)
/container/config/set \
  registry-url=https://registry-1.docker.io \
  tmpdir=disk1/tmp

# Variabili d'ambiente per FreeRADIUS
/container/envs/add \
  list=ENV_FREERADIUS \
  key=TZ \
  value="Europe/Rome"

# Montaggi per configurazione persistente
/container/mounts/add \
  list=MOUNT_FREERADIUS \
  src=disk1/freeradius/config \
  dst=/etc/freeradius

# Creare il container (immagine ARM64)
/container/add \
  remote-image=freeradius/freeradius-server:latest \
  interface=veth1 \
  root-dir=disk1/containers/freeradius \
  envlist=ENV_FREERADIUS \
  mounts=MOUNT_FREERADIUS \
  start-on-boot=yes \
  logging=yes \
  name=freeradius

# Attendere il download e avviare
/container/print
/container/start freeradius

# Accedere alla shell del container per configurarlo
/container/shell freeradius
Il download dell'immagine da Docker Hub può richiedere diversi minuti. Monitorare con /container/print — lo stato passa da extracting a stopped quando è pronto. Usare sempre /container/shell per ispezionare il container prima di esporlo alla rete.

4. Comandi di gestione container

Gestione ciclo di vita
# Vedere stato di tutti i container
/container/print

# Avvio, stop, riavvio
/container/start freeradius
/container/stop freeradius
/container/restart freeradius

# Terminazione forzata
/container/kill freeradius

# Aggiornare l'immagine (repull = ri-scarica dal registry)
/container/repull freeradius

# Rimuovere un container
/container/remove freeradius

5. Apps Menu — alternativa semplificata

Il menu Apps (/container/apps) offre un catalogo di applicazioni pre-configurate (Pi-hole, Grafana, HomeAssistant, ecc.) con setup automatico della rete e delle variabili d'ambiente. Consigliato per chi vuole la semplicità senza configurare manualmente veth e bridge.

  • Apps Menu: configurazione automatica, ideale per utenti meno esperti
  • Container Config manuale: controllo totale su rete, storage, variabili — per casi avanzati
  • Entrambi usano il medesimo motore container sottostante
  • RACCOMANDAZIONE: non eseguire container su router che espongono servizi pubblici (PPPoE server, VPN gateway) senza isolare la rete container con firewall dedicato
containerDockerOCIRouterOS containervethFreeRADIUS containerPi-hole containerHomeAssistantsicurezza containerregistro Docker

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS