Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Configuración de Freeradius con MySQL™/MariaDB™ en CentOS.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2015 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Este documento asume que se han estudiado y aplicado los temas descritos en los documentos titulados «Configuración básica de MySQL™ y MariaDB™.» y «Configuración básica de Apache».

Acerca de RADIUS.

RADIUS (Remote Authentication Dial-In User Service) es un protocolo de autenticación, autorización y manejo de cuentas de usuario originalmente desarrollado por Livingston Enterprises y publicado en 1997 como los RFC 2058 y 2059. Es utilizado para administrar el acceso remoto y la movilidad IP, como ocurre en servicios de acceso por modem, DSL, servicios inalámbricos 802.11 o servicios de VoIP (Voice over IP o Voz sobre IP). Este protocolo trabaja a través del puerto 1812 por UDP.

La autenticación gestionada por este protocolo se realiza a través del ingreso de un nombre de usuario y una contraseña. Esta información es procesada por un dispositivo NAS (Network Access Server) a través de PPP (Point-to-Point Protocol o Protocolo Punto-a-Punto) siendo posteriormente validada por un servidor RADIUS a través del protocolo correspondiente valiéndose de diversos esquemas de autenticación, como PAP (Password Authentication Protocol o Protocolo de Autenticación de contraseña), CHAP (Challenge-Handshake Authentication Protocol) o EAP (Extensible Authentication Protocol) y permitiendo el acceso al sistema.

URL: http://tools.ietf.org/html/rfc2058 y http://tools.ietf.org/html/rfc2059

Acerca de Freeradius.

Freeradius, proyecto iniciado en 1999 por Alan DeKok y Miquel van Smoorenburg (quien colaboró anteriormente en el desarrollo de Cistron RADIUS), es una alternativa libre hacia otros servidores RADIUS, siendo uno de los más completos y versátiles gracias a la variedad de módulos que le componenen. Puede operar tanto en sistemas con recursos limitados así como sistemas atendiendo millones de usuarios.

Freeradius inició como un proyecto de servidor RADIUS que permitiera una mayor colaboración de la comunidad y que pudiera cubrir las necesidades que otros servidores RADIUS no podían. Actualmente incluye soporte para LDAP, SQL y otras bases de datos, así como EAP, EAP-TTLS y PEAP. Actualmente incluye soporte para todos los protocolos comunes de autenticación y bases de datos.

URL: http://www.freeradius.org/

Acerca de Daloradius.

Daloradius es una avanzada aplicación HTTP que sirve de sistema de administración para RADIUS y está diseñada para ser utilizada para administrar hotspots (puntos calientes, es decir zona de cobertura Wi-Fi, en el que un punto de entrada o varios proveen servicios de red a través de un Proveedor de Servicios de Internet Inalámbrico o WISP) y uso general para la autenticación de Proveedores de Acceso a Internet (ISP). Incluye gestión de usuarios, reportes gráficos, contabilidad, motor de cobranza e integración con GoogleMaps para Geolocalización.

URL: http://daloradius.com/.

Equipamiento lógico necesario.

En CentOS 6 y 7 y Red Hat™ Enterprise Linux 6 y 7.

Ejecute lo siguiente para instalar lo necesario:

yum -y install freeradius freeradius-mysql freeradius-utils

En CentOS 5 y Red Hat™ Enterprise Linux 5.

Ejecute lo siguiente para instalar lo necesario:

yum -y install freeradius2 freeradius2-mysql freeradius2-utils

Modificaciones necesarias en el muro cortafuegos.

Es necesario abrir los puertos 1812 y 1813 por UDP (radius y radacct).

En CentOS y Red Hat™ Enterprise Linux.

Servicio iptables.

Ejecute lo siguiente:

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1812 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1813 -j ACCEPT

Guarde los cambios ejecutando lo siguiente:

service iptables save

O bien añada lo siguiente al archivo /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m udp -p udp --dport 1812 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 1813 -j ACCEPT

Y reinicie el servicio iptables:

service iptables restart

Firewalld.

Ejecute lo siguiente para añadir de manera permanente la regla correspondiente:

firewall-cmd --permanent --zone=home --add-port=1812/udp
firewall-cmd --permanent --zone=home --add-port=1813/udp

Reinicie el servicio para aplicar los cambios:

systemctl restart firewalld

