Guida MikroTik
Utenti, RADIUS, IoT e containerIntermedio

RADIUS: configurazione client, attributi e RadSec

Configura RouterOS come client RADIUS per PPP, Hotspot e login admin. Panoramica degli attributi vendor MikroTik, accounting, disconnessione dinamica e RadSec TLS.

RADIUS (Remote Authentication Dial-In User Service, RFC 2865) è il protocollo standard per autenticazione, autorizzazione e accounting (AAA) nei router. RouterOS v7 può agire da client RADIUS per PPP, Hotspot, login amministrativo, wireless, DHCP, IPsec e Dot1X.

1. Aggiungere un server RADIUS

Configurazione base /radius
# Server per PPP e Hotspot
/radius add \
  name=radius-principale \
  service=ppp,hotspot \
  address=10.0.0.10 \
  secret=S3gr3t0C0mpl3ss0 \
  authentication-port=1812 \
  accounting-port=1813 \
  timeout=3000 \
  src-address=10.0.0.1 \
  disabled=no

# Server secondario di backup (stesso secret, IP diverso)
/radius add \
  name=radius-backup \
  service=ppp,hotspot \
  address=10.0.0.11 \
  secret=S3gr3t0C0mpl3ss0 \
  timeout=3000

# Abilitare accounting globale
/radius/incoming set accept=yes port=1700
L'ordine degli elementi in /radius conta: RouterOS li prova in sequenza. Il server di backup deve stare dopo quello principale. Con src-address si fissa l'IP sorgente dei pacchetti RADIUS — utile se il router ha più interfacce e il firewall del server RADIUS filtra per IP.

2. Attributi vendor MikroTik principali

  • Mikrotik-Rate-Limit (Vendor-ID 14988, tipo 8): limita banda — formato rx-rate/tx-rate es. 10M/30M; supporta burst: 10M/30M 50M/80M 10M/30M 10 0/0
  • Mikrotik-Group (tipo 3): assegna il gruppo utente locale (per login admin via RADIUS)
  • Mikrotik-Recv-Limit / Mikrotik-Xmit-Limit (tipi 5/6): byte totali ricevuti/trasmessi prima del blocco
  • Framed-IP-Address (IETF tipo 8): IP statico per la sessione
  • Framed-Pool (IETF tipo 88): nome del pool da cui assegnare l'IP
  • Session-Timeout (IETF tipo 27): durata max sessione in secondi
  • Idle-Timeout (IETF tipo 28): timeout inattività in secondi
  • Filter-Id (IETF tipo 11): nome chain firewall dinamica da applicare
  • Port-Limit (IETF tipo 62): sessioni simultanee permesse per username

3. RadSec — RADIUS cifrato via TLS

Lo standard RADIUS tradizionale usa UDP non cifrato. RadSec (RFC 6614) incapsula RADIUS su TCP/TLS, garantendo confidenzialità e integrità. Obbligatorio quando il server RADIUS non è nella stessa rete locale del router.

Configurare RadSec
# Il shared-secret per RadSec DEVE essere letteralmente "radsec"
/radius add \
  service=ppp \
  address=radius.azienda.it \
  secret=radsec \
  protocol=radsec \
  certificate=client-cert \
  authentication-port=2083 \
  accounting-port=2083

# Importare i certificati (CA + client)
/certificate import file-name=ca.crt passphrase=""
/certificate import file-name=client.crt passphrase=""
/certificate import file-name=client.key passphrase=""
Per RadSec assicurarsi che: (1) il Common Name del certificato del server corrisponda al suo hostname/IP, (2) la CA sia importata come trusted su entrambi i lati, (3) la porta 2083 TCP sia aperta nel firewall. Il parametro require-message-auth=yes è raccomandato per prevenire attacchi di blast radius.

4. Disconnessione dinamica (DM/CoA)

Con /radius/incoming set accept=yes RouterOS accetta messaggi Disconnect-Message (DM) sulla porta UDP 3799 dal server RADIUS, permettendo di terminare una sessione da remoto (es. quando un cliente non paga). Questo è il meccanismo che il gestionale usa per sospendere i morosi senza loggarsi sul router.

Abilitare la ricezione di Disconnect/CoA
# Porta standard 3799/udp per CoA/Disconnect
/radius/incoming set accept=yes port=3799

# Consigliato: limitare in firewall la sorgente alla sola IP del RADIUS
/ip/firewall/filter add \
  chain=input protocol=udp dst-port=3799 \
  src-address=10.0.0.10 action=accept \
  comment="RADIUS CoA dal server fidato"
/ip/firewall/filter add \
  chain=input protocol=udp dst-port=3799 action=drop \
  comment="Blocca CoA da sorgenti non fidate"

5. Login amministrativo del router via RADIUS

RADIUS non serve solo per i clienti: si può centralizzare anche il login degli amministratori al router. Utile in un WISP con più tecnici: si revoca un accesso dal RADIUS e l'ex-collaboratore perde l'accesso a tutti i router contemporaneamente.

Abilitare login admin via RADIUS
# Permettere al servizio 'login' di usare RADIUS
/radius add service=login address=10.0.0.10 secret=S3gr3t0Login

# Abilitare l'uso del RADIUS per l'autenticazione utente (con fallback locale)
/user/aaa set use-radius=yes default-group=read

# Il RADIUS deve restituire Mikrotik-Group per mappare il gruppo:
#   Mikrotik-Group = "full"  -> accesso completo
#   Mikrotik-Group = "write" -> lettura/scrittura senza policy critiche
#   Mikrotik-Group = "read"  -> sola lettura
Tenere SEMPRE almeno un utente locale di emergenza con password forte: se il RADIUS è irraggiungibile e il fallback non è configurato bene, si rischia di restare chiusi fuori dal router. Il fallback locale (/user) deve essere testato prima di mettere in produzione il login RADIUS.

6. Riepilogo attributi vendor MikroTik (14988)

AttributoTipoUso tipico
Mikrotik-Rate-Limit8Banda della sessione (rx/tx + burst)
Mikrotik-Group3Gruppo per login admin (full/write/read)
Mikrotik-Address-List19Aggiunge l'IP a una address-list (firewall/QoS)
Mikrotik-Recv-Limit5Byte totali ricevibili prima del blocco
Mikrotik-Xmit-Limit6Byte totali trasmettibili prima del blocco
Mikrotik-Recv-Limit-Gigawords10Estensione 32 bit alta per quote >4GB (rx)
Mikrotik-Xmit-Limit-Gigawords11Estensione 32 bit alta per quote >4GB (tx)
Mikrotik-Wireless-Comment21Commento mostrato sulla registrazione wireless
Attributi Vendor-Specific MikroTik più usati nei WISP

7. Troubleshooting RADIUS

  • Timeout sale → il RADIUS non risponde: verificare raggiungibilità, porte 1812/1813 e firewall del server
  • bad-replies sale → shared secret diverso tra router e RADIUS, oppure metodo auth non concordato
  • Cliente accettato ma banda sbagliata → controllare il formato di Mikrotik-Rate-Limit restituito (rx/tx, non tx/rx)
  • Accounting assente sul server → accounting=yes mancante o porta 1813 bloccata
  • CoA non funziona → /radius/incoming accept=yes mancante, porta 3799 bloccata o NAS-IP non riconosciuto dal RADIUS
RADIUSFreeRADIUSRadSecRFC 2865Mikrotik-Rate-LimitRADIUS accountingDisconnect MessageRADIUS attributesauthenticationauthorization

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