Forma 1: Instalacion Webservice API para FreeRADIUS en Linux

En este documento se detallan los pasos para instalar un Webservice API para FreeRADIUS utilizando Docker.

Integración de Freeradius

Para instalar y usar freeradius necesitamos 3 componentes, una base de datos (mysql), Freeradius (Servicio) y Wisphub API Freeradius (Webservice).

Instalar FreeRADIUS Service

Importante

Antes de proceder con la instalación del Webservice API, es necesario que tengas instalado y funcionando el servicio de FreeRADIUS con MySQL. Si aún no has configurado FreeRADIUS con MySQL, te adjuntamos un manual detallado que te guiará en este proceso. Por favor, completa esa instalación antes de continuar con la configuración del Webservice API.

Una vez que FreeRADIUS y su base de datos estén correctamente configurados y operativos, podrás avanzar con los pasos de este manual para instalar y vincular el Webservice API a la base de datos previamente configurada. Si tienes dudas o necesitas asistencia durante el proceso, no dudes en contactarnos.

Instalar Webservice API para FreeRADIUS con Docker

Wisphub ha desarrollado un WebService API para Freeradius por medio de una imagen de Docker, que nos permite actualizar la información como datos de acceso de nuestros usuarios en el proyecto de freeradius, de forma sencilla funciona como intermediario entre wisphub y freeradius para realizar operaciones,

Nota: Este Webservie API no interviene en el funcionamiento total del servicio de FreeRADIUS.

 Para poder utilizar esta función es importante seguir una serie de pasos, de igual manera es importante cumplir con ciertos requisitos, a continuación se detallan los pasos a seguir para poder usar esta función.

Configurar Dispositivo Linux

Si no le es posible configurar su Mikrotik por limitaciones, puede optar por utilizar algún dispositivo con sistema operativo Linux, a continuación le mostramos un ejemplo de como realizar la configuración en Ubuntu, tenga presente que esto es unicamente para poder configurar el dispositivo.

Actualizamos nuestro sistema

sudo apt update

sudo apt upgrade

Instalamos Docker

sudo snap install docker

Verificamos la versión de Docker

docker --version

 

Instalar unicamente API Freeradius (webservice)

En un directorio vacio, crear 2 archivos, uno llamado .env y otro llamado docker-compose.yml

Contenido del .env, Modifica el valor de las variables segun tu base de datos, recuerda que debe de ser accesible desde el servidor donde se instala el contenedor:


SECRET_KEY='django-insecure-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
DEBUG=1
ALLOWED_HOSTS=127.0.0.1,*

# DATABASE
DB_NAME='radius'
DB_USER='radius'
DB_PASSWORD='radpass'
DB_HOST='mysql'
DB_PORT=3306

Contenido del archivo docker-compose.yml


version: '3'

services:
  api:
    image: "soportewisphub/wisphub_api_freeradius:V100"
    command: ./compose/commands/up.sh
    restart: always
    ports:
      - "8146:8146"
    env_file:
      - ./.env

Ejecutar los contenedores


docker compose up -d

Acceder al contenedor y generar API Key de conexion

Debido a la redireccion de puertos podemos acceder con la direccion IP de nuestro servidor de la siguiente manera [IP]:8146/admin, con el usuario y contraseña por defecto.

User: admin

Pass: password

Una vez dentro nos diriginos a la seccion de API Keys:

Al dar clic en API keys, una vez dentro de la seccion, damos clic en agregar API Key:

Agregamos los datos necesarios:

Nombre: Un nombre para identificar el API Key

Expires: Podemos dar clic a los botones de today y now y depues reemplazar el año para colocar una fecha futura, esta será la fecha de expiración, puede ser algunos años hacia adelante.

Luego de guardar podremos visualizar el API Key, es importante guardarlo en un lugar seguro, ya que solo podra visualizarse una vez, y no sera posible volver a verlo.

Escenarios de instalación.

Forma 1.2

Para este escenario 1.2 usa el siguiente script crear una redirección de puertos hacia el API Freeradius y de este modo pueda ser accesible por wisphub ya sea por IP Publica del Router o la VPN WispHub


/ip firewall nat add action=dst-nat chain=dstnat dst-port={puerto_api_freeradius} protocol=tcp to-addresses={ip_privada_freeradius} to-ports={puerto_api_freeradius}
/ip route rule add action=lookup-only-in-table dst-address=10.134.0.0/16 src-address={ip_privada_freeradius}/32 table=wisphub

Ejemplo:


/ip firewall nat add action=dst-nat chain=dstnat dst-port=8146 protocol=tcp to-addresses=192.168.100.254 to-ports=8146
/ip route rule add action=lookup-only-in-table dst-address=10.134.0.0/16 src-address=192.168.100.254/32 table=wisphub


21 de Mayo de 2024 a las 15:42 - Visitas: 947