Shorewall.

Edite el archivo /etc/shorewall/rules:

vi /etc/shorewall/rules

Las regla para permitir conexiones desde la zona correspondiente a la red de ára local sería similar a lo siguiente:

#ACTION	SOURCE	DEST	PROTO 	DEST		SOURCE
#				PORT		PORT(S)1
ACCEPT	loc	fw	udp	1812,1813

Si utiliza CentOS 5 o 6 o bien Red Hat™ Enterprise Linux 5 o 6 reinicie el servicio ejecutando lo siguiente:

service shorewall restart

Si utiliza CentOS 5 o 6 o bien Red Hat™ Enterprise Linux 5 o 6 reinicie el servicio ejecutando lo siguiente:

systemctl restart shorewall

Procedimientos.

Creación de la base de datos y tablas iniciales.

Genere en MySQL™/MariaDB™ una nueva base de datos denominada denominada radius:

mysqladmin -uroot -pContraseñaRootMySQL create radius

Acceda al intérprete de mandatos de MySQL™/MariaDB™:

mysql -uroot -pContraseñaMySQL

Designe el usuario y contraseña para acceder a la base de datos recién creada:

GRANT all ON radius.* TO radius@localhost IDENTIFIED BY 'ContraseñaMySQL';
exit;

Utilice el usuario radius para poblar la nueva base de datos con los esquemas requeridos:

mysql -uradius -pContraseñaMySQL radius < /etc/raddb/sql/mysql/cui.sql
mysql -uradius -pContraseñaMySQL radius < /etc/raddb/sql/mysql/ippool.sql
mysql -uradius -pContraseñaMySQL radius < /etc/raddb/sql/mysql/nas.sql
mysql -uradius -pContraseñaMySQL radius < /etc/raddb/sql/mysql/schema.sql
mysql -uradius -pContraseñaMySQL radius < /etc/raddb/sql/mysql/wimax.sql

Archivo /etc/raddb/radiusd.conf.

Edite el archivo /etc/raddb/radiusd.conf:

vi /etc/raddb/radiusd.conf

Localice lo siguiente alrededor de la línea 735:

        #  Include another file that has the SQL-related configuration.
        #  This is another file only because it tends to be big.
        #
#       $INCLUDE sql.conf

        #

        #

Elimine la almohadilla para habilitar la línea que contiene $INCLUDE sql.conf:

        #  Include another file that has the SQL-related configuration.
        #  This is another file only because it tends to be big.
        #
       $INCLUDE sql.conf

        #

Archivo /etc/raddb/sql.conf.

Edite el archivo /etc/raddb/sql.conf:

vi /etc/raddb/sql.conf

Localice lo siguiente entre las líneas 28 y 42:

	database = "mysql"

	#
	#  Which FreeRADIUS driver to use.
	#
	driver = "rlm_sql_${database}"

	# Connection info:
	server = "localhost"
	#port = 3306
	login = "radius"
	password = "radpass"

	# Database table configuration for everything except Oracle
	radius_db = "radius"

Defina los valores necesarios para establecer la conexión a la base de datos:

	database = "mysql"

	#
	#  Which FreeRADIUS driver to use.
	#
	driver = "rlm_sql_${database}"

	# Connection info:
	server = "localhost"
	#port = 3306
	login = "radius"
	password = "ContraseñaMySQL"

	# Database table configuration for everything except Oracle
	radius_db = "radius"

Vaya a la línea 108 y localice lo siguiente:

	# Set to 'yes' to read radius clients from the database ('nas' table)
	# Clients will ONLY be read on server startup.  For performance
	# and security reasons, finding clients via SQL queries CANNOT
	# be done "live" while the server is running.
	# 
	#readclients = yes

	# Table to keep radius client info
	nas_table = "nas"

Elimine la almohadilla de readclients = yes:

	# Set to 'yes' to read radius clients from the database ('nas' table)
	# Clients will ONLY be read on server startup.  For performance
	# and security reasons, finding clients via SQL queries CANNOT
	# be done "live" while the server is running.
	# 
	readclients = yes

	# Table to keep radius client info
	nas_table = "nas"

Archivo /etc/raddb/sites-enabled/default.

Edite el archivo /etc/raddb/sites-enabled/default:

vi /etc/raddb/sites-enabled/default

