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 rico en características y de alto rendimiento que incluye servidor y cliente, bibliotecas de desarrollo y utilidades relacionadas con RADIUS. RADIUS le permite mantener perfiles de usuario y realizar un seguimiento del uso para la facturación desde el servidor central. Brinda soporte para varias bases de datos, incluidas OpenLDAP, MySQL, Redis, Microsoft AD, Apache Cassandra, PostgreSQL, etc.
daloRADIUS es una aplicación basada en web para administrar el servidor RADIUS. Es una aplicación avanzada basada en la web para administrar hotspots e implementaciones de ISP. Está escrito en PHP y JavaScript y es compatible con MySQL, PostgreSQL, SQLite, MsSQL como base de datos. Viene con un amplio conjunto de funciones, como listas de control de acceso, informes gráficos, motor de facturación, informes gráficos y contabilidad, creación, eliminación y edición de usuarios, creación, eliminación y edición de HotSpot, creación, eliminación y edición de NAS, y mucho más. 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.
- Se configura una contraseña raíz en su servidor.
Cómo empezar
Primero, actualice el paquete de su sistema a la última versión con el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar todos los cambios de configuración.
Instalar servidor LAMP
Primero, deberá instalar Apache, MariaDB, PHP y otros paquetes necesarios en su sistema. Puede 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 que todos los paquetes estén instalados, puede continuar con el siguiente paso.
Configurar base de datos para FreeRADIUS
De forma predeterminada, MariaDB no está protegido. Por lo tanto, deberá asegurarlo primero. Puede asegurarlo con el siguiente comando:
mysql_secure_installation
Responda 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, deberá crear una base de datos y un usuario para FreeRADIUS. Para hacerlo, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Ingrese su contraseña raíz cuando se le solicite, luego cree una base de datos y un usuario con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE radiusdb;
MariaDB [(none)]> GRANT ALL ON radiusdb.* TO [email protected] IDENTIFIED BY "password";
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar FreeRADIUS
De forma predeterminada, FreeRADIUS está disponible en el repositorio predeterminado de Ubuntu 18.04. Puede instalarlo con el siguiente comando:
apt-get install freeradius freeradius-mysql freeradius-utils
Una vez instalado, importe 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
Proporcione su contraseña de usuario de la base de datos de Radius cuando se le solicite y presione Entrar para importar el esquema de la base de datos.
A continuación, deberá 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, inicie sesión en el shell de MariaDB y verifique las tablas creadas con el siguiente comando:
mysql -u root -p
Ingrese su contraseña de root cuando se le solicite. Una vez que inicie sesión, cambie la base de datos a radiusdb con el siguiente comando:
MariaDB [(none)]> use radiusdb;
A continuación, enumere las tablas creadas con el siguiente comando:
MariaDB [radiusdb]> show tables;
Debería ver el siguiente resultado:
+--------------------+ | Tables_in_radiusdb | +--------------------+ | nas | | radacct | | radcheck | | radgroupcheck | | radgroupreply | | radpostauth | | radreply | | radusergroup | +--------------------+
A continuación, salga del shell de MariaDB con el siguiente comando:
MariaDB [radiusdb]> EXIT;
A continuación, deberá definir los detalles de conexión de su base de datos en el módulo SQL de freeradius. Puede hacerlo editando el archivo /etc/freeradius/3.0/mods-enabled/sql:
nano /etc/freeradius/3.0/mods-enabled/sql
Realice los siguientes cambios según su 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"
Guarde y cierre el archivo cuando haya terminado. Luego, cambie 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
Finalmente, reinicie el servicio freeradius para aplicar todos los cambios de configuración:
systemctl restart freeradius
También puede verificar el estado de freeradius con el siguiente comando:
systemctl status freeradius
Debería ver el siguiente resultado:
? 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 haya terminado, puede continuar con el siguiente paso.
Instalar daloRADIUS
A continuación, deberá instalar daloRADIUS para administrar FreeRADIUS desde el navegador web.
Primero, descargue la última versión de daloRADIUS desde el repositorio de Git con el siguiente comando:
wget https://github.com/lirantal/daloradius/archive/master.zip
Una vez descargado, descomprima el archivo descargado con el siguiente comando:
unzip master.zip
A continuación, mueva el directorio extraído al directorio raíz web de Apache con el siguiente comando:
mv daloradius-master /var/www/html/daloradius
A continuación, importe las tablas daloRADIUS mysql 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, otorgue 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, abra el archivo daloradius.conf.php y defina los detalles de conexión de la base de datos:
nano /var/www/html/daloradius/library/daloradius.conf.php
Realice los siguientes cambios que coincidan con su 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';
Guarde y cierre el archivo. Luego, reinicie freeradius y apache service con el siguiente comando:
systemctl restart freeradius
systemctl restart apache2
También puede verificar el estado del servicio web de Apache con el siguiente comando:
systemctl status apache2
Debería 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 que haya terminado, puede continuar con el siguiente paso.
Acceder a la interfaz web de daloRADIUS
FreeRADIUS y daloRADIUS ahora están instalados y configurados. Es hora de acceder a la interfaz web de daloRADIUS. Para acceder a la interfaz web, abra su navegador web y escriba la URL http://your-server-ip/daloradius/login.php. Será redirigido a la página de inicio de sesión de daloRADIUS:
Ahora, proporcione el nombre de usuario y la contraseña predeterminados como administrador / radio, y haga clic en Iniciar sesión botón. Debería ver el panel predeterminado de daloRADIUS en la siguiente página:
¡Felicidades! ha instalado y configurado con éxito FreeRADIUS y daloRADIUS en su servidor Ubuntu 18.04. Para obtener más información, puede visitar la documentación oficial en https://github.com/lirantal/daloradius. Siéntase libre de preguntarme si tiene alguna pregunta.