Sunteți pe pagina 1din 6

8/9/2014 Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu 9.

04
http://www.soportejm.com.sv/kb/index.php/article/printer/daloradius 1/6
Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu
9.04
Installation of Freeradius, MySQL and DaloRadius in Ubuntu 9.04
OS Ubuntu 9.04 y 9.10
Objetivo Instalacin de RADIUS
Condicin Tener instaladas todas las dependencias necesarias
Esta Gua est elaborada para la configuracin de un Sistema de Autenticacion basado en los siguientes
paquetes:
Ubuntu 9.04 (Version Server) Freeradius 2.1
DaloRADIUS 0.9-8
Apache2
MySQL 5.1
Si la instalacin se realizar en un Computador nuevo, lo recomendable es que cuando se haga la
instalacin de la distribucin de UBUNTU instalemos la paquetera de LAMP (Linux, Apache, MySQL y
PHP). Aqui est la gua .
Si no, se tendra que hacer la instalacin de estos paquetes de forma manual:
sudo apt-get install apache2
sudo apt-get install php5 libapache2-mod-php5
sudo apt-get install mysql-server
Aqu una gua completa
1 - Primeramenta hacemos la instalacin de algunas libreras necesarias para que todo funcione ok.
apt-get install debhelper libltdl3-dev libpam0g-dev libmysqlclient15-dev build-essential libgdbm-dev
libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotools-dev dpatch libperl-dev libtool dpkg-
dev libpq-dev libsnmp-dev libssl-dev
2 - Instalamos el paquete de FreeRadius:
apt-get install freeradius freeradius-mysql
3 - Editamos el archivo "users" y creamos un usuario para hacer las pruebas de funcionamiento del
radius:
nano /etc/freeradius/users
*** En este archivo hay varios ejemplos de diferente tipo de usuarios que podemos utilizar. Podemos
descomentar uno de estos o bien, crear uno nuevo con nuestros propios datos y lo ponemos al final del
archivo. Ej:
ncalderon Cleartext-Password := "123456"
Service-Type = Framed-User,
Framed-Protocol = PPP,
# Framed-IP-Address = 172.16.3.33,
8/9/2014 Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu 9.04
http://www.soportejm.com.sv/kb/index.php/article/printer/daloradius 2/6
# Framed-IP-Netmask = 255.255.255.0,
# Framed-Routing = Broadcast-Listen,
# Framed-Filter-Id = "std.ppp",
# Framed-MTU = 1500,
Framed-Compression = Van-Jacobsen-TCP-IP
*** La primera prueba que podemos hacer es habilitar el programa en modo debug:
/etc/init.d/freeradius stop
freeradius -X
radtest ncalderon 1234561 127.0.0.1 1812 testing123
Si todo esta bien, veremos esta informacin:
Sending Access-Request of id 174 to 127.0.0.1 port 1812
User-Name = "ncalderon"
User-Password = "123456"
NAS-IP-Address = 127.0.1.1
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=174, length=38
Service-Type = Framed-User
Framed-Protocol = PPP
Framed-Compression = Van-Jacobson-TCP-IP
Debemos asegurarnos de recibir un "Access-Accept" del request que se ha enviado.
---------------------------- Configuracin del Radius con MySQL ----------------------------------------
4 - Configuramos seguidamente el el FreeRadius para que pueda leer la data desde MySQL
En este punto, es necesario, editar el archivo, /etc/freeradius/radiusd.conf y descomentamos la linea
"$INCLUDE sql.conf"
*** Para accesar a la administracin de MySQL via CLI hacemos lo siguiente
mysql -u root -p
*** Creamos la base de datos
CREATE DATABASE radius;
*** Declararamos un usuario para la base de datos:
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "labserver";
*** En este caso asumimos que la Base de datos se llama "radius" y creamos un usuario tambien
"radius" con password "labserver"
*** Salimos de la base de datos
exit;
5 - Ahora metemos algunas tablas en la base de Datos:
*** Las tablas de ejemplo estan dentro del directorio: /etc/freeradius/sql/mysql/
cd /etc/freeradius/sql/mysql/
mysql -u root -p radius < admin.sql
mysql -u root -p radius < ippool.sql
mysql -u root -p radius < nas.sql
8/9/2014 Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu 9.04
http://www.soportejm.com.sv/kb/index.php/article/printer/daloradius 3/6
mysql -u root -p radius < schema.sql
*** Para ver las tablas creadas podemos hacer lo siguiente:
mysql -u root -p
use radius;
show tables;
Apacerera algo como esto,
+------------------+
| Tables_in_radius |
+------------------+
| nas |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radippool |
| radpostauth |
| radreply |
| radusergroup |
+------------------+
9 rows in set (0.00 sec)
*** Luego nos salimos de la base con:
quit;
6 - Luego editamos el archivo /etc/freeradius/sql.conf
nano /etc/freeradius/sql.conf
*** Configuramos los setting para la conexin con el server de MySQL:
# Connection info:
server = "localhost"
login = "radius"
password = "labserver"
Y descomentamo la variable: readclients = yes
7 - Luego Editamos el Archivo: /etc/freeradius/sites-available/default y agregamos la variable
"sql" en las secciones de.: authorize{}, accounting{}, session{}, post-auth{} esto para traer los
datos desde las tablas en la base de datos "radius"
nano /etc/freeradius/sites-available/default
authorize {
preprocess
chap
mschap
suffix
eap
sql
pap
}
accounting {
detail
sql
}
8 - Luego podemos insertar un usuario en la base de datos de la siguiente forma:
mysql -u root -p
use radius;
8/9/2014 Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu 9.04
http://www.soportejm.com.sv/kb/index.php/article/printer/daloradius 4/6
INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('usuario1', 'Password', 'password1');
select * from radcheck where UserName='usuario1';
*** En este caso debe de aparecer el usuario que hemos creado.
*** Para probar que todo esta ok,
freeradius -X
radtest usuario1 password1 127.0.0.1 1812 testing123
*** Debe aparecer un resultado mas o menos como este:
root@daloradius:~# radtest usuario1 password1 127.0.0.1 1812 testing123
Sending Access-Request of id 215 to 127.0.0.1 port 1812
User-Name = "usuario1"
User-Password = "password1"
NAS-IP-Address = 127.0.1.1
NAS-Port = 1812
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=215, length=20
---------------------------------Instalacin de DaloRADIUS ------------------------------------------------
----
*** Como todas las pruebas que hemos hecho hasta este momento ya estn ok y hemos obtenido
buenos resultados, procedemos a instalar la interface de administracin GUI de DALORADIUS.
9 - Primero debemos de bajar la versin mas reciente de este paquete, podemos bajarlo desde:
wget http://softlayer.dl.sourceforge.net/project/daloradius/daloradius/daloradius-0.9-8/daloradius-0.9-
8.tar.gz esta es la versin mas reciente a la fecha.
*** Si damos el camando "ls" podremos ver el archivo daloradius-0.9-8.tar.gz el cual ser necesario
descomprimir con el siguiente comando:
tar xvzf daloradius-0.9-8.tar.gz
10 - Luego copiamos este archivo bajo el directorio de publicacin del servidor web. Como en nuestro
caso estamos trabajando con una distribucin de Ubuntu (9.04), el directorio de publicacin por defecto
es: /var/www/. Entonces hacemos lo siguiente:
cp daloradius-0.9-8 /var/www/daloradius -R
*** Para esto asumimos que ya est instalado el paquete de "Apache2" y los paquetes mencionados al
inicio de la gua
11 - Luego instalamos algunas librerias que son necesarias para el buen funcionamiento de la
aplicacin:
apt-get install php5 php5-mysql php-pear php5-gd php-DB
12 - Ahora cambiamos los permisos y propiedades del directorio de daloradius.
chown www-data:www-data /var/www/daloradius/ -R
13 - Cambiamos los permisos del archivo:
chmod 644 /var/www/daloradius/library/daloradius.conf.php
14 - Para que Daloradius funcione correctamente, se requiere agregar algunas tablas mas a la base de
datos de MySQL. Estas tablas ya estan incluidas en el directorio de DaloRadius, por lo que solo es
necesario ejecutar el siguiente comando:
mysql -u root -p radius < /var/www/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
*** Si no se muestra errores deberian estar estas nuevas tablas creadas en la base de datos. Una
buena herramienta para administrar las bases de datos de MySQL es "phpmyadmin"
*** Si lo deseamos instalar hacemos lo siguiente:
apt-get install phpmyadmin (No es mandatorio pero nos facilitar la existencia)
8/9/2014 Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu 9.04
http://www.soportejm.com.sv/kb/index.php/article/printer/daloradius 5/6
*** Una vez instalado accesamos con asi: http://x.x.x.x/phpmyadmin
usuario: root
password: (el usuario asignado a la cuenta root del server)
*** Otra forma de ver las tablas seria siempre con la linea de comando:
mysql -u root -p
use radius ;
show tables;
Deberia de aparecer un listado mas o menos como este:
Database changed
mysql> show tables;
+------------------+
| Tables_in_radius |
+------------------+
| billing_history |
| billing_paypal |
| billing_plans |
| billing_rates |
| dictionary |
| hotspots |
| nas |
| operators |
| proxys |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radippool |
| radpostauth |
| radreply |
| radusergroup |
| realms |
| userbillinfo |
| userinfo |
| wimax |
+------------------+
21 rows in set (0.01 sec)
exit;
15 - Seguidamente editamos el archivo daloradius.conf.php para poner los valores de la conexin al
server de la base de datos:
......................
CONFIG_DB_ENGINE = mysql
CONFIG_DB_HOST = 127.0.0.1
CONFIG_DB_USER = radius
CONFIG_DB_PASS = labserver
CONFIG_DB_NAME = radius
.......................
*** Guardamos los cambios y salimos del editor.
16 - Una vez esto, reiniciamos el apache:
/etc/init.d/apache2 restart
17 - Ahora ya podemos accesar al GUI usando el siguiente enlace:
http://x.x.x.x/daloradius (En este caso "daloradius" hace referencia al directorio dentro de /var/www/
8/9/2014 Instalacin de Freeradius, MySQL y DaloRadius en Ubuntu 9.04
http://www.soportejm.com.sv/kb/index.php/article/printer/daloradius 6/6
en donde publicamos el sitio)
Usuario: Administrator
Password: radius
*** Cambie "x.x.x.x" por la ip de su servidor.
*** Cambie tambien el password del administrador del DaloRADIUS para evitar problema de seguridad,
y es tambin altamente recomendado borrar el usuario "liran" el cual se agrega por default y pertenece
al creador de cdigo de la aplicacin. (Le agredecemos el desarrollo, pero no le dejaremos entrar a
nuestro server,
NOTAS: En algunas versiones de DaloRADIUS algunas tablas vienen nombradas de forma diferente en
el esquema de la Base de Datos y el Archivo de conexion de PHP, "daloradius.conf.php", por lo tanto
es necesario luego comparar los nombres de las tablas en este archivo, con los nombres reales en las
tablas dentro de la Base de Datos en MySQL.
Un ejemplo de ISSUE que trae la version 0.9.8 de DaloRADIUS es el nombre de la tabla de grupo de
usuarios, en el archivo aparece como "usergroup" pero en la Base de datos aparece como
"radusergroup"... Lo mas sencillo ser cambiar en nombre dentro del archivo de configuracin de
"daloradius.conf.php"
Este error se presenta desde el GUI de Daloradius:
Database error
Error Message: DB Error: no such table
Debug info: SELECT distinct(radcheck.username),radcheck.value, radcheck.id,usergroup.groupname as
groupname, radcheck.attribute, userinfo.firstname, userinfo.lastname FROM radcheck LEFT JOIN
userinfo ON radcheck.username=userinfo.username LEFT JOIN usergroup ON
radcheck.username=usergroup.username WHERE (Attribute LIKE ' assword') OR (Attribute='Auth-
Type') GROUP BY UserName [nativecode=1146 ** Table 'radiusdb.usergroup' doesn't exist]
Fatal error: Call to undefined method DB_Error::numRows() in /var/www/daloradius-0.9-8/mng-list-
all.php on line 102
Realacionados :
Cmo Autenticar usuarios va radius en un FortiGate
Referencias:
http://freeradius.org/
http://wiki.freeradius.org/SQL_HOWTO
http://sourceforge.net/projects/daloradius
http://www.howtoforge.com/wifi-authentication-accounting-with-freeradius-on-centos5
http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html
You can view this article online at:
http://www.soportejm.com.sv/kb/index.php/article/daloradius

S-ar putea să vă placă și