Localice lo siguiente —en la sección authorize— alrededor de la línea 177:

        #
        #  Look in an SQL database.  The schema of the database
        #  is meant to mirror the "users" file.
        #
        #  See "Authorization Queries" in sql.conf
#        sql

        #

Elimine la almohadilla de la línea que contiene sql:

        #
        #  Look in an SQL database.  The schema of the database
        #  is meant to mirror the "users" file.
        #
        #  See "Authorization Queries" in sql.conf
        sql

        #

Localice lo siguiente—en la sección accounting— alrededor de la línea 406:

        #
        #  Log traffic to an SQL database.
        #
        #  See "Accounting queries" in sql.conf
#        sql

        #

Elimine la almohadilla de la línea que contiene sql:

        #
        #  Log traffic to an SQL database.
        #
        #  See "Accounting queries" in sql.conf
        sql

        #

Localice lo siguiente —en la sección session— alrededor de la línea 454:

#  Session database, used for checking Simultaneous-Use. Either the radutmp 
#  or rlm_sql module can handle this.
#  The rlm_sql module is *much* faster
session {
        radutmp

        #
        #  See "Simultaneous Use Checking Queries" in sql.conf
#        sql
}

Elimine la almohadilla de la línea que contiene sql:

#  Session database, used for checking Simultaneous-Use. Either the radutmp 
#  or rlm_sql module can handle this.
#  The rlm_sql module is *much* faster
session {
        radutmp

        #
        #  See "Simultaneous Use Checking Queries" in sql.conf
        sql
}

Archivo /etc/raddb/sites-enabled/inner-tunnel.

Edite el archivo /etc/raddb/sites-enabled/inner-tunnel:

vi /etc/raddb/sites-enabled/inner-tunnel

Localice lo siguiente —en la sección session— alrededor de la línea 132:

 	#  is meant to mirror the "users" file.
 	#
 	#  See "Authorization Queries" in sql.conf
#	sql
 
 	#
 	#  If you are using /etc/smbpasswd, and are also doing

Elimine la almohadilla de la línea que contiene sql:

 	#  is meant to mirror the "users" file.
 	#
 	#  See "Authorization Queries" in sql.conf
	sql
 
 	#
 	#  If you are using /etc/smbpasswd, and are also doing

Localice lo siguiente —en la sección session— alrededor de la línea 256:

 	#
 	#  See "Simultaneous Use Checking Queries" in sql.conf
#	sql
 }

Elimine la almohadilla de la línea que contiene sql:

 	#
 	#  See "Simultaneous Use Checking Queries" in sql.conf
	sql
 }

Edite el archivo /etc/raddb/eap.conf:

vi /etc/raddb/eap.conf

Localice lo siguiente alrededor de la línea 158:

                        #
                        #  These is used to simplify later configurations.
                        #
                        certdir = ${confdir}/certs
                        cadir = ${confdir}/certs

                        private_key_password = whatever
                        private_key_file = ${certdir}/server.pem

Reemplace whatever por cualquier contraseña tan compleja como le sea posible. Por ejemplo: 6caa3f5abd4a900c05fd8abda496e377. Por favor, evite utilizar el ejemplo anterior ya que éste está siendo utilizada en un documento de acceso al público en general. Sería una pésima idea utilizar una contraseña así. Ésta será la utilizada para crear las firmas digitales que luego serán utilizadas para crear el certificado de autoridad (CA), certificado de servidor y certificados de clientes para un entorno en producción.

                        #
                        #  These is used to simplify later configurations.
                        #
                        certdir = ${confdir}/certs
                        cadir = ${confdir}/certs

                        private_key_password = 6caa3f5abd4a900c05fd8abda496e377
                        private_key_file = ${certdir}/server.pem

Archivo /etc/raddb/client.conf.

Edite el archivo /etc/raddb/client.conf:

vi /etc/raddb/client.conf

Localice lo siguiente alrededor de la línea 101:

        #  The default secret below is only for testing, and should
        #  not be used in any real environment.
        #
        secret          = testing123

        #

