Documentazione BQN
Icona di chiusura

Quote di abbonamento

All'indirizzo IP di un abbonato possono essere associate quote di tempo e di volume. Una volta esaurita una quota, l'indirizzo IP dell'abbonato viene limitato (per impostazione predefinita, il traffico viene bloccato). A un indirizzo IP possono essere associate contemporaneamente quote di tempo e di volume, nel qual caso la restrizione avviene quando una delle quote è esaurita.

Le quote sono assegnate agli indirizzi IP. Se un abbonato cambia l'indirizzo IP con uno nuovo, questo nuovo indirizzo IP non avrà una quota associata fino a quando non ne verrà fornita una tramite l'API REST.

Una quota temporale garantisce l'accesso per un periodo. Esistono due modi per definire una quota temporale:

  • Come tempo assoluto. Ad esempio, 05/23/2023 (23maggio 2023).
  • Come estensione della data attuale (ad esempio, 15 giorni da adesso).

Una quota volume garantisce l'accesso a un volume di traffico. Esistono due modi per definire una quota temporale:

  • Come quantità assoluta. Ad esempio, 10 GB.
  • Come estensione della quantità (ad esempio, 5 GB in aggiunta ai 10 esistenti).

 Configurazione generale della quota

Per configurare gli aspetti generali del comportamento delle quote, andare su Stato->Abbonati->Quota abbonati ed estendere Parametri avanzati delle quote.

Lo stato della quota iniziale dell'abbonato definisce cosa fare con gli indirizzi IP senza quota assegnata:

  • Quando è impostato su Disattivato (l'impostazione predefinita), il traffico è consentito, senza restrizioni.
  • Se impostato su bloccato, il traffico sarà bloccato fino all'assegnazione di una quota valida.

I campi URL di reindirizzamento specificano i siti a cui reindirizzare il traffico HTTP quando un indirizzo IP è bloccato (captive portal) a causa dell'esaurimento della quota. Esiste un campo per il reindirizzamento del traffico IPv4 e un altro per il traffico IPv6. I due campi possono avere lo stesso URL se si utilizza lo stesso captive portal sia per IPv4 che per IPv6.

  • Se il campo è vuoto, non viene tentato alcun reindirizzamento.
  • Se viene specificato un URL, viene tentato un reindirizzamento a tale URL per la versione IP corrispondente del traffico HTTP.
I reindirizzamenti HTTPS non sono supportati, perché i browser moderni sono protetti contro i tentativi di reindirizzamento per motivi di sicurezza.

Si noti che, sebbene siano supportati solo i reindirizzamenti HTTP, il sito su cui reindirizzare il traffico può essere HTTPS, e molto spesso lo è (questo è ciò che riflette la schermata precedente, in cui l'URL utilizzato è https://my-captive-portal.com).

Se si utilizzano i reindirizzamenti HTTP, è necessario un criterio per consentire il traffico verso i siti di reindirizzamento (e le query DNS associate). Per maggiori dettagli, vedere la sezione Criteri del portale vincolato.

Associare le quote agli IP degli abbonati

Per associare una quota a un indirizzo IP di un abbonato, andare in Stato->Abbonati->Quota abbonati. Fare clic su Aggiungi quota a un nuovo abbonato... Si può accedere anche a Configurazione->Quota abbonati.figurazione->Quota abbonati.

L'esempio seguente definisce una quota temporale come tempo assoluto:

È anche possibile definire la quota di tempo relativa alla data e all'ora corrente (+1 mese nell'esempio):

Per definire una quota di volume, definire innanzitutto un valore assoluto (20 GB nell'esempio):

Una volta creata, una quota di volume può essere estesa modificando la quota e utilizzando l'opzione Aumenta il limite di questa quantità (5 GB nell'esempio seguente):

Le quote di tempo e di volume possono coesistere e in questo caso il traffico dell'abbonato sarà limitato quando una delle due si esaurisce.

È anche possibile modificare la quota e rimuovere il componente tempo o volume premendo rispettivamente il pulsante Rimuovi limite tempo o Rimuovi limite volume.

Controllo dello stato delle quote

Status->Subscribers->Subscriber Quotas mostra le quote e, nel caso di quote di volume, quanto è già stato consumato.

Nell'esempio precedente, ci sono tre quote di volume e due quote temporali (si noti che il mese è indicato prima del giorno, quindi 9/29/2023 è il29settembre 2023). Per le quote di volume, viene mostrato anche il volume già consumato (ad esempio, 10.0.0.3 ha una quota di 15 GB e ha consumato 20 MB).

Rallentamento quando la quota è esaurita

Per impostazione predefinita, il traffico viene completamente bloccato quando la quota è esaurita, ma è possibile limitare il traffico a una velocità ridotta mentre la quota non viene nuovamente ricaricata.

L'esempio seguente modifica il criterio flow-default, in modo da rallentare il traffico quando la quota è esaurita:

Politica del portale vincolato

Nella sezione relativa alla configurazione generale della quota, abbiamo visto come definire un reindirizzamento a un captive portal quando la quota è esaurita. L'implementazione del captive portal richiede che il traffico verso di esso non sia soggetto alla quota. Questo viene implementato utilizzando le politiche di flusso.

Nell'esempio seguente, due categorie di traffico devono essere escluse dal controllo delle quote (policy flow-no-quota):

  • Traffico diretto al portale vincolato.
  • Traffico verso alcuni server DNS specifici (da utilizzare per risolvere l'URL del captive portal).

Il criterio non interessato dall'esaurimento delle quote ha l'interruttore delle quote impostato su off:

Quote gestite tramite API REST

Oltre alla GUI, è possibile utilizzare l'API REST di BQN per gestire le quote di tempo e di volume.

Per maggiori dettagli, consultare il riferimento all'API REST.

Quota tempo

Esistono due modi per definire una quota di tempo:

  • Come tempo assoluto: come tempo POSIX, definito come il numero di secondi trascorsi dalla mezzanotte del Tempo Universale Coordinato (UTC) del 1° gennaio 1970. Ad esempio, 1672531200 è l'ora UTC di domenica 1 gennaio 20230:00:00. L'ora assoluta è UTC, per cui è necessario convertire l'ora locale in UTC quando si imposta la quota.
  • Come secondi relativi all'ora corrente: ad esempio, una quota di 3600 secondi sarà esaurita tra un'ora.

Per attivare una quota di tempo di un'ora:


curl -k -u myuser:mypassword -X POST https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"timeRemaining": 3600}}'

Estendere la quota a due ore a partire da ora:


curl -k -u myuser:mypassword -X PUT https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"timeRemaining": 7200}}'

Per rimuovere la quota, in modo che l'abbonato non sia più soggetto a una quota di tempo:


curl -k -u myuser:mypassword -X PUT https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"time": null}}'

Quota di volume

Una quota di volume garantisce l'accesso a un numero di Kbyte di traffico. Secondo la convenzione BQN, 1 Kbyte corrisponde a 1000 byte.

Per abilitare una quota di volume di 1 GB:


curl -k -u myuser:mypassword -X POST https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"volume": 1000000}}'

Per estendere la quota aggiungendo 500 MB:


curl -k -u myuser:mypassword -X PUT https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"volumeIncrement": 500000}}'

Per rimuovere la quota, in modo che l'abbonato non sia più soggetto a una quota di volume:


curl -k -u myuser:mypassword -X PUT https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"volume": null}}'

Quote di volume e di tempo allo stesso tempo

Per abilitare una quota di volume di 1 GB e 1 mese (qualunque sia la prima volta):


curl -k -u myuser:mypassword -X POST https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"volume": 1000000, "timeRemaining": 2678400}}'

Per estendere la quota del volume in 500 MB, mantenendo invariata la quota temporale:


curl -k -u myuser:mypassword -X PUT https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"volumeIncrement": 500000}}'

Per rimuovere entrambe le quote, in modo che l'abbonato non sia più soggetto ad esse:


curl -k -u myuser:mypassword -X PUT https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35 -H "Content-Type: application/json" --data '{"quota": {"volume": null, "time": null}}'

Controllo dello stato delle quote

È possibile controllare lo stato delle quote anche attraverso l'API REST:


curl -k -u myuser:mypassword -X GET https://192.168.0.121:3443/api/v1/subscribers/10.0.0.35

{
  "subscriberIp": "10.0.0.35",
  "quota" : {
    "volume" : 1000000000,
    "volumeConsumed" : 647474875
    "time" : 1676628377,
    "timeRemaining" : 5364849
  },
  "policyRate" : ""
}

 

Quote gestite da RADIUS

BQN nell'implementazione del proxy RADIUS può gestire quote di volume e di tempo. Per maggiori dettagli, consultare il capitolo RADIUS .

Tag di stile dei documenti
[.p-highlight] Lorem ipsum... [.p-highlight]

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.

[.p-highlight-blue] Lorem ipsum... [.p-highlight-blue]

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.

[.p-highlight-red] Lorem ipsum... [.p-highlight-red]

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.

Anteprima per la parola singola [.c-highlight]mono-spazio[.c-highlight].
Anteprima del singolo word mono-spaced stile.
precedente
AVANTI