Este manual detallará la instalación y configuración de FreeRadius en un servidor Linux con una base de datos MySQL para el registro y autenticación de usuarios. Además, explicará cómo establecer la conexión entre un router MikroTik y FreeRadius. FreeRadius se utiliza para gestionar la autenticación y autorización de usuarios en redes, mientras que MySQL actúa como el almacén de datos para usuarios y atributos. La integración con MikroTik permitirá un control centralizado sobre el acceso a la red, proporcionando seguridad y administración eficientes. El manual guiará a través de cada paso, desde la instalación inicial hasta la configuración detallada de FreeRadius y la conexión con los routers MikroTik, permitiendo a los administradores tener un control más preciso y seguro sobre su infraestructura de red.
1 Instalación de requisitos previos.
En nuestro servidor linux (Ubuntu) asegúrate de tener acceso de administrador (root) en tu sistema. Abre una terminal y ejecuta los siguientes comandos para instalar los requisitos previos:
sudo apt-get update
sudo apt-get install freeradius freeradius-mysql mysql-server
2 Configuración de MySQL
Si aun no tienes instalado MYSQL seguir los pasos de este manual: https://www.digitalocean.com/communi...buntu-20-04-es
Si ya esta instalado. Inicia sesión en MySQL como usuario root:
mysql -u root -p
Luego, crea una base de datos para FreeRadius:
CREATE DATABASE radius;
Crea un usuario y otorga los privilegios necesarios para la base de datos:
CREATE USER 'radius'@'localhost' IDENTIFIED BY 'contraseña';
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
FLUSH PRIVILEGES;
Sal de MySQL
exit
3 Configurar FreeRadius con MySQL
Abre el archivo de configuración del módulo MySQL:
sudo nano /etc/freeradius/3.0/mods-available/sql
Busca las siguientes lineas y asegúrate de que las configuraciones se vean así (reemplaza "contraseña",con tu contraseña de MySQL, "login" con tu usuario MySQL, "radius_db" con el nombre de base de datos de radius, tal cual como se realizo en el paso 2.
driver = "rlm_sql_mysql"
dialect = "mysql"
server = "localhost"
port = 3306
login = "radius"
password = "contraseña"
radius_db = "radius"
read_clients = yes
Guarda y cierra el archivo.
Ctrl + O
Ctrl + X
4 Habilita el módulo SQL
Crea un enlace simbólico desde el archivo mysql al directorio mods-enabled para habilitar el módulo:
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
5 Configuración de esquema de base de datos
FreeRadius proporciona esquemas SQL para diferentes bases de datos. Este comando ejecuta las instrucciones SQL del archivo schema.sql en la base de datos MySQL "radius". Esto es esencial para configurar la base de datos de FreeRadius en MySQL, estableciendo las tablas y estructuras de datos requeridas para el funcionamiento correcto de FreeRadius con almacenamiento en MySQL.
Ejecuta el siguiente comando para crear las tablas necesarias en la base de datos:
sudo mysql -u radius -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Si entramos a base de datos veremos las siguientes tablas.
mysql -u root -p
USE radius;
SHOW TABLES;
6 Iniciar FreeRadius
Reiniciar servicio.
sudo systemctl restart freeradius
Verifica el estado del servicio
sudo service freeradius status
¡Listo! Has instalado y configurado FreeRadius con una base de datos MySQL. Ahora puedes empezar a configurar los clientes NAS y los usuarios en la base de datos para autenticar a través de FreeRadius.
Agregar Mikrotik como cliente NAS al FreeRadius
El diagrama describe la topología básica de red entre un servidor FreeRadius y un router MikroTik, donde ambos dispositivos deben ser capaces de comunicarse entre sí. Aquí está la explicación del diagrama:
Se muestra cómo el servidor FreeRadius y un router MikroTik se conectan en la misma red. El MikroTik tiene la dirección IP 192.168.20.1, mientras que el FreeRadius tiene la dirección IP 192.168.20.254. Ambos dispositivos se comunican usando el protocolo RADIUS para gestionar la autenticación y autorización de usuarios en la red. El MikroTik envía solicitudes al FreeRadius para verificar las credenciales de los usuarios y permitir el acceso adecuado a la red.
A continuación los pasos para conectar el FreeRadius con Mikrotik y el Mikrotik al FreeRadius.
1 Agregar Enrutador (Mikrotik) al FreeRadius.
Para agregar un enrutador MikroTik al servidor FreeRadius, necesitas insertar un registro en la tabla nas en la base de datos radius.
Acceder a la base de datos de FreeRadius.
mysql -u root -p
USE radius;
Insertar registro en la tabla nas.
INSERT INTO nas (nasname, shortname, type, secret, description) VALUES ('direccion_ip_del_enrutador', 'nombre_corto', 'other', 'clave_compartida', 'descripcion del enrutador);
Donde:
- nasname: Es la dirección IP o el nombre DNS del enrutador MikroTik. Es el identificador del dispositivo que se está agregando.
- shortname: Es un nombre corto o alias para el enrutador. Puede ser útil para identificar rápidamente el dispositivo.
- type: Indica el tipo de dispositivo NAS (Network Access Server). En este caso, usas 'other' para indicar que es otro tipo de dispositivo, como un MikroTik.
- secret: Es una clave compartida que se utiliza para autenticar y encriptar las comunicaciones entre el servidor RADIUS (FreeRadius) y el dispositivo NAS (MikroTik). Debes proporcionar una clave segura aquí. (Esta clave la usaremos para agregarla en el Mikrotik)
- description: Es una descripción opcional del enrutador MikroTik. Puedes usar esto para añadir más contexto sobre el dispositivo.
Ejemplo:
INSERT INTO nas (nasname, shortname, type, secret, description) VALUES ('192.168.20.1', 'RB MiguelAngel', 'Mikrotik', 'secret2023', 'RB 2011 Mikrotik');
Esto permite que FreeRadius identifique y autentique correctamente el enrutador MikroTik cuando este se comunique con el servidor para solicitar autenticación y autorización de usuarios.
2 Agregar el servidor FreeRadius al Router Mikrotik
Acceder al Router mikrotik ir la sección Radius y agregar nuevo registro [+]
Donde:
- Service: Aquí debes seleccionar el modo de uso del servidor RADIUS. En este caso "PPP", que es el protocolo que se utilizará para la autenticación de Point-to-Point Protocol, comúnmente utilizado para conexiones de acceso remoto.
- Address: Debes ingresar la dirección IP del servidor FreeRadius. Esta dirección indica dónde se encuentra el servidor RADIUS que procesará las solicitudes de autenticación y autorización.
- Protocol: Por defecto, el protocolo utilizado para las comunicaciones RADIUS es UDP (User Datagram Protocol), que es un protocolo de transporte liviano y eficiente.
- Secret: La clave secreta es un código compartido entre el router MikroTik y el servidor RADIUS. Sirve para autenticar y encriptar las comunicaciones entre ambos. Debes utilizar la misma clave que se creó en el paso 1 al agregar un registro en la tabla "nas" del servidor RADIUS.
- Authentication Port: El puerto de autenticación (por defecto 1812) es el punto de entrada en el servidor RADIUS donde el router MikroTik enviará las solicitudes de autenticación de usuarios para su procesamiento.
- Accounting Port: El puerto de contabilidad (por defecto 1813) es el puerto en el servidor RADIUS donde se registrarán las actividades de los usuarios, como la duración de la sesión y el uso de ancho de banda.
Al configurar estos parámetros, el router MikroTik establecerá una comunicación segura con el servidor FreeRadius a través del protocolo RADIUS. Esto permitirá que el router envíe solicitudes de autenticación y autorización, y reciba respuestas para permitir o rechazar el acceso de los usuarios a la red. La clave secreta garantiza la autenticación y la privacidad de las comunicaciones entre los dos dispositivos.
En resumen, has completado exitosamente la configuración de FreeRadius y MikroTik para establecer un sistema de autenticación centralizada en tu red. Ahora estás preparado para gestionar el acceso de los usuarios, ya sea a través de PPP, Hotspot u otros servicios.
Para continuar aprendiendo y ampliando tus capacidades, te recomiendo seguir el manual detallado sobre la creación de clientes, autenticación y limitación de ancho de banda a través del servicio PPPoE. Este tutorial específico te guiará en el proceso paso a paso. Puedes acceder al tutorial completo en este enlace: http://foroisp.com/threads/1984-Conf...eRADIUS-Server