El valor de secret corresponde a la contraseña compartida que será utilizada por todos los clientes para realizar las conexiones hacia el servidor. Reemplace testing123 por cualquier contraseña tan compleja como le sea posible. Por ejemplo c72091835f5f4924af81ab020ed75991. Por favor, evite utilizar el ejemplo anterior ya que éste está siendo utilizada en un documento de acceso al público en general. Sería una pésima idea utilizar una contraseña compartida así.

        #  The default secret below is only for testing, and should
        #  not be used in any real environment.
        #
        secret          = c72091835f5f4924af81ab020ed75991

        #

Creación de certificados y firmas digitales.

Edite los archivos /etc/raddb/certs/ca.cnf, /etc/raddb/certs/client.cnf y /etc/raddb/certs/server.cnf:

vi /etc/raddb/certs/ca.cnf
vi /etc/raddb/certs/client.cnf
vi /etc/raddb/certs/server.cnf

Localice lo siguiente en los 3 archivos:

name_opt                = ca_default
cert_opt                = ca_default
default_days		= 60
default_crl_days	= 30
default_md              = sha256
preserve                = no
policy                  = policy_match

Lo anterior indica que los certificados que se crearán tendrán una vigencia de 60 días y que el archivo de lista de revocación de certificados se generará cada cada 30 días se caducarán los certificados. Reemplace los valores de default_days y default_crl_days por lo que considere conveniente. Ejemplo:

name_opt                = ca_default
cert_opt                = ca_default
default_days		= 730
default_crl_days	= 60
default_md              = sha256
preserve                = no
policy                  = policy_match

Localice en cada uno lo siguiente:

[ req ]
prompt                  = no
distinguished_name      = certificate_authority
default_bits            = 2048
input_password          = whatever
output_password         = whatever
x509_extensions         = v3_ca

Reemplace whatever por la contraseña que definió en la línea 158 del archivo /etc/raddb/eap.conf. Ejemplo:

[ req ]
prompt                  = no
distinguished_name      = certificate_authority
default_bits            = 2048
input_password          = 6caa3f5abd4a900c05fd8abda496e377
output_password         = 6caa3f5abd4a900c05fd8abda496e377
x509_extensions         = v3_ca

Localice lo siguiente en los 3 archivos lo siguiente:

countryName             = FR
stateOrProvinceName     = Radius
localityName            = Somewhere
organizationName        = Example Inc.
emailAddress            = admin@example.com

Personalice los datos a los que correspondan a su organización. Evite utilizar tildes y utilice comillas para definir los datos que utilicen espacios. Ejemplo:

countryName             = MX
stateOrProvinceName     = Chiapas
localityName            = "Tuxtla Gutierrez"
organizationName        = "Alcance Libre"
emailAddress            = freeradius@alcancelibre.org.mx

Pude poner lo que guste como valor emailAddress. El único valor que debe ser diferente entre los 3 archivos es el valores de commonName. Debe ser algo único y que distinga un certificado de otro.

Defina lo siguiente en el archivo /etc/raddb/certs/ca.cnf:

emailAddress            = adminca@alcancelibre.org.mx
commonName              = "Autoridad Certificadora de Alcance Libre"

Defina lo siguiente en el archivo /etc/raddb/certs/client.cnf tomando en cuenta que puede poner cualquier cuenta de correo como valor para emailAddress y que el valor de emailAddress debe ser una cuenta de correo única:

emailAddress            = adminclientes@alcancelibre.org.mx
commonName              = adminnas1@alcancelibre.org.mx

Defina lo siguiente en el archivo /etc/raddb/certs/server.cnf:

emailAddress            = adminservidor@alcancelibre.org.mx
commonName              = "Certificado de Servidor Alcance Libre"

Elimine todas las firma y certificados predeterminados:

rm -f \
    /etc/raddb/certs/{dh,index.*,*.pem,*.key,*.der,*.csr,*.old,*.p12,serial*}

Ejecute lo siguiente para generar el nuevo juego de firmas digitales y certificados:

runuser -g radiusd -c 'umask 007; /etc/raddb/certs/bootstrap'

Ejecute lo siguiente para generar el certificado un cliente:

make -C /etc/raddb/certs client.pem

Si requiere generar más certificados para cliente, edite de nuevo el archivo /etc/raddb/certs/client.conf, cambie el valor de emailAddress por otra cuenta de correo completamente distinta y vuelva a ejecutar lo anterior.

