In breve: il device-mode è un lucchetto che RouterOS mette su alcune funzioni potenti (container, bandwidth test, sniffer, proxy…): restano spente finché non le accendi con una conferma fisica sul router — un tasto o un ciclo di alimentazione. Serve a evitare che chi entra da remoto, anche con la password di amministratore, usi quelle funzioni per attaccare altri. In questa scheda vediamo come è fatto, come si legge e come si cambia senza restare chiusi fuori.
A cosa serve il device-mode?
Serve a limitare cosa si può fare sul router anche avendo le credenziali di amministratore. È una seconda serratura, pensata per un caso preciso: un intruso che riesce ad entrare da remoto e vorrebbe trasformare il tuo router in una base per colpire altri — generando traffico, sniffando, aprendo un proxy. Con il device-mode quelle funzioni non si accendono via software: chiedono una prova che qualcuno sia fisicamente davanti all’apparato.
È una funzione introdotta con RouterOS 7.17: dalle versioni successive arriva già preimpostata di fabbrica. I router più vecchi partono tutti in modalità advanced, la più permissiva.
Come lo guardo?
Con un solo comando vedi la modalità attiva e lo stato di ogni funzione:
/system device-mode print
mode: advanced
allowed-versions: 7.13+,6.49.8+
flagged: no
bandwidth-test: yes
container: no
sniffer: yes
...
attempt-count: 0
Le righe yes/no dicono quali funzioni sono ammesse. flagged è lo stato “sotto osservazione” (ne parliamo sotto), e attempt-count conta quanti tentativi di modifica hai fatto senza confermarli.
Cosa sono le quattro modalità?
Ogni modalità è un elenco diverso di funzioni ammesse. Non esiste una modalità che le accenda tutte: alcune (generatore di traffico, container, partizioni) restano spente sempre, finché non le abiliti a mano. Le quattro modalità sono:
advanced— la più permissiva, pensata per gli apparati di fascia alta. Lascia quasi tutto acceso; tiene spenti solotraffic-gen,container,partitions,install-any-versione le impostazionirouterboard.home— la più chiusa, pensata per i router domestici. Spegne una quindicina di funzioni, tra cuischeduler,proxy,hotspot,sniffer,bandwidth-test,socks.basic— una via di mezzo per tutti gli altri apparati: lasciafetch,scheduler,sniffer,romon, ma tiene spentibandwidth-test,hotspot,proxy,socks,zerotier.rose— comeadvanced, ma pensata per gli apparati con dischi: è l’unica che ammette i container di fabbrica.
Puoi anche ritoccare la singola funzione senza cambiare modalità (per esempio accendere solo container su una modalità che lo tiene spento): ogni ritocco, però, richiede la stessa conferma fisica.
Come si cambia (senza restare chiusi fuori)?
La modifica si chiede via software, ma non ha effetto finché non la confermi sull’apparato. Esempio: accendere i container.
/system device-mode update container=yes
update: please activate by turning power off or pressing
reset or mode button in 5m00s
Il router ora aspetta. Hai cinque minuti (è il activation-timeout di default, regolabile da 10 secondi a 1 giorno) per fare una di queste cose:
- premere il tasto reset o mode dell’apparato, oppure
- togliere e ridare alimentazione (un “cold reboot”).
Alla conferma, il router si riavvia e la modifica diventa attiva. Se non confermi entro il tempo, la richiesta decade e non cambia niente. Su una macchina virtuale (un CHR) la “conferma fisica” è un reset della VM dall’hypervisor: serve comunque un accesso sotto RouterOS, non dentro.
⚠️ Attenzione: i tentativi non confermati si contano, e dopo tre il router si blocca. Ogni update lasciato scadere fa salire attempt-count. Superati i tre, RouterOS rifiuta altre modifiche con un messaggio esplicito:
update: too many unsuccessful attempts, turn off power
or reboot ... to reset attempt-count
Il contatore si azzera solo con un ciclo di alimentazione o la pressione del tasto. È voluto: impedisce a uno script di provare all’infinito e di sfruttare un tuo riavvio per far passare una modifica di nascosto.
Cosa succede se provo a usare una funzione spenta?
Il comando viene rifiutato subito, con un errore chiaro:
/tool sniffer quick
failure: not allowed by device-mode
Puoi persino aggiungere la configurazione di una funzione disabilitata, ma resta inerte: in print compare con una nota “inactivated, not allowed by device-mode” finché non abiliti quella funzione.
Cos’è la lista “allowed-versions”?
È una protezione contro i declassamenti. La riga allowed-versions elenca le versioni di RouterOS che MikroTik considera sicure. Non dipende dalla versione installata: è uno strato a parte, che impedisce a un attaccante di riportare passo passo il router a una release vecchia e vulnerabile per poi colpirla. Quando aggiorni a una versione con una lista più nuova, la vecchia viene sovrascritta. La barriera si abbassa solo se accendi install-any-version — cosa che, di norma, non vuoi.
Cos’è lo stato “flagged”?
È l’allarme antimanomissione. All’avvio RouterOS analizza la configurazione in cerca di tracce di accessi non autorizzati; se ne trova, disattiva la configurazione sospetta e imposta flagged: yes.
/system device-mode print
mode: advanced
flagged: yes
Da quel momento il router continua a funzionare, ma blocca le azioni più delicate: bandwidth test, generatore di traffico, sniffer, e la creazione di nuove regole per scheduler, socks, pptp, l2tp, ipsec, proxy, smb (cancellarle o disabilitarle si può ancora). Il messaggio è inequivocabile:
failure: configuration flagged, check all router configuration
for unauthorized changes and update device-mode
Per uscirne si dà /system device-mode update flagged=no con la solita conferma fisica.
⚠️ Attenzione: se il router è stato “flagged”, trattalo come compromesso. RouterOS ha disattivato le regole che gli sono sembrate malevole, ma prima di uscire dallo stato flagged controlla tutta la configurazione a mano, cambia tutte le password e aggiorna all’ultima versione. Lo stato flagged è un sintomo, non la malattia.
Il device-mode sopravvive a un reset?
Sì: un reset-configuration riporta la configurazione ai valori di fabbrica, ma non cambia il device-mode — resta quello impostato. Il device-mode si tocca solo con la procedura confermata vista sopra, oppure, dalla versione 7.22, durante un’installazione con Netinstall o FlashFig, dove si possono preimpostare le funzioni.
Domande frequenti
Ho la password di admin: perché non riesco ad attivare i container da remoto?
Perché è esattamente ciò che il device-mode impedisce. La password da sola non basta: serve una conferma fisica (tasto o alimentazione) entro il timeout. È la protezione pensata contro chi entra da remoto con le tue credenziali.
Qual è la differenza tra “spento dal device-mode” e “non configurato”?
Una funzione spenta dal device-mode non parte nemmeno se la configuri: resta inerte e segnalata come tale. “Non configurato” vuol dire solo che non l’hai ancora impostata, ma potresti. Il device-mode agisce un gradino più in basso.
Ho lasciato scadere qualche tentativo e ora non mi fa più cambiare niente. Cosa faccio?
Hai superato i tre tentativi non confermati. Fai un ciclo di alimentazione (o premi il tasto quando appare l’avviso): il contatore attempt-count si azzera e puoi riprovare, stavolta confermando entro il tempo.
Qual è la modalità “giusta”?
La più chiusa che ti lascia lavorare. Se un apparato non ti serve come server hotspot o proxy, una modalità che tiene spente quelle funzioni è superficie d’attacco in meno. Accendi solo ciò che usi davvero, e solo quando ti serve.



