User Tag List

Gracias Gracias:  0
Me agrada Me agrada:  0
Me desagrada Me desagrada:  0
Resultados 1 al 1 de 1

Tema: Instalar y configurar FreeRadius en Amazon Lightsail con Mikrotik

  1. #1

    Fecha de ingreso
    06 Nov, 24
    Mensajes
    21
    Reconocimientos
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Instalar y configurar FreeRadius en Amazon Lightsail con Mikrotik

    Instalar y configurar FreeRadius en Amazon Lightsail con Mikrotik

    Este manual detallará la instalación y configuración de FreeRadius en un servidor Linux en una instancia de amazon lightsail 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 SE DEBE TENER CREADO UNA INSTANCIA EN AMAZON LIGHTSAIL
    Nombre:  Captura de pantalla 2025-10-16 105850.png
Visitas: 5
Tamaño: 13.6 KB

    Nota

    La instancia que se crea tiene que ser de 1GB ya que con 512 MB RAM en Lightsail, MySQL 8 suele morirse por OOM killer durante la instalación

    Nota

    Para este laboratorio se esta usando ubuntu 22.04 LTS


    Verificamos que la instancia sea minimo de 1 GB

    Nombre:  2.png
Visitas: 5
Tamaño: 16.5 KB

    Accedemos por SSH a la instancia de ubuntu para empezar con los siguientes pasos
    Nombre:  3.png
Visitas: 5
Tamaño: 9.8 KB
    Nombre:  4.png
Visitas: 5
Tamaño: 145.6 KB


    2 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


    en caso de que marque error se puede usar el siguiente comando
    sudo apt install freeradius freeradius-sql-mysql mysql-server -y


    con los siguientes comandos validas que estén correctamente instalados los servicios
    Para validar SQL
    sudo systemctl status mysql

    Nombre:  Imagen1.png
Visitas: 5
Tamaño: 36.6 KB

    Para validar Radius
    sudo systemctl status freeradius

    Nombre:  Imagen2.png
Visitas: 5
Tamaño: 73.6 KB

    Nota

    Si ambos muestran active (running), en tu entorno de FreeRADIUS + MySQL en Ubuntu 22.04 LTS (Amazon Lightsail) Esto indica que se instalaron los servicios y que existen


    3 Instalacion de MySQL en Ubuntu

    Sudo apt update
    sudo apt install mysql-server


    para revisar que se haya instalado correctamente el SQL puedes ejecutar este comando que te mostrara la versión instalada del SQL

    mysql –version


    Nombre:  Imagen3.png
Visitas: 5
Tamaño: 14.1 KB
    En este ejemplo se instalo la versión 8.4.43

    OPCIONAL

    En caso de que se este intentando en Ubuntu 22 o mayor y no te permita con los comandos anteriores, se puede utilizar estos comando

    sudo apt update && sudo apt upgrade -y

    Esto asegura que todo esté al día antes de instalar MySQL.

    A continuación, instale el paquete mysql-server:

    sudo apt install mysql-server -y


    4Ahora se aplica configura MYSQL

    sudo mysql_secure_installation


    Te preguntará si deseas usar el VALIDATE PASSWORD PLUGIN (puedes decir No si no lo necesitas).
    Configura una contraseña para el usuario root de MySQL.
    Responde Y (Yes) a las preguntas para eliminar usuarios anónimos y desactivar accesos remotos inseguros.

    te aparece un mensaje como el siguiente;

    Nombre:  Imagen4.png
Visitas: 6
Tamaño: 99.1 KB

    Es para que asignes que tipo de contraseña le permitiras al SQL
    0 baja 1 medio y 2 fuerte, en este caso colocamos 2

    al colocar alguna de las opciones te aparece lo siguiente;

    Nombre:  Imagen5.png
Visitas: 6
Tamaño: 4.6 KB

    ¿Deseas eliminar la base de datos de prueba y los permisos para acceder a ella?
    Esto elimina la base de datos llamada test que MySQL crea por defecto y que no se necesita en producción.
    Además mejora la seguridad, porque esa base de datos se puede usar sin autenticación en algunos entornos.

    Presiona Y y luego Enter

    Después te aparecerá

    Nombre:  Imagen6.png
Visitas: 5
Tamaño: 4.3 KB

    Te pregunta si quieres impedir que el usuario root de MySQL pueda conectarse de forma remota (desde otra computadora).
    Si tu servidor MySQL solo se usará localmente (por ejemplo, desde la misma instancia o para aplicaciones en el mismo servidor)
    Presiona Y y Enter.

    Esto mejora la seguridad.
    Si planeas conectarte remotamente como root (por ejemplo, desde tu computadora o una app externa que use root), presiona cualquier otra tecla (por ejemplo, Enter) para responder No.
    En ese caso, asegúrate de tener configurado un firewall y usuarios con permisos limitados.

    Después parecera
    Nombre:  Imagen7.png
Visitas: 5
Tamaño: 6.3 KB

    ¿Deseas recargar las tablas de privilegios ahora?
    Presiona y luego Enter
    Esto hace que MySQL aplique inmediatamente todos los cambios de seguridad que configuraste (contraseña de root, eliminación del test DB, bloqueo remoto, etc.).

    Nota

    Listo! Ya se ha instaldo Mysql

    Nota

    NOTA: El orden de las preguntas pueden variar


    Para verificar que esta corriendo y se instaldo correcto ejecuta los siguientes comnados
    sudo systemctl status mysql

    Si todo está bien, verás algo como: Active: active (running) Eso confirma que MySQL está corriendo.
    Nombre:  Imagen8.png