Los sistemas clientes deberán realizar las conexiones por TLS utilizando EAP. Para la mayoría de los sistemas operativos —GNU/Linux, Mac OS X y derivados de UNIX— sólo sera necesario importar los certificados en los archivos /etc/radddb/certs/ca.pem y /etc/radddb/certs/adminnas1@alcancelibre.org.mx.pem. Para clientes Windows será necesario además el archivo /etc/radddb/certs/ca.der.

Iniciar y habilitar el servicio.

ALDOS 1.4, CentOS 5 y 6 y Red Hat™ Enterprise Linux 5 y 6.

Ejecute lo siguiente para iniciar el servicio radiusd:

service radiusd start

Ejecute lo siguiente para activar el servicio radiusd para que éste inicie automáticamente durante el siguiente inicio del sistema:

chkconfig radiusd on

CentOS 7 y Red Hat™ Enterprise Linux 7.

Ejecute lo siguiente para iniciar el servicio radiusd:

systemctl start radiusd

Ejecute lo siguiente para activar el servicio radiusd para que éste inicie automáticamente durante el siguiente inicio del sistema:

systemctl enable radiusd

Creación y validación de cuentas de usuario desde MySQL™/MariaDB™.

Ejecute lo siguiente para crear una cuenta de usuario que será utilizada para realizar pruebas. Ingrese al intérprete de mandatos de MySQL™/MariaDB™:

mysql -uradius -pContraseñaMySQL radius

Desde el intérprete de mandatos de MySQL™/MariaDB™, ejecute lo siguiente para dar de alta un usuario de pruebas (fulano) con una contraseña (ContraseñaFulano en el ejemplo):

INSERT INTO radcheck (username, attribute, op, value) VALUES ('fulano', 'Cleartext-Password', ':=', 'ContraseñaFulano');

Verifique que el usuario se dio de alta correctamente:

select * from radcheck where username='fulano';

La salida de lo anterior debe ser similar a la siguiente:

+----+----------+-----------+----+-------------------+
| id | username | attribute | op | value             |
+----+----------+-----------+----+-------------------+
|  1 | fulano   | Password  | := | ContraseñaFulano  | 
+----+----------+-----------+----+-------------------+
1 row in set (0.00 sec)

Salga intérprete de mandatos de MySQL™/MariaDB™:

exit;

Ejecute algo similar a lo siguiente para verificar que el servicio funciona correctamente. Utilizará la contraseña compartida que se definió en la línea 101 como valor para secret en el archivo /etc/raddb/client.conf.

radtest fulano ContraseñaFulano localhost:1812 0 ContraseñaDefinidaEnClient.conf

Ejemplo:

radtest fulano ContraseñaFulano localhost:1812 0 c72091835f5f4924af81ab020ed75991

Lo anterior debe devolver algo similar como lo siguiente:

Sending Access-Request of id 242 to 127.0.0.1 port 1812
	User-Name = "fulano"
	User-Password = "ContraseñaFulano"
	NAS-IP-Address = 127.0.0.1
	NAS-Port = 0
	Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=242, length=20

Con todos los procedimientos anteriores sólo se podrá autenticar usuarios desde el anfitrión local. Se debe crear un registro para cada NAS o punto de entrada a fin de permitir que éstos puedan conectarse para autenticar usuarios. Ingrese al intérprete de mandatos de MySQL™/MariaDB™:

mysql -uradius -pContraseñaMySQL radius

Ejecute lo siguiente, definiendo la dirección IP utilizada por el NAS o punto de entrada, un nombre corto para identificarlo, tipo de NAS (other, cisco, livingston, computon, max40xx, multitech, natserver, pathras, patton, portslave, tc o usrhiper) y la contraseña que será utilizada específicamente por este NAS o punto de entrada para acceder al servidor. Si utiliza un punto de entrada casero o desconoce que definir en el tipo de NAS, sólo defina el tipo other.

INSERT INTO nas (nasname, shortname, type, secret) VALUES ('192.168.70.1', 'NAS1', 'other', 'ContraseñaNAS1');

Para verificar, ejecute desde el intérprete de mandatos de MySQL™/MariaDB™ lo siguiente:

select * from nas where shortname='NAS1';

Lo anterior debe regresar algo similar a lo siguiente::


