Rete e RADIUS
Dalla tariffa dritto a RADIUS. Senza accedere ai router.
Imposti i parametri del piano sul servizio e django-nms genera le voci FreeRADIUS per MikroTik e Cisco ASR più i file di configurazione per router Linux. Distribuzione via SSH, con audit e salvavita.
- PPPoE e autenticazione MAC in un unico generatore
- Sessioni aggiornate ogni 60 secondi da ogni router di bordo
- Blocco rigido e morbido in un'azione dall'elenco host
Tre piattaforme, un modello dati
L'host dell'abbonato (login PPPoE, indirizzi IP, velocità, limiti, blocchi) è definito una volta. Il formato di uscita dipende dalla tua rete.
-
MikroTik RouterOS
Attributi Mikrotik-Rate-Limit (giorno/notte) e Mikrotik-Address-List ripetuti (es. business, nolimit). Sessioni PPP attive e address-list lette via SSH.
-
Cisco ASR 1001-X
Cisco-Service-Info per la QoS su IOS-XE ISG e IOS-XR BNG. Un parser di «show subscriber session» abbina le sessioni per login o IP.
-
Router Linux
Export di client.cfg e ipforward.cfg (NAT 1:1) per gli script DHCP, NAT e tc. Distribuzione per router tramite jump host.
-
FreeRADIUS files
Voci users generate: Cleartext-Password, Framed-IP-Address, attributi vendor. Autenticazione MAC in entrambe le notazioni. Server riavviati uno alla volta.
-
Salvavita di distribuzione
Rifiuta una configurazione vuota o che elimina più del 10% degli host. Lock Redis, debounce, log di ogni distribuzione.
-
In roadmap
CoA e API MikroTik
Cambi di velocità senza riconnessione PPPoE (RADIUS CoA) e scrittura di code/secret tramite API RouterOS. In roadmap.
Sessioni live: chi è online, su quale router
Ogni 60 secondi un'attività in background interroga i router di bordo abilitati (MikroTik: /ppp active, Cisco: show subscriber session), abbina le sessioni agli host per login e poi per indirizzo IP, e registra l'ultimo avvistamento. La dashboard mostra le sessioni per router, gli host attivi e bloccati per motivo. L'elenco host ha un badge online/offline e un interruttore elenco/mappa.
- Router e jump host configurati nel pannello, chiavi SSH solo su disco
- Comando di lettura sessioni personalizzato, validato contro una lista consentita
- Un'azione «Sonda» salva l'output grezzo del router per la diagnostica
Blocco rigido e morbido
Un host ha un motivo di blocco (pagamento, DDoS, manuale) e una modalità: rigido rimuove la voce RADIUS, morbido lascia qualche centinaio di kb/s perché il cliente veda un messaggio e possa pagare. Una data di scadenza disattiva l'host automaticamente ogni ora con motivo «pagamento». Ogni modifica avvia una distribuzione della configurazione, con debounce per raggruppare i clic consecutivi.
- Azioni massive: attiva, disattiva, blocca in modo morbido
- Blocco automatico dopo la scadenza della fattura: in roadmap, tutti i mattoni esistono
- Pagina di reindirizzamento per gli utenti bloccati (captive portal): in roadmap
IPAM: pool di indirizzi con mappa di occupazione
Una rete IP ha indirizzo e maschera, gateway, interfaccia o VLAN, DNS, dominio, intervallo DHCP. Un host appartiene a una rete per indirizzo, senza collegamenti manuali. La vista mappa indirizzi mostra i ruoli (rete, broadcast, gateway, DHCP, host), gli host assegnati, gli indirizzi liberi e un piano di compattazione.
- Validazione delle sovrapposizioni tra reti
- Prossimo indirizzo libero in un clic
- IPv6: in roadmap
Domande tecniche
RADIUS è basato su SQL?
No. django-nms genera voci per il modulo files di FreeRADIUS e le distribuisce via SSH. Un modello semplice e verificabile, senza database aggiuntivo. RADIUS SQL e accounting sono in roadmap.
Il sistema scrive la configurazione su MikroTik?
Oggi legge sessioni e address-list via SSH e governa il traffico tramite attributi RADIUS. Le scritture tramite API RouterOS (code, secret, hotspot) sono in roadmap.
Funziona con un BNG diverso da Cisco ASR?
Gli attributi RADIUS sono standard, quindi l'autenticazione funziona. Il parser delle sessioni è costruito per IOS-XE e IOS-XR. Altre piattaforme si aggiungono su richiesta.
Mostraci la tua topologia
In una demo tecnica ripercorriamo i tuoi router di bordo e mostriamo come sarebbe il provisioning.