Cómo instalar FreeRADIUS y daloRADIUS en Ubuntu 18.04 LTS
FreeRADIUS es un protocolo cliente/servidor gratuito y de código abierto que proporciona autenticación de red centralizada en los sistemas. Es un servidor RADIUS de alto rendimiento y rico en funciones que incluye tanto el servidor como el cliente, bibliotecas de desarrollo y utilidades relacionadas con RADIUS. RADIUS te permite mantener los perfiles de los usuarios y hacer un seguimiento del uso para la facturación desde el servidor central. Es compatible con varias bases de datos, como OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, etc.
daloRADIUS es una aplicación basada en la web para gestionar el servidor RADIUS. Es una aplicación avanzada basada en la web para gestionar puntos de acceso y despliegues de ISP. Está escrita en PHP y JavaScript y soporta MySQL, PostgreSQL, SQLite, MsSQL como base de datos. Viene con un rico conjunto de características como, Listas de Control de Acceso, informes gráficos, motor de facturación, informes gráficos y contabilidad, crear, eliminar y editar usuarios, crear, eliminar y editar HotSpot, crear, eliminar y editar NAS, y mucho más.
FreeRADIUS funciona como back-end mientras que daloRADIUS funciona como front-end.
En este tutorial, explicaré paso a paso cómo instalar el servidor FreeRADIUS y el cliente web Daloradius en Ubuntu 18.04 LTS.
Requisitos
- Un servidor con Ubuntu 18.04.
- Una contraseña de root configurada en tu servidor.
Cómo empezar
Primero, actualiza los paquetes de tu sistema a la última versión con el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez actualizados todos los paquetes, reinicia tu sistema para aplicar todos los cambios de configuración.
Instalar el servidor LAMP
En primer lugar, tendrás que instalar Apache, MariaDB, PHP y otros paquetes necesarios en tu sistema. Puedes instalarlos todos con el siguiente comando:
apt-get install apache2 mariadb-server php libapache2-mod-php php-mail php-mail-mime php-mysql php-gd php-common php-pear php-db php-mbstring php-xml php-curl unzip wget -y
Una vez instalados todos los paquetes, puedes pasar al siguiente paso.
Configurar la base de datos para FreeRADIUS
Por defecto, MariaDB no está protegida. Así que primero tendrás que asegurarla. Puedes asegurarla con el siguiente comando:
mysql_secure_installation
Responde a todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): Just press the Enter Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
A continuación, tendrás que crear una base de datos y un usuario para FreeRADIUS. Para ello, entra en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Introduce tu contraseña de root cuando se te pida y luego crea una base de datos y un usuario con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO radius@localhost IDENTIFIED BY "password";
A continuación, vacía los privilegios y sal del shell MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una vez que hayas terminado, puedes pasar al siguiente paso.
Instalar FreeRADIUS
Por defecto, FreeRADIUS está disponible en el repositorio por defecto de Ubuntu 18.04. Puedes instalarlo con el siguiente comando:
apt-get install freeradius freeradius-mysql freeradius-utils
Una vez instalado, importa el esquema de la base de datos MySQL de freeradius con el siguiente comando:
mysql -u root -p radiusdb < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Proporciona tu contraseña de usuario de la base de datos radius cuando se te pida y pulsa Intro para importar el esquema de la base de datos.
A continuación, tendrás que crear un enlace simbólico para el módulo sql. Puedes hacerlo con el siguiente comando:
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
A continuación, entra en el shell de MariaDB y comprueba las tablas creadas con el siguiente comando:
mysql -u root -p
Introduce tu contraseña de root cuando se te pida. Una vez iniciada la sesión, cambia la base de datos a radiusdb con el siguiente comando
MariaDB [(none)]> use radiusdb;
A continuación, lista las tablas creadas con el siguiente comando:
MariaDB [radiusdb]> show tables;
Deberías ver la siguiente salida:
+--------------------+ | Tables_in_radiusdb | +--------------------+ | nas | | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | radusergroup | +--------------------+
A continuación, sal del shell de MariaDB con el siguiente comando:
MariaDB [radiusdb]> EXIT;
A continuación, tendrás que definir los detalles de la conexión a la base de datos en el módulo SQL de freeradius. Puedes hacerlo editando el archivo /etc/freeradius/3.0/mods-enabled/sql:
nano /etc/freeradius/3.0/mods-enabled/sql
Realiza los siguientes cambios según tu base de datos:
sql { driver = "rlm_sql_mysql" dialect = "mysql" # Connection info: server = "localhost" port = 3306 login = "radius" password = "password" # Database table configuration for everything except Oracle radius_db = "radiusdb" } read_clients = yes client_table = "nas"
Guarda y cierra el archivo, cuando hayas terminado. A continuación, cambia la propiedad de /etc/freeradius/3.0/mods-enabled/sql con el siguiente comando:
chgrp -h freerad /etc/freeradius/3.0/mods-available/sql
chown -R freerad:freerad /etc/freeradius/3.0/mods-enabled/sql
Por último, reinicia el servicio freeradius para aplicar todos los cambios de configuración:
systemctl restart freeradius
También puedes verificar el estado de freeradius con el siguiente comando:
systemctl status freeradius
Deberías ver la siguiente salida:
? freeradius.service - FreeRADIUS multi-protocol policy server Loaded: loaded (/lib/systemd/system/freeradius.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2019-08-07 09:20:34 UTC; 14s ago Docs: man:radiusd(8) man:radiusd.conf(5) http://wiki.freeradius.org/ http://networkradius.com/doc/ Process: 45159 ExecStart=/usr/sbin/freeradius $FREERADIUS_OPTIONS (code=exited, status=0/SUCCESS) Process: 45143 ExecStartPre=/usr/sbin/freeradius $FREERADIUS_OPTIONS -Cxm -lstdout (code=exited, status=0/SUCCESS) Main PID: 45161 (freeradius) Tasks: 6 (limit: 4650) CGroup: /system.slice/freeradius.service ??45161 /usr/sbin/freeradius
Una vez que hayas terminado, puedes pasar al siguiente paso.
Instalar daloRADIUS
A continuación, tendrás que instalar daloRADIUS para gestionar FreeRADIUS desde el navegador web.
Primero, descarga la última versión de daloRADIUS desde el repositorio Git con el siguiente comando:
wget https://github.com/lirantal/daloradius/archive/master.zip
Una vez descargado, descomprime el archivo descargado con el siguiente comando:
unzip master.zip
A continuación, mueve el directorio extraído al directorio raíz de la web de Apache con el siguiente comando
mv daloradius-master /var/www/html/daloradius
A continuación, importa las tablas mysql de daloRADIUS a radiusdb con el siguiente comando:
cd /var/www/html/daloradius
mysql -u root -p radiusdb < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
mysql -u root -p radiusdb < contrib/db/mysql-daloradius.sql
A continuación, da el permiso adecuado al directorio daloradius con el siguiente comando:
chown -R www-data:www-data /var/www/html/daloradius/
chmod 664 /var/www/html/daloradius/library/daloradius.conf.php
A continuación, abre el archivo daloradius.conf.php y define los detalles de la conexión a la base de datos:
nano /var/www/html/daloradius/library/daloradius.conf.php
Realiza los siguientes cambios que coincidan con tu base de datos:
$configValues['DALORADIUS_VERSION'] = '1.1-1'; $configValues['DALORADIUS_DATE'] = '28 Jul 2019'; $configValues['FREERADIUS_VERSION'] = '2'; $configValues['CONFIG_DB_ENGINE'] = 'mysqli'; $configValues['CONFIG_DB_HOST'] = 'localhost'; $configValues['CONFIG_DB_PORT'] = '3306'; $configValues['CONFIG_DB_USER'] = 'radius'; $configValues['CONFIG_DB_PASS'] = 'password'; $configValues['CONFIG_DB_NAME'] = 'radiusdb';
Guarda y cierra el archivo. A continuación, reinicia el servicio freeradius y apache con el siguiente comando:
systemctl restart freeradius
systemctl restart apache2
También puedes comprobar el estado del servicio web de Apache con el siguiente comando:
systemctl status apache2
Deberías ver el siguiente comando:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d ??apache2-systemd.conf Active: active (running) since Wed 2019-08-07 09:25:56 UTC; 4min 25s ago Process: 45483 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 45489 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 45505 (apache2) Tasks: 11 (limit: 4650) CGroup: /system.slice/apache2.service ??45505 /usr/sbin/apache2 -k start ??45510 /usr/sbin/apache2 -k start ??45511 /usr/sbin/apache2 -k start ??45512 /usr/sbin/apache2 -k start ??45513 /usr/sbin/apache2 -k start ??45517 /usr/sbin/apache2 -k start ??45519 /usr/sbin/apache2 -k start ??45520 /usr/sbin/apache2 -k start ??45521 /usr/sbin/apache2 -k start ??45527 /usr/sbin/apache2 -k start ??45528 /usr/sbin/apache2 -k start Aug 07 09:25:55 openshift systemd[1]: Starting The Apache HTTP Server... Aug 07 09:25:56 openshift systemd[1]: Started The Apache HTTP Server.
Una vez hecho esto, puedes pasar al siguiente paso.
Acceder a la interfaz web de daloRADIUS
FreeRADIUS y daloRADIUS ya están instalados y configurados. Es el momento de acceder a la interfaz web de daloRADIUS. Para acceder a la interfaz web, abre tu navegador y escribe la URL http://your-server-ip/daloradius/login.php. Serás redirigido a la página de inicio de sesión de daloRADIUS:
Ahora, proporciona el nombre de usuario y la contraseña por defecto como administrador/radio, y haz clic en el botón de inicio de sesión. Deberías ver el panel de control por defecto de daloRADIUS en la siguiente página:
Enhorabuena! has instalado y configurado con éxito FreeRADIUS y daloRADIUS en tu servidor Ubuntu 18.04. Para más información, puedes visitar la documentación oficial en https://github.com/lirantal/daloradius. No dudes en preguntarme si tienes alguna duda.