+----+---------------+-----------+-------+-------+-----------------+-----------+---------------+
| id | nasname       | shortname | type  | ports | secret          | community | description   |
+----+---------------+-----------+-------+-------+-----------------+-----------+---------------+
|  1 | 192.168.70.1  | NAS1      | other |  NULL | ContraseñaNAS1  | NULL      | RADIUS Client | 
+----+---------------+-----------+-------+-------+-----------------+-----------+---------------+
1 row in set (0.00 sec)

Para validar ejecute lo siguiente si 192.168.70.1 es otro servidor con radtest instalado, donde 192.168.70.72 corresponde a la dirección IP del servidor radius:

radtest fulano ContraseñaFulano 192.168.70.72:1812 0 ContraseñaNAS1

La salida debe ser similar a la siguiente.

Sending Access-Request of id 78 to 192.168.70.72 port 1812
	User-Name = "fulano"
	User-Password = "ContraseñaFulano"
	NAS-IP-Address = 127.0.0.1
	NAS-Port = 0
	Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 192.168.70.72 port 1812, id=78, length=20

Instalación de Daloradius.

Ejecute lo siguiente para instalar lo necesario:

yum -y install php php-mysql php-gd php-pear php-pear-DB mod_ssl

Cambie al directorio /var/www/:

cd /var/www

Descargue desde sourceforge.net/projects/daloradius el archivo correspondiente a la versión más reciente de Daloradius:

wget http://sourceforge.net/projects/daloradius/files/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz

Descomprima el archivo descargado:

tar zxvf daloradius-0.9-9.tar.gz

Cambie los permisos de todo el contenido del directorio recién descomprimido para que pertenezcan al usuario y grupo apache:

chown -R apache:apache daloradius-0.9-9

Cambie al directorio daloradius-0.9-9:

cd daloradius-0.9-9

cargue las tablas de Daloradius en la base de datos utilizada por Freeradius.

mysql -uradius -pContraseñaMySQL < contrib/db/mysql-daloradius.sql

Edite el archivo library/daloradius.conf.php:

vi library/daloradius.conf.php

Localice lo siguiente entre las líneas 26 y 33:

$configValues['DALORADIUS_VERSION'] = '0.9-9';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'root';
$configValues['CONFIG_DB_PASS'] = '';
$configValues['CONFIG_DB_NAME'] = 'radius';

Edite los valores correspondientes a los necesarios para la conexión ala base de datos utilizada por Freeradius.

$configValues['DALORADIUS_VERSION'] = '0.9-9';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'ContraseñaMySQL';
$configValues['CONFIG_DB_NAME'] = 'radius';

Localice lo siguiente alrededor de la línea 86:

$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';

Cambie testing123 por la contraseña compartida que se definió en la línea 101 como valor para secret en el archivo /etc/raddb/client.conf:

$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'c72091835f5f4924af81ab020ed75991';

Genere un nuevo archivo denominado /etc/httpd/conf.d/daloradius.conf:

vi /etc/httpd/conf.d/daloradius.conf

Añada el siguiente contenido y reemplace 192.168.70.0/25 el bloque de direcciones IP o bien la dirección IP desde el cual se realizará la administración a través de Daloradius:

Alias /daloradius "/var/www/daloradius-0.9-9"
<Directory "/var/www/daloradius-0.9-9">
      Options SymLinksIfOwnerMatch
      php_value date.timezone America/Mexico_City
      RewriteEngine  on
      RewriteCond    %{HTTPS} ¡=on
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    <IfModule mod_authz_core.c>
      # Apache 2.4
      Require local
      Require ip 192.168.70.0/25
    </IfModule>
    <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1
      Allow from 192.168.70.0/25
      Allow from ::1
    </IfModule>
</Directory>

Si utiliza CentOS 5 o 6 o bien Red Hat™ Enterprise Linux 5 o 6 ejecute lo siguiente para aplicar los cambios en la configuración del servicio httpd:

service httpd restart

Si utiliza CentOS 7 o bien Red Hat™ Enterprise Linux 7 ejecute lo siguiente para aplicar los cambios en la configuración del servicio httpd:

systemctl start httpd

Acceda con cualquier navegador moderno hacia https://direción-ip-servidor/daloradius/. Ingrese con el usuario Administrator y la contraseña radius. Desde esta interfaz podrá añadir y administrar las cuentas de usuarios y añadir y administrar los NAS y los puntos de entrada.

Bibliografía.

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 04/09/2015, 17:36|Hits: 52,823 Ver la versión para imprimir