Visitas: 5
Tamaño: 37.5 KB

    Conéctate al servidor MySQL
    (Se esta ingresando con el usuario ROOT)
    sudo mysql


    Deberías ver un prompt como:
    Nombre:  Imagen9.png
Visitas: 5
Tamaño: 32.3 KB

    (Opcional) Crea un usuario propio

    Nota

    Crea el usuario con una contraseña fuerte que cumpla la política (usa mayúsculas, minúsculas, número y símbolo):


    CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'tu_contraseña';
    GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;


    Ejemplo:
    Nombre:  Imagen11.png
Visitas: 5
Tamaño: 21.6 KB

    Para salir escribe EXIT;

    Nombre:  Imagen12.png
Visitas: 5
Tamaño: 7.1 KB

    Habilitar arranque automático

    Por si no lo está con;
    sudo systemctl enable mysql


    Esto hace que MYSQL se inicie al prender el servidor en automático
    Nombre:  Imagen14.png
Visitas: 5
Tamaño: 15.4 KB

    Valida ingresar con tu usuario creado con;
    sudo mysql -u TU_USUARIO -p

    Nombre:  Imagen15.png
Visitas: 5
Tamaño: 36.5 KB
    salimos con EXIT;

    Para los siguientes pasos se realizan con el usuario root
    Se ingresa con
    sudo mysql


    5 CONFIGURACION DE MYSQL PARA RADIUS

    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 'Radius#123';
    GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost';
    FLUSH PRIVILEGES;

    Nota

    NOTA: En el comando anterior el usuario es radius y la contraseña es Radius#123, importante ya que se requerirá de esa información mas adelante

    Sal de MySQL con exit;
    exit;


    6 Configurar FreeRadius con MySQL

    Abre el archivo de configuración del módulo MySQL:
    sudo nano /etc/freeradius/3.0/mods-available/sql


    Nota

    Te aparecerá un archivo, para mejor comprendimiento borrar todo lo que aparece y dejarlo como en el siguiente ejemplo, ya que si ese archivo esta incorrecto no funcionara el enlace adecuado


    ARCHIVO ORIGINAL QUE HAY QUE BORRAR TODO ELCONTENIDO;
    Nombre:  Imagen16.png
Visitas: 5
Tamaño: 89.1 KB


    COMO DEBEMOS DE DEJAR EL ARCHIVO

    Nota

    NOTA; EN CONTRASEÑA DEBE IR LA CONTRASEÑA QUE TU CONFIGURASTE EN LOS PASOS ANTERIORES PARA EL USUARIO RADIUS

    Nombre:  Imagen17.png
Visitas: 5
Tamaño: 69.7 KB

    sql {
    driver = "rlm_sql_mysql"
    dialect = "mysql"

    server = "localhost"
    port = 3306
    login = "radius"
    password = "contrasena" # <- usa la clave REAL del usuario MySQL 'radius'
    radius_db = "radius"

    # Nombres de tablas que usa queries.conf
    acct_table1 = "radacct"
    acct_table2 = "radacct"
    postauth_table = "radpostauth"
    authcheck_table = "radcheck"
    authreply_table = "radreply"
    groupcheck_table = "radgroupcheck"
    groupreply_table = "radgroupreply"
    usergroup_table = "radusergroup"

    # Leer grupos y NAS desde SQL
    read_groups = yes
    read_clients = yes
    client_table = "nas"

    group_attribute = "SQL-Group"

    # Cargar TODAS las queries para MySQL
    $INCLUDE ${modconfdir}/sql/main/${dialect}/queries.conf
    }



    Guarda y cierra el archivo.

    ctrl + x 
    seguido de yes para guardar


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


    8 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


    En caso de que no te funcione el comsndo anterior puedes usar el siguiente:
    sudo bash -c "mysql -u radius -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql"


    Así el bash -c se ejecuta como root, y el archivo se leerá con permisos de root.
    Te pedirá una contraseña y colocas la del usuario radius que en este ejemplo es el que colocamos en el paso 6 (Radius#123)
    Nombre:  Imagen18.png
Visitas: 5
Tamaño: 9.5 KB

    Si entramos a base de datos veremos las siguientes tablas

    Sudo mysql
    Use radius;
    SHOW TABLES;

    Nombre:  Imagen19.png
Visitas: 5
Tamaño: 65.5 KB

    Salimos con exit;

    9 Iniciar FreeRadius (salimos de mysql)
    Reiniciar servicio
    sudo systemctl restart freeradius

    Verifica el estado del servicio
    sudo service freeradius status


    VERIFICAMOS Y EL ESTATUS DEBE ESTAR ACTIVO
    Nombre:  Imagen20.png
Visitas: 5
Tamaño: 91.5 KB

    Nota

    ¡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


    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: Agregar Mikrotik como cliente NAS al FreeRadius

    C
    Última edición por NEMUELOXTE; Ayer a las 10:10

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •