Introduzione al RADIUS
Il BQN può essere configurato per ricevere messaggi RADIUS per supportare le seguenti funzionalità:
- Assegnazione di politiche tariffarie agli abbonati.
- Definizione dinamica di tali politiche di tasso.
- Gestione di quote di tempo e/o di volume.
- Assegnazione di un attributo RADIUS all'ID dell'abbonato BQN.
- Assegnazione di un attributo RADIUS al gruppo di abbonati BQN.
L'applicazione delle quote e delle politiche tariffarie avviene per indirizzo IP dell'abbonato, quindi il BQN deve avere visibilità sugli indirizzi IP degli abbonati, cioè non può esserci un NAT tra gli abbonati e il BQN perché i limiti tariffari saranno applicati per indirizzo IP dell'abbonato. È inoltre importante che gli abbonati wires siano collegati nel modo giusto (porte di accesso collegate dal lato degli abbonati).
Attualmente sono supportati solo i sottoscrittori di indirizzi IPv4 tramite RADIUS.
Il BQN può ricevere i messaggi RADIUS in due modi:
- Come server di accounting RADIUS.
- Come proxy RADIUS tra i client RADIUS e il server RADIUS (sia per l'autenticazione che per l'accounting RADIUS).
Il diagramma seguente riassume l'implementazione di un BQN come server di accounting RADIUS:
Il diagramma illustra in dettaglio gli IP e le porte utilizzati e il flusso della segnalazione RADIUS.
Allo stesso modo, per un'implementazione di BQN come proxy RADIUS:
Il BQN utilizza il suo indirizzo IP di gestione (lo stesso indirizzo della GUI) per ricevere e inviare messaggi RADIUS. Utilizza le seguenti porte:
- Porta UDP 1812 per l'autenticazione/autorizzazione RADIUS
- Porta UDP 1813 per la contabilità RADIUS
- Porta UDP per ricevere il messaggio di disconnessione per cambio di autorizzazione (1700 per impostazione predefinita, ma è possibile configurare altre porte come la 3799).
Le distribuzioni del server di accounting RADIUS e del proxy RADIUS presentano pro e contro. Il vantaggio principale della distribuzione dell'accounting RADIUS è che il BQN non si trova nel percorso di autenticazione RADIUS.
<div class="paragraph-highlight">RADIUS accounting server deployment is the preferred option.</div>
Tuttavia, la gestione delle quote richiede la distribuzione di un proxy RADIUS. Inoltre, l'implementazione del proxy RADIUS è un'opzione valida quando non è possibile utilizzare il server di accounting RADIUS (ad esempio, con i router Mikrotik in modalità DHCP).
Installazione del server di contabilità
Per integrare il BQN al RADIUS in modalità server Accounting, è necessario apportare modifiche alla configurazione del BQN e dei client RADIUS del NAS. L'immagine seguente mostra un riepilogo:
Il BQN riceverà i messaggi RADIUS Accounting: Accounting-Start, Accounting-Interim e Accounting-Stop.
Configurazione del BQN
Procedere come segue:
- Andare a Configurazione->RADIUS/REST/Fatturazione->RADIUS
- Impostare l'interruttore del servizio RADIUS su On.
- Selezionare l'opzione Server di contabilità nel campo RADIUSproxy/Server di contabilità .
- Aggiungere gli indirizzi IP di ciascun client RADIUS NAS, insieme al suo segreto. A tal fine, nella GUI di BQN, andare su Configurazione->RADIUS/REST/Fatturazione->RADIUS e cliccare su Aggiungi client...
La schermata successiva mostra un esempio:
È possibile aggiungere una descrizione opzionale per ogni client RADIUS NAS (la descrizione non può contenere spazi).
Configurazione dei client RADIUS del NAS
L'obiettivo è configurare il client RADIUS NAS per inviare copie dei messaggi di accounting RADIUS al BQN, come se il server BQN fosse un server RADIUS solo per l'accounting. I passaggi per ogni client RADIUS NAS sono:
- Configurare un server di backup RADIUS con l'indirizzo IP BQN e il segreto configurato in precedenza in BQN per questo NAS.
- Assicurarsi che la porta utilizzata sia UDP 1813.
- Impostare Aggiornamenti contabili intermedi, con un periodo intermedio non superiore a 5 minuti.
Le seguenti istruzioni si riferiscono a un server PPPoE Mikrotik, ma è possibile seguire passi simili per altri fornitori:
- Innanzitutto, la configurazione RADIUS esistente non deve essere modificata.
- Un nuovo server RADIUS sarà configurato con il BQN come server di Backup contabile. Per creare un nuovo server RADIUS, accedere alla sezione RADIUS e fare clic su "Aggiungi nuovo". Verrà visualizzata la seguente schermata:
Come si può osservare:
- Il servizio del router/switch deve essere abilitato (di solito ppp).
- In "Indirizzo" l'indirizzo IP sarà l'indirizzo IP di gestione del BQN (si può vedere quale sia nella GUI BQN Configurazione->Interfacce->Gestione).
- Il campo Backup di contabilità deve essere selezionato (altrimenti il BQN riceverebbe messaggi di autenticazione e autorizzazione RADIUS, che non supporta).
- La porta di contabilità viene lasciata al suo valore predefinito (1813).
- Opzionalmente, è possibile specificare un segreto (se utilizzato, deve corrispondere a quello configurato nella configurazione BQN RADIUS).
- Facoltativamente, un Commento può aggiungere una descrizione del server RADIUS (ad esempio, "BQN RADIUS").
Dopo aver creato il server RADIUS, l'elenco dovrebbe essere il seguente:
Assicurarsi che il servizio abbia RADIUS Interim Updates abilitato e con un periodo ragionevole (1-5 minuti). Ad esempio, per il PPP, nell'opzione PPP->Secrets->PPP Authentication & Accounting.
Il processo deve essere ripetuto in tutti i nodi il cui RADIUS deve essere inviato al BQN.
Distribuzione proxy
Per integrare il BQN al RADIUS in modalità proxy, è necessario apportare modifiche alla configurazione del BQN, dei client RADIUS NAS e del server RADIUS. L'immagine seguente mostra un riepilogo:
Il BQN riceverà:
- Messaggi di autenticazione RADIUS: Access-Request, Access-Accept, Access-Reject, Access-Challenge.
- Messaggi di contabilità RADIUS: Accounting-Start, Accounting-Interim e Accounting-Stop.
- Messaggio di disconnessione RADIUS (le richieste CoA non sono supportate).
Configurazione del BQN
Procedere come segue:
- Andare a Configurazione->RADIUS/REST/Fatturazione->RADIUS
- Impostare l'interruttore del servizio RADIUS su On.
- Selezionare l'opzione Proxy RADIUS nel campo Proxy RADIUS/Server di contabilità .
- Configurare l'indirizzo IP e il segreto del server RADIUS rispettivamente nei campi Indirizzo IP server e Segreto server .
- Aggiungere gli indirizzi IP di ciascun client RADIUS NAS, insieme al suo segreto. A tal fine, nella GUI di BQN, andare su Configurazione->RADIUS/REST/Fatturazione->RADIUS e cliccare su Aggiungi client...
- Configurare la porta di disconnessione utilizzata dal server RADIUS (1700 per impostazione predefinita).
La schermata successiva mostra un esempio:
Configurazione dei client RADIUS del NAS
I passaggi per ogni client RADIUS NAS sono i seguenti:
- Configurare l'indirizzo IP del BQN come server RADIUS primario, utilizzando il segreto configurato in precedenza nel BQN.
- Assicurarsi che le porte utilizzate siano UDP 1812 per l'autenticazione, UDP 1813 per la contabilità e UDP 1700 per ricevere le disconnessioni.
- Impostare il server RADIUS come backup RADIUS, se possibile.
Configurazione del server RADIUS
Procedere come segue:
- Configurare l'indirizzo IP del BQN come client RADIUS NAS valido, con un segreto uguale a quello precedentemente configurato nel BQN.
Gestione degli AVP RADIUS
Il BQN elabora alcuni AVP (Attribute-Value Pairs) di RADIUS per implementare le funzionalità proprie del BQN, come l'applicazione dei criteri tariffari, le quote o le informazioni per l'identificazione degli abbonati.
Per impostazione predefinita, il BQN reagisce a tutti gli AVP supportati (di cui si dirà più avanti in questo capitolo), ma è configurabile per ignorarne alcuni. In modalità di distribuzione proxy, il BQN trasmetterà gli AVP ignorati, ma non eseguirà nessun'altra azione. Una possibile ragione per ignorare gli AVP è quando se ne preferiscono altri con priorità inferiore. La sezione relativa ai tassi di policy fornisce un esempio concreto.
In modalità di distribuzione proxy BQN, il BQN può anche rimuovere alcuni AVP ricevuti in un messaggio Accept-Accept dal server RADIUS prima di inoltrarlo al client RADIUS NAS. Un possibile motivo per rimuovere gli AVP è quello di evitare che il client NAS cerchi di agire su di essi, interferendo con le azioni del BQN. La sezione delle quote fornisce un esempio concreto.
La configurazione della gestione degli AVP si trova in Configurazione->RADIUS/REST/Fatturazione->RADIUS, nel campo Selezione AVP.
Controllo della politica dei tassi
I messaggi RADIUS Accounting Start e Interim collegano un indirizzo IP dell'abbonato con un criterio tariffario dell'abbonato. L'indirizzo IP dell'abbonato viene ricevuto nel campo Framed-IP-Address. Esistono due modi per specificare il criterio tariffario dell'abbonato:
- Specificare i parametri della politica tariffaria degli abbonati (come il limite di velocità), dove l'attributo RADIUS fornisce la definizione della politica e il BQN crea una politica basata su tali informazioni.
- Specificare il nome del criterio della tariffa abbonati, dove l'attributo RADIUS contiene il nome del criterio da scegliere tra i criteri che fanno parte della configurazione BQN.
Sia il server di accounting che il proxy possono essere utilizzati per il controllo dei criteri tariffari.
AVP RADIUS supportati per i criteri di tariffa
I seguenti AVP RADIUS sono supportati per la gestione dei criteri tariffari. Sono elencati in ordine di priorità (i parametri valutati per primi hanno la precedenza):
Quando è presente più di un AVP, il criterio viene gestito in base all'ordine di priorità. Ad esempio, se sono presenti sia Mikrotik-Rate-Limit che Ascend-Data-Rate, Mikrotik-Rate-Limit avrà la precedenza. Inoltre, se nel messaggio Radius sono presenti sia Ascend-Data-Rate che Mikrotik-Address-List, Mikrotik-Address-List verrà ignorato. In ogni caso, è possibile utilizzare uno qualsiasi di questi elementi informativi, poiché il BQN può essere configurato per ignorare quelli con maggiore precedenza, come si può vedere nella sezione seguente.
Se un messaggio RADIUS non contiene nessuno degli AVP supportati, l'eventuale politica tariffaria dell'abbonato precedentemente assegnata all'indirizzo IP dell'abbonato in questo messaggio RADIUS verrà rimossa e ne verrà scelta una nuova in base alle regole della politica tariffaria dell'abbonato configurate dal BQN.
RADIUS fornisce la definizione dei criteri tariffari
In pratica non richiede alcuna configurazione specifica. Basta assicurarsi che in Configurazione-> RADIUS/REST/Fatturazione->RADIUS, i parametri RADIUS che specificheranno la politica non siano ignorati (non sono ignorati per impostazione predefinita). Una volta che il BQN inizia a ricevere i messaggi RADIUS, assegnerà a ogni abbonato (per il quale viene ricevuto un messaggio RADIUS) una politica tariffaria per abbonati con i limiti tariffari definiti nel messaggio RADIUS.
Il nome del criterio creato dinamicamente è composto in base al contenuto dell'AVP, con il seguente formato:
dove:
- RA-: un prefisso che indica che si tratta di un criterio creato da RADIUS.
- rx-rate: limite di velocità in uplink.
- tx-rate: limite di velocità in downlink.
- rx-burst-rate: velocità di burst in uplink.
- tx-burst-rate: velocità di burst in downlink.
- rx-burst-threshold: soglia di burst in uplink (velocità media da non superare prima di concedere un nuovo burst).
- tx-burst-threshold: soglia di burst in downlink (velocità media da non superare prima di concedere un nuovo burst).
- rx-burst-time: durata del burst di uplink, in secondi.
- tx-burst-time durata del burst di downlink, in secondi.
Le tariffe e le soglie includeranno le loro unità (K per Kbps, M per Mbps e G per Gbps).
Una volta che il BQN dispone delle politiche tariffarie, le applicherà in base all'indirizzo IP dell'abbonato. Per quanto riguarda l'applicazione nel NAS (ad esempio il server PPPoE), esistono tre opzioni:
- Rimuovere i limiti di velocità nel NAS (ad esempio, rimuovere le code Mikrotik).
- Fare in modo che il BQN applichi i limiti dei criteri ridotti di un fattore configurabile, in modo che il BQN sia il punto di applicazione, non il NAS. Il NAS rimane un backup con il limite di velocità completo, se l'applicazione del BQN fallisce.
- Fare in modo che il BQN rimuova il parametro ricevuto dal server RADIUS in modo che il NAS non lo riceva (disponibile solo nelle implementazioni di proxy RADIUS che utilizzano il parametro Mikrotik Rate-Limit).
Segue un esempio di riduzione del limite di polizza:
Ad esempio, con una percentuale dell'80%, un limite di 125 Mbps in RADIUS sarà convertito in un limite di 100 Mbps nel BQN (125*0,8).
La percentuale viene applicata a tutti i parametri della politica tariffaria dell'abbonato (limite di velocità, velocità di burst e soglia di burst).
Questo parametro può anche essere impostato su un valore più alto (ad esempio, 200%) per applicare limiti di velocità più elevati rispetto al NAS attuale, in modo da ottenere politiche di velocità assegnate agli abbonati, ma le velocità saranno comunque controllate dal NAS. Questo può essere utile durante i test iniziali dell'interfaccia RADIUS. Inoltre, è appropriato se si vuole solo che il BQN ottenga il criterio di velocità senza applicarlo (ad esempio per usarlo per selezionare un criterio di flusso appropriato).
Per evitare che Mikrotik-Rate-Limit raggiunga il NAS nelle implementazioni proxy:
RADIUS fornisce il nome del criterio di frequenza
Quando un parametro RADIUS supportato non segue il formato che consente al BQN di estrarre la definizione del criterio, il valore del parametro sarà interpretato come il nome di uno dei criteri tariffari degli abbonati configurati nel BQN.
Nel nostro esempio, viene utilizzato Mikrotik-Address-List, ma è simile ad altri parametri RADIUS supportati.
Innanzitutto, assicurarsi che il parametro non sia ignorato e che lo siano i parametri con priorità più alta:
Il nome del criterio configurato nel BQN si basa sul contenuto dell'AVP, con gli spazi sostituiti da trattini bassi ("_"). Questi sono i nomi da utilizzare quando si configurano le policy nel BQN. Con Mikrotik-Address-List, il contenuto AVP "GOLD PLAN" diventa "GOLD_PLAN".
I criteri specificati da RADIUS per ogni abbonato possono essere già configurati nel BQN, nel qual caso verranno semplicemente assegnati. Tuttavia, alcuni nomi di criteri specificati in Radius potrebbero non esistere ancora nel BQN.
In Status->Subscribers->Subscriber Attributes, gli abbonati associati a un criterio non definito sono contrassegnati in rosso nella colonna RATE-POLICY.
Facendo clic sul nome del criterio non definito si accede a una pagina per la sua configurazione, con il nome giusto già compilato.
Il processo viene ripetuto per ogni politica tariffaria degli abbonati in attesa di configurazione.
Man mano che si ricevono le assegnazioni RADIUS, il contatore SUBS_PROVISIONED cresce e, man mano che si riceve traffico di abbonati, il contatore "SUBS-ACTIVE" aumenta.
Per accedere all'elenco degli abbonati associati a un criterio tariffario via RADIUS, andare su Stato->Abbonati->Attributi abbonati.
Controllo dello stato dei criteri tariffari RADIUS
Status->Subscribers->Subscriber Attributes mostra una tabella con tutti gli abbonati in cui è possibile vedere la politica tariffaria assegnata( colonnaRATE-POLICY ) e se proviene da RADIUS(ASSIGNED-BY che mostra radius).
Stato->Politiche->Politiche tariffarie mostra una tabella con tutte le politiche tariffarie. Quelle create da RADIUS avranno un "no" nella colonna CONFIGURED . SUBS-PROVISIONED indica quanti abbonati sono associati a questa politica e SUBS-ACTIVE quanti di essi sono attualmente attivi (con traffico).
Gestione delle quote di tempo e di volume
Le quote di tempo e volume sono ricevute dal server RADIUS Access Accept mesage e associate all'indirizzo IP dell'abbonato ricevuto nel campo Framed-IP-Address.
Per la gestione delle quote è necessario utilizzare la distribuzione proxy RADIUS.
Segue una tabella con gli AVP RADIUS supportati per la gestione delle quote (ricevuti in AccesssAccept dal server RADIUS). Questi AVP sono ignorati per impostazione predefinita, quindi deselezionare la casella di controllo Ignora per configurare il BQN in modo che li utilizzi:
Il BQN segnala l'utilizzo nelle sue richieste intermedie di accounting, utilizzando i seguenti parametri RADIUS:
Si noti che il traffico uplink e downlink sono segnalati in modo combinato utilizzando la stessa coppia di AVP.
Poiché BQN è in modalità proxy, il suo conteggio dei volumi determina l'applicazione delle quote di volume. Ad esempio, è possibile configurare le regole di BQN in base all'ID dell'abbonato o al gruppo (vedere la sezione Identificazione dell'abbonato) in modo che alcune applicazioni siano escluse dal conteggio.
Nella maggior parte dei casi è importante che la quota sia applicata solo dal BQN. Per ottenere ciò, configurare il BQN in modo che gli AVP relativi alla quota siano rimossi sia dal messaggio Access-Accept trasmesso al client NAS che da Accounting-Requests proveniente dal client NAS.
Alcuni NAS (ad esempio Mikrotik) possono inviare un valore di Session-Timeout pari a zero, anche quando nessun Session-Timeout è stato restituito dal messaggio Access-Accept. Questo verrà considerato come una quota di tempo esaurita e l'abbonato verrà bloccato. Per evitare ciò, è possibile impostare il BQN in modo che ignori il valore zero nell'AVP Session-Timeout selezionando Ignore in Session-Timeout-If-Zero:
Controllo dello stato delle quote RADIUS
Status->Subscribers->Subscriber Attributes mostra una tabella con tutti gli abbonati in cui è possibile vedere quali abbonati hanno una quota( colonnaQUOTA con enabled). Facendo clic su enabled si accede ai dettagli della quota.
Status->Subscribers->Subscriber Quotas mostra una tabella con tutti i dettagli della quota. Indica se la quota è esaurita (QUOTA-BLOCK yes), il limite di tempo della quota, il limite di volume della quota in GB e la quantità di volume della quota consumata.
Identificazione dell'abbonato (ID abbonato)
Le informazioni RADIUS possono essere la fonte delle informazioni di identificazione degli abbonati.
Per l'identificazione degli abbonati è possibile utilizzare sia il server di accounting che il proxy.
Il BQN conserva un ID abbonato per tenere traccia dell'abbonato durante i cambi di indirizzo IP. L'origine di questo ID può essere ricavata da RADIUS. L'elenco dei parametri RADIUS supportati è il seguente:
In Configurazione->RADIUS/REST/Billling->RADIUS, andare al campo Sorgente ID abbonato e selezionare il valore appropriato (lasciare invariato per impostazione predefinita).
Per controllare le informazioni sull'ID dell'abbonato, andare su Stato->Abbonati->Attributi abbonati e vedere la colonna SUBSCRIBER-ID.
Gruppo di abbonati
È possibile assegnare gli abbonati ai gruppi di abbonati in base alle informazioni RADIUS. È possibile visualizzare le metriche suddivise per gruppi di abbonati o definire regole di policy che trattino questi gruppi in modo diverso (ad esempio, far sì che gli abbonati di un gruppo con un servizio non vengano considerati come parte delle quote di volume degli abbonati).
I parametri RADIUS che possono essere fonte di gruppi di abbonati sono elencati nella tabella seguente:
Sono ignorati per impostazione predefinita, quindi deselezionate la casella di spunta Ignora per configurare il BQN in modo che li utilizzi, come mostrato nella schermata successiva per l'AVP Filter-Id:
Una volta abilitato, gli abbonati saranno aggiunti a un gruppo che prende il nome dal loro valore Filter-Id. Se RADIUS invia diverse istanze dell'AVP Filter-Id, l'abbonato verrà aggiunto a più gruppi, uno per ogni valore Filter-Id, fino a un massimo di 8 gruppi.
Per controllare le informazioni sul gruppo di abbonati, andare su Stato->Abbonati->Attributi abbonati e vedere la colonna GRUPPI DI ABBONATI .
Stato->Abbonati->Gruppi di abbonati mostra l'elenco dei gruppi di abbonati e il numero di abbonati assegnati (provisioning) e il numero di quelli attivi.
Se non si vuole che gli abbonati siano raggruppati tramite RADIUS, impostare tutti i relativi AVP come ignorati:
Abilitazione/disabilitazione dell'ottimizzazione ACM
L'ACM è abilitato per impostazione predefinita per tutti i criteri dinamici RADIUS. Per abilitare o disabilitare l'ACM, modificare il campo "Gestione automatica delle congestioni" nella configurazione di RADIUS/REST/Fatturazione->RADIUS:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.