Documentación de BQN
Cerrar icono

Cuotas de abonados

Se pueden asociar cuotas de tiempo y volumen a una dirección IP de abonado. Una vez agotada una cuota, se restringe la dirección IP del abonado (por defecto, se bloquea el tráfico). A una dirección IP pueden asociarse simultáneamente una cuota de tiempo y una cuota de volumen, en cuyo caso la restricción se produce cuando se agota cualquiera de las cuotas.

Las cuotas se asignan a direcciones IP. Si un abonado cambia la dirección IP por una nueva, esa nueva dirección IP no tendrá una cuota asociadahasta que se aprovisione una a través de la API REST.

Una cuota de tiempo concede acceso durante un periodo. Hay dos maneras de definir una cuota de tiempo:

  • Como tiempo absoluto. Por ejemplo, 23/05/2023 (23de mayo de 2023).
  • Como prórroga de la fecha actual (por ejemplo, dentro de 15 días).

Una cuota de volumen concede acceso a un volumen de tráfico. Hay dos maneras de definir una cuota de tiempo:

  • Como cantidad absoluta. Por ejemplo, 10 GB.
  • Como ampliación de la cantidad (por ejemplo, 5 GB además de los 10 existentes).

 Configuración general de cuotas

Para configurar aspectos generales del comportamiento de las cuotas, vaya a Estado->Suscriptores->Cuotas de suscriptores y amplíe Parámetros avanzados de cuotas.

El estado de cuota inicial del abonado define qué hacer con las direcciones IP sin cuota asignada:

  • Cuando está desactivado (por defecto), el tráfico está permitido, sin restricciones.
  • Cuando se establece en bloqueado, el tráfico se bloqueará hasta que se asigne una cuota válida.

Los campos de URL de redirección especifican los sitios a los que redirigir el tráfico HTTP cuando se bloquea una dirección IP (portal cautivo) debido al agotamiento de la cuota. Hay un campo para redirigir el tráfico IPv4 y otro para el tráfico IPv6. Los dos campos pueden tener la misma URL si se utiliza el mismo portal cautivo para IPv4 e IPv6.

  • Si el campo está vacío, no se intenta la redirección.
  • Si se especifica una URL, se intenta una redirección a esa URL para la versión IP correspondiente del tráfico HTTP.
No se admiten las redirecciones HTTPS, ya que los navegadores modernos están protegidos contra los intentos de redirección por motivos de seguridad.

