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
# 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
/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 — formatorx-rate/tx-ratees.10M/30M; supporta burst:10M/30M 50M/80M 10M/30M 10 0/0Mikrotik-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 bloccoFramed-IP-Address(IETF tipo 8): IP statico per la sessioneFramed-Pool(IETF tipo 88): nome del pool da cui assegnare l'IPSession-Timeout(IETF tipo 27): durata max sessione in secondiIdle-Timeout(IETF tipo 28): timeout inattività in secondiFilter-Id(IETF tipo 11): nome chain firewall dinamica da applicarePort-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.
# 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=""
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.
# 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.
# 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
/user) deve essere testato prima di mettere in produzione il login RADIUS.6. Riepilogo attributi vendor MikroTik (14988)
| Attributo | Tipo | Uso tipico |
|---|---|---|
| Mikrotik-Rate-Limit | 8 | Banda della sessione (rx/tx + burst) |
| Mikrotik-Group | 3 | Gruppo per login admin (full/write/read) |
| Mikrotik-Address-List | 19 | Aggiunge l'IP a una address-list (firewall/QoS) |
| Mikrotik-Recv-Limit | 5 | Byte totali ricevibili prima del blocco |
| Mikrotik-Xmit-Limit | 6 | Byte totali trasmettibili prima del blocco |
| Mikrotik-Recv-Limit-Gigawords | 10 | Estensione 32 bit alta per quote >4GB (rx) |
| Mikrotik-Xmit-Limit-Gigawords | 11 | Estensione 32 bit alta per quote >4GB (tx) |
| Mikrotik-Wireless-Comment | 21 | Commento mostrato sulla registrazione wireless |
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-Limitrestituito (rx/tx, non tx/rx) - Accounting assente sul server →
accounting=yesmancante o porta 1813 bloccata - CoA non funziona →
/radius/incoming accept=yesmancante, porta 3799 bloccata o NAS-IP non riconosciuto dal RADIUS
Continua con
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