En un tutorial anterior, examinábamos como funcionaba radius. Mencionábamos que Radius, podría funcional usando MySQL (y otros sql) como backendcore. Finalmente un cliente necesitó una solución de capa completa y he aquí; la prometida expansión del mencionado artículo.
Claramente, no basta con que radius sea la mar de versátil, requerimos además; una herramienta lo suficientemente digna de manipular 500 o 1’000 usuarios y esa herramienta es daloradius.
Daloradius es una interfaz web, no solo linda, si no, lo suficientemente funcionar como para sacarle el jugo a freeradius. Permite además, hacer operaciones predefinidas muy buenas para cosas como hotspot, etc… Lo más especial en mi opinión es el sistema de contabilidad. Muy bueno para cuotas.
En fin, instalamos el software necesario.
1 2 3 |
|
Primero y principioso, hay que configurar el servidor de MySQL, o sea, inicializarlo.
1
|
|
Una vez que tenemos el servidor sql listo, procedemos a crear la base de datos.
1
|
|
1 2 |
|
Lamentablemente freeradius no tiene un instalador. Así que hay que llenar la base de datos manualmente.
1
|
|
Habilitamos el módulo de SQL para freeradius
1
|
|
Ahora vamos a editar una serie de parámetros de radius. Para ello nos dirigimos al directorio /etc/raddb/ ya que allí hay unos cuantos ficheros que modificaremos.
En el fichero radiusd.conf vamos a hacer unos cuantos cambios así que atentos.
Para empezar, localiza la sesión que carga los módulos, debe quedar así.
1 2 3 |
|
Como habrá notado, la estructura de los directorio de configuración de radius, se de un aire a la de apache en debian. La configuración como tal, se parece más a nginx.
Como vimos, radius es muy modular. Puede usar numerosos backendcores, entre ellos sql. En el fichero sites-available/default modificaremos ciertos parámetros para que TODO funcione contra SQL.
Localizaremos las sesiones, authorize, accounting, session, post-auth, Post-Auth-Type REJECT.
Más o menos el fichero luciría así:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Ya dijimos que usaremos sql, así que tenemos que configurar la conexión a dicha base de datos. El fichero mods-available/sql contiene dicha configuración. A mi me quedó así:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Finalmente probamos la configuración de radius.
1
|
|
Ahora la guinda del pastel, el daloradius. Primero instalamos una dependencias requeridas.
1 2 |
|
Los clásico, descargar e instalar daloradius.
1 2 3 4 5 |
|
En el presente tutorial, asumimos que ya tienes una LEMP instalada…
Otro que no tiene configuración es daloradius, así que debes setear los parámetros manualmente. El fichero de configuración se llama library/daloradius.conf.php. De los parámetros, los que más nos interesan son.
1 2 3 4 5 6 7 8 |
|
Al igual que con freeradius, tenemos que inicializar la base de datos manualmente, ya que como mencioné, daloradius no tiene instalador. Ojo, que la línea es larga.
1
|
|
El usuario del loguearte la primera vez es administrator y la contraseña radius.
Bueno, ahora puede empezar a crear usuarios…
Puedes configurar el squid para que se autentique mediante radius, la linea del autenticador queda más o menos así:
1
|
|
En este presunto caso, el squid y el radius, están instalados en el mismo servidor. Pero si quieres que otro host se conecte, debes declararlo en el fichero /etc/raddb/clients.conf. De otra forma, todo el que pida autenticación; será deliberadamente denegada. Coloca la configuración encima de la del localhost.
1 2 3 4 5 6 7 |
|
Sucesivamente, puedes tener declarado cuantos host quieras y cada uno tiene parámetros individuales, por ejemplo, al host mi_servidor, se le cambió el secret.
Así sucesivamente puede configurar los AP, le declaramos la autenticación WPA2. Para que tenga una idea, esto sería una configuración de hostapd.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Por ejemplo, así quedaría un DDWRT, usando autenticación WPA2 contra radius.