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