Tenga en cuenta que, aunque sólo se admiten redireccionamientos HTTP, el sitio para redirigir el tráfico puede ser HTTPS, y muy a menudo lo es (esto es lo que refleja la captura de pantalla anterior, donde la URL utilizada es https://my-captive-portal.com).

Si se utilizan redireccionamientos HTTP, se necesita una política para permitir el tráfico a los sitios de redireccionamiento (y las consultas DNS asociadas). Consulte esta sección sobre Políticas de portales cautivos para obtener más información.

Asociar cuotas a IP de abonados

Para asociar una cuota a la dirección IP de un abonado, vaya a Estado->Abonados->Cuotas de abonado. Pulse en Añadir cuota a nuevo abonado... También se puede acceder desde Configuración->Cuotas de abonado.figuración->Cuotas de abonado.

El siguiente ejemplo define una cuota de tiempo como un tiempo absoluto:

También es posible definir la cuota de tiempo relativa a la fecha y hora actuales (+1 mes en el ejemplo):

Para definir una cuota de volumen, defina primero un valor absoluto (20 GB en el ejemplo):

Una vez creada, una cuota de volumen puede ampliarse editando la cuota y utilizando la opción Incrementar límite en esta cantidad (5 GB en el siguiente ejemplo):

Las cuotas de tiempo y de volumen pueden coexistir, y en este caso el tráfico de abonados se restringirá cuando se agote alguna de las dos.

También es posible editar la cuota y eliminar su componente de tiempo o volumen pulsando el botón Eliminar límite de tiempo o Eliminar límite de volumen respectivamente.

Comprobación del estado de las cuotas

Estado->Suscriptores->Cuotas de suscriptores muestra las cuotas y, en el caso de las cuotas de volumen, cuánto se ha consumido ya.

En el ejemplo anterior, hay tres cuotas de volumen y dos cuotas de tiempo (tenga en cuenta que el mes se indica antes que el día, por lo que 9/29/2023 es29 deseptiembre de 2023). Para las cuotas de volumen, también se muestra el volumen ya consumido (por ejemplo, 10.0.0.3 tiene una cuota de 15 GB y ha consumido 20 MB).

Reducir la velocidad cuando se agote la cuota

Por defecto, el tráfico se bloqueará completamente cuando se agote la cuota, pero es posible limitar el tráfico a una velocidad lenta mientras la cuota no se recargue de nuevo.

El siguiente ejemplo cambia la política de flujo por defecto, de modo que ralentiza el tráfico cuando se agota la cuota:

Política de portales cautivos

En la sección sobre configuración general de cuotas, vimos cómo definir una redirección a un portal cautivo cuando se agota la cuota. La implementación del portal cautivo requiere que el tráfico hacia él no esté sujeto a la cuota, lo que se implementa mediante políticas de flujo.

En el siguiente ejemplo, dos categorías de tráfico deben estar fuera del control de cuotas (política flow-no-quota):

  • Tráfico que va al portal cautivo.
  • Tráfico a algunos servidores DNS específicos (se utilizan para resolver la URL del portal cautivo).

La política no afectada por el agotamiento de cuotas tiene el interruptor de cuotas desactivado:

Gestión de cuotas mediante la API REST

Además de la interfaz gráfica de usuario, puede utilizarse la API REST de BQN para gestionar las cuotas de tiempo y volumen.

Consulte la referencia de la API REST para obtener más detalles.

Cuota horaria

Hay dos maneras de definir un contingente de tiempo:

  • Como tiempo absoluto: como tiempo POSIX, definido como el número de segundos transcurridos desde la medianoche del Tiempo Universal Coordinado (UTC)del 1 de enero de 1970. Por ejemplo, 1672531200 es UTC del domingo 1 de enero de 20230:00:00. La hora absoluta es UTC, así que convierta su hora local a UTC cuando establezca la cuota.
  • Como segundos relativos a la hora actual: por ejemplo, una cuota de 3600 segundos se agotará dentro de una hora.

Para activar una cuota de tiempo de una hora:


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}}'

Ampliar la cuota a dos horas a partir de ahora:


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}}'

Para eliminar la cuota, de modo que el abonado ya no esté sujeto a una cuota de tiempo:


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}}'

Cuota de volumen

Una cuota de volumen concede acceso a un número de Kbytes de tráfico. La convención BQN es que 1 Kbyte son 1000 bytes.

Para activar una cuota de volumen de 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}}'

Para ampliar la cuota añadiendo 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}}'

Para eliminar la cuota, de modo que el abonado ya no esté sujeto a una cuota de volumen:


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}}'

Volumen y cuotas horarias al mismo tiempo

Para habilitar una cuota de volumen de 1 GB y 1 mes (lo que ocurra primero):


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}}'

Para ampliar la cuota de volumen en 500 MB, manteniendo la cuota de tiempo sin cambios:


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}}'

Para eliminar ambas cuotas, de modo que el abonado ya no esté sujeto a ellas:


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}}'

Comprobación del estado de las cuotas

También puede comprobar el estado de la cuota a través de la 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" : ""
}

 

Cuotas gestionadas desde RADIUS

BQN en el despliegue de proxy RADIUS puede gestionar cuotas de volumen y tiempo. Consulte el capítulo sobre RADIUS para obtener más información.

Etiquetas de estilo Docs
<div class="paragraph-highlight"> Lorem ipsum... </div>

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.

<div class="paragraph-highlight red"> Lorem ipsum... </div>

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.

Preview for the single <span class="character-highlight">word mono-spaced.</span> styling.
Vista previa para el estilo monoespaciado de una sola palabra.

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.

<div class="paragraph-highlight blue"> Lorem ipsum... </div>
anterior
SIGUIENTE