You are on page 1of 48

rea de la Energa, las Industrias y los Recursos Naturales No Renovables

TESIS PREVIA A LA OBTENCIN DEL TTULO EN INGENIERO EN SISTEMAS

AUTORES: Fabricio Alejandro Flores Gallardo Lisset Alexandra Neyra Romero DIRECTOR: Ing. Juan Manuel Galindo Vera Loja-Ecuador 2012

FreeRADIUS, CoovaChilli y daloRADIUS

MANUAL TCNICO 1. NDICE GENERAL


1. NDICE GENERAL ........................................................................................2 2. INDICE DE FIGURAS...................................................................................4 3. INTRODUCCIN...........................................................................................5 4. A QUIN VA DIRIGIDO EL MANUAL? ...................................................5 5. CONSIDERACIONES PREVIAS ................................................................5 6. REQUERIMIENTOS DEL SISTEMA..........................................................5 7. CONFIGURACIONES PREVIAS ................................................................6 7.1. Instalacin de paquetes ............................................................................6 7.2. Configuracin de interfaces de red .........................................................9 7.3. Configuracin del ip_forward .................................................................10 7.4. Activacin del modo tun ..........................................................................11 8. CONFIGURACIN DEL SERVIDOR .......................................................11 8.1. FreeRADIUS .............................................................................................12 8.1.1. Instalacin de paquetes de FreeRADIUS ........................................12 8.1.2. Configuracin de la base de datos ....................................................12 8.1.3. Configuracin de la conexin con la base de datos .......................14 8.1.4. Configuracin de la Autorizacin y Contabilidad .............................15 8.1.5. Conexin con el web services del S.G.A..........................................16 8.1.6. Configuracin del cliente localhost ....................................................17 8.1.7. Arrancando FreeRADIUS ....................................................................18 8.2. Coovachilli .................................................................................................20 8.2.1. Instalacin ..............................................................................................20 8.2.2. Configuracin del archivo principal de CoovaChilli .........................20 8.2.3. Configuracin del portal cautivo .........................................................23 8.2.4. Archivo hotspotlogin.php .....................................................................24

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

8.2.5. Creacin del archivo ipup.sh ..............................................................35 8.2.6. Generacin de certificados SSL apache2 .......................................38 8.2.7. Creacin de host virtual .......................................................................39 8.3. daloRADIUS ..............................................................................................43 8.3.1. Instalacin ..............................................................................................43 8.3.2. Configuracin ........................................................................................44 8.4. Errores Comunes .....................................................................................46 8.4.1. Error al crear el directorio /var/log/freeradius/radacct ....................46 8.4.2. Error de reinicio de servicio FreeRADIUS .......................................47 8.4.3. Error al leer los logs de daloRADIUS ................................................48

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

2. INDICE DE FIGURAS Figura 1. Taskel............................................................................... 7 Figura 2. Introducir Contrasea MySQL para el usuario root ........... 8 Figura 3. Ventana de configuracin de certificado SSL ................. 39 Figura 4. Direccin de Ingreso con IP ........................................... 45 Figura 5. Direccin de Ingreso con dominio .................................. 45 Figura 6. Ventana de Logeo .......................................................... 46 Figura 7. Error al levantar el servicio FreeRADIUS ....................... 47 Figura 8. Archivo rc.local ............................................................... 48

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

3. INTRODUCCIN El presente manual tcnico tiene como objetivo fundamental presentar de una manera detallada y concreta los pasos a seguir para poder configurar adecuadamente el servidor RADIUS con un portal cautivo para la Universidad Nacional de Loja. 4. A QUIN VA DIRIGIDO EL MANUAL? El manual va dirigido a los administradores de red de la Unidad de Telecomunicaciones e Informacin de la Universidad Nacional de Loja. Adems se plantea como una solucin para personas que deseen implementar una solucin similar en cualquier otro mbito. 5. CONSIDERACIONES PREVIAS Para configurar adecuadamente el servidor se debe tomar en cuenta que primeramente se debe tener ciertas consideraciones como: Conocimientos previos en Linux Ubuntu Server (Instalacin y Configuracin) Conocimientos previos de networking (redes, NAT, iptables) 6. REQUERIMIENTOS DEL SISTEMA Para la instalacin y configuracin del servidor RADIUS con un portal cautivo para la Universidad Nacional de Loja es necesario ciertos requerimientos importantes tanto en hardware como en software. Tomando en cuenta el estudio realizado durante el desarrollo del presente proyecto se ha considerado que los requerimientos

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

mnimos para el correcto funcionamiento del servidor son los siguientes: Hardware: Procesador: Intel Core2Duo CPU E7500 @ 2.93 GHz x 2 2 GB de Memoria RAM 320 GB de Disco Duro Dos tarjetas de red Ethernet Software: Ubuntu Server 12.04 FreeRADIUS versin 2.1.10 CoovaChilli versin 1.2.6 daloRADIUS versin 0.9.9 7. CONFIGURACIONES PREVIAS Para la configuracin adecuada del servidor es necesario realizar primeramente unas configuraciones al sistema operativo. 7.1. Instalacin de paquetes Luego de la instalacin del sistema operativo lo primero que se debe hacer es actualizar el listado de paquetes, lo que se realiza con el siguiente comando. $ sudo apt-get update Posteriormente procedemos a instalar tasksel, que es un sistema de instalacin de paquetes por consola. Tasksel agrupa los

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

paquetes de software por tareas y ofrece un modo sencillo de instalar todos los paquetes que son necesarios para dicha tarea. Se Instala tasksel con el siguiente comando: $ sudo apt-get install tasksel Ahora se ejecuta Tasksel: $ sudo tasksel A continuacin se presentar dentro del terminal una pantalla con varios paquetes de software, en donde se va a seleccionar los paquetes que interesan: LAMP server y OpenSSH server.

Figura 1. Taskel Tasksel se encargar de descargar todos los paquetes y dependencias tanto del LAMP Server (Apache, MySQL y Php) y de OpenSSH. Durante la instalacin del LAMP Server va a pedir la contrasea de root para MySQL, entonces se proceder a colocarla.
Lisset Neyra Fabricio Flores

Universidad Nacional de Loja

FreeRADIUS, CoovaChilli y daloRADIUS

Figura 2. Introducir Contrasea MySQL para el usuario root Adems de los paquetes anteriores, es tambin necesario instalar algunos paquetes indispensables para el correcto funcionamiento de todas las aplicaciones que van a funcionar en el servidor. $ sudo apt-get install debhelper libltdl3-dev libiodbc2-

libpam0g-dev libgdbm-dev

libmysqlclient15-dev libldap2-dev

build-essential

libsasl2-dev

dev libkrb5-dev snmp autotools-dev dpatch libperldev libtool dpkg-dev libpq-dev libsnmp-dev libssldev php5 php5-mysql php-pear php5-gd php-DB libxml-simple-perl libxml-libxml-simple-perl

libtest-xml-simple-perl libdbi-perl libwww-perl

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

7.2. Configuracin de interfaces de red Como se dijo anteriormente, el equipo necesita dos tarjetas de red. Una tarjeta de red (eth0) tiene que estar conectada a la red y configurada para internet. La otra tarjeta de red tiene que dejarse sin configuracin. Esto significa, no IP esttica y no DHCP. Esto se logra previniendo que el Administrador de Red, manipule la tarjeta. Para evitar que el Administrador de Red manipule la tarjeta, se tiene que editar /etc/network/interfaces. $ sudo vi /etc/network/interfaces En el archivo se debe aadir la interfaz como una tarjeta de configuracin manual. En este caso, la tarjeta de red en la que funcionara con el portal cautivo (hacia la red inalmbrica) es eth1, y con la configuracin esttica de la interfaz de red eth0 para que se conecte a internet, el archivo quedar de la siguiente manera. auto lo iface lo inet loopback auto eth0 iface eth0 inet static address x.x.x.x netmask x.x.x.x network x.x.x.x broadcast x.x.x.x

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

FreeRADIUS, CoovaChilli y daloRADIUS

gateway x.x.x.x dns-nameservers x.x.x.x dns-search unl.edu.ec iface eth1 inet manual Luego se procede a reiniciar los servicios de red para que se apliquen los cambios con el siguiente comando: $ sudo /etc/init.d/networking restart De esta forma se esta configurando el interfaz eth0 para que tenga una direccin IP esttica, dejando la interfaz eth1 (que estar conectada a los puntos de acceso) a merced del portal cautivo, que ser el que la administre. 7.3. Configuracin del ip_forward El mecanismo de IP forwarding se encarga de la retransmisin de los paquetes que se reciben por una interfaz fsica y de retransmitirlos por otra interfaz. El IP forwarding debe ser habilitado, pues una vez que el usuario se autentique a travs del portal cautivo se redireccionar su trfico hacia la interfaz de red eth0, permitiendo as que el usuario pueda navegar. Para habilitar la funcin de IP forwarding se necesita configurar el archivo /etc/sysctl.conf con el siguiente comando: $ vi /etc/sysctl.conf All se busca la lnea net.ipv4.ip_forward=1 y se la descomenta. net.ipv4.ip_forward=1

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

10

FreeRADIUS, CoovaChilli y daloRADIUS

Adems, es necesario cambiar el valor a 1 del IP forwarding en /proc/sys/net/ipv4/ip_forward con el siguiente comando: $ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward Y se reinicia nuevamente el servicio de networking. $ sudo /etc/init.d/networking restart 7.4. Activacin del modo tun Para finalizar con la configuracin de las interfaces de red, se debe habilitar el mdulo tun, ya que este permitir a Coovachilli hacer un tnel entre las interfaces eth0 y la red virtual que crea en eth1. Para ello ejecutamos los siguientes comandos: $ sudo modprobe tun Con esta orden cargamos el mdulo tun en el kernel del sistema directamente sin tener que reiniciar. Adems tenemos que agregarlo la palabra tun al final del archivo /etc/modules $ sudo vi /etc/modules 8. CONFIGURACIN DEL SERVIDOR Luego de dejar preparado el servidor con todas las configuraciones anteriormente explicadas se proceder a instalar y configurar los paquetes de software utilizados para el correcto funcionamiento del servidor. Ellos son: FreeRADIUS, CoovaChilli y daloRADIUS.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

11

FreeRADIUS, CoovaChilli y daloRADIUS

8.1. FreeRADIUS A continuacin se describir el procedimiento correcto para la instalacin y configuracin del servidor RADIUS usando

FreeRADIUS. 8.1.1.Instalacin de paquetes de FreeRADIUS La instalacin de FreeRADIUS sobre Ubuntu no es compleja, puesto que se encuentran los paquetes dentro de los repositorios. $ sudo apt-get install freeradius freeradius-mysql freeradius-utils Con el comando anterior se realiza el proceso de instalacin de FreeRADIUS y de las libreras adicionales que va a requiere para su correcto funcionamiento. 8.1.2.Configuracin de la base de datos Luego de la instalacin de los paquetes de FreeRADIUS se tiene que realizar la configuracin de la base de datos que va a usar FreeRADIUS para obtener los usuarios. Cabe resaltar que primeramente los usuarios los va a obtener mediante el web

services del Sistema de Gestin Acadmica de la Universidad Nacional de Loja, pero se van a almacenar en una base de datos local, para asegurar conectividad as el web services no est disponible. Se accede a la consola de MySQL, se digita la contrasea y se crea la base de datos que va a utilizar FreeRADIUS en este caso se llama radius.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

12

FreeRADIUS, CoovaChilli y daloRADIUS

$ mysql u root p Enter password: Welcome to the MySql monitor. Commands end with ; or \g. mysql> CREATE DATABASE radius; Luego se debe de crear un usuario para que pueda acceder a la base de datos con todos los privilegios. mysql> GRANT ALL ON radius.*TO radius@localhost IDENTIFIED BY clavesegura; En este caso se asume que la Base de datos se llama "radius" y se cre un usuario tambin "radius" con la contrasea "clavesegura". Finalmente se debe de salir del promp de MySQL. mysql> exit; Las tablas que usa FreeRADIUS se encuentran almacenadas dentro del directorio /etc/freeradius/sql/mysql/. Para ello

primeramente se tiene que loguear como superusuario (root) para acceder a ese directorio. radius@radius:~# sudo su [sudo] password for radius: root@radius:/home/radius# cd /etc/freeradius/sql/mysql/ Se debe ejecutar los scripts sql que se encuentran en ese directorio. root@radius:/etc/freeradius/sql/mysql# mysql u root p radius < ippool.sql

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

13

FreeRADIUS, CoovaChilli y daloRADIUS

root@radius:/etc/freeradius/sql/mysql# mysql u root p radius < nas.sql root@radius:/etc/freeradius/sql/mysql# mysql u root p radius < schema.sql 8.1.3.Configuracin de la conexin con la base de datos Aqu se configurar los parmetros para se conecte FreeRADIUS con la base de datos ya creada anteriormente para lo cual se realiza lo siguiente: Se edita el archivo /etc/freeradius/sql.conf que es un archivo donde se encuentran todas las configuraciones de conexin de FreeRADIUS con MySQL. root@radius:#~ vi /etc/freeradius/sql.conf En el archivo se debe modificar las lneas correspondientes a la conexin con el server de MySQ como lo son: Server: localhost Login: radius que es el usuario que se cre anteriormente. Password: clavesegura que es la clave que corresponde a ese usuario. sql { database = mysql driver = rlm_sql_${database} server = localhost login = radius password = clavesegura

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

14

FreeRADIUS, CoovaChilli y daloRADIUS

Adems dentro del mismo archivo se descomenta la variable: readclients = yes. El descomentar esta lnea permite que se lea los clientes radius desde la base de datos. readclients = yes 8.1.4.Configuracin de la Autorizacin y Contabilidad Se debe editar el Archivo: /etc/freeradius/sites-available/default y agregar la variable "sql" en las secciones de: authorize{},

accounting{}, session{}, post-auth{}. Tambin se agrega la variable perl antes de sql en authorize. Esto permitir que primero se realice la conexin con el web services del S.G.A. y luego realizar la autorizacin y la contabilidad desde MySQL. root@radius:#~ vi /etc/freeradius/sitesavailable/default authorize { preprocess chap mschap digest suffix eap { ok = return } files perl sql expiration logintime pap } accounting { detail unix

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

15

FreeRADIUS, CoovaChilli y daloRADIUS

radutmp sql exec attr_filter.accounting_response } Luego se edita el archivo de configuracin principal de

FreeRADIUS, y se procede a descomentar sql.conf

la lnea $INCLUDE

root@radius:#~ vi /etc/freeradius/radiusd.conf # Include another file that has the SQL-related configuration. # This is another file only because it tends to be big. # $INCLUDE slq.conf

8.1.5.Conexin con el web services del S.G.A Para la conexin de FreeRADIUS con el web services del S.G.A. es necesario desarrollar un script en el lenguaje Perl, en el cual se deben enviar como parmetros el usuario y la contrasea obtenidos de la solicitud (request) y agregarlos a la base de datos local. El cdigo del scipt Perl se encuentran en el CD ajunto a la documentacin. El script debe estar ubicado dentro del directorio principal de FreeRADIUS /etc/freeradius/ y se debe editar el archivo

/etc/freeradius/modules/perl root@radius:#~ vim /etc/freeradius/modules/perl

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

16

FreeRADIUS, CoovaChilli y daloRADIUS

Y en la lnea module especificar la ruta del archivo. Perl { module = ${confdir}/example.pl

8.1.6.Configuracin del cliente localhost Es necesario agregar un cliente en FreeRADIUS para que el portal cautivo se comunique con el servidor RADIUS, ya que en este caso tanto FreeRADIUS como el portal cautivo estarn instalados en el mismo equipo el cliente va a ser localhost en caso de que estn en distintos equipos ah se debera de configurar la direccin IP del portal cautivo. Para mayor seguridad, se requiere que se coloque una contrasea para el cliente localhost puesto que ese cliente va a ser el portal cautivo que va a estar en el mismo servidor. Para ello se modifica el archivo clients.conf root@radius:#~ vi /etc/freeradius/clients.conf Se edita la contrasea que se encuentra en el parmetro secret dentro del cliente localhost. client localhost { ipaddr = 127.0.0.1 secret = clavesegura2

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

17

FreeRADIUS, CoovaChilli y daloRADIUS

8.1.7.Arrancando FreeRADIUS Es importante saber que cuando se instal FreeRADIUS se ejecut el servicio es por eso que se debe de parar para poder iniciarlo nuevamente con el sript de perl. root@radius:#~ /etc/init.d/freeradius stop La razn por la que se para el servicio y no se lo reinicia es porque para arrancar correctamente es necesario que antes del comando de iniciar el servicio se coloque un comando, el cual hace que las libreras que utiliza el script perl se carguen antes de la ejecucin de freeRadius y se pueda levantar el servicio y ejecutar el script. Para ver que versin de perl que esta en el equipo se ejecuta el siguiente comando. root@radius:#~ perl -V | grep libperl

Cuando se conoce la versin de perl en este caso libperl.so.5.14.2 se puede ejecutar el FreeRADIUS. root@radius:#~ LD_PRELOAD=/usr/lib/libperl.so.5.14.2 /etc/init.d/freeradius restart comando para iniciar, reiniciar o detener

Para comprobar la conexin y funcionalidad tanto del script perl como la configuracin de FreeRADIUS existe el comando radtest el

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

18

FreeRADIUS, CoovaChilli y daloRADIUS

cual permite simular una solicitud de acceso RADIUS y comprueba tanto conectividad como parmetros de envo. root@radius:#~ radtest usuarioSGA claveSGA 127.0.0.1 1812 clavesegura2

Donde: radtest: nombre del comando usuarioSGA: usuario almacenado en el Sistema de Gestin Acadmico claveSGA: clave del usuario almacenado en el Sistema de Gestin Acadmico 127.0.0.1: cliente de FreeRADIUS 1812: Puerto por donde escucha la solicitud FreeRADIUS clavesegura2: clave del cliente de FreeRADIUS Una vez enviada la solicitud de acceso, FreeRADIUS se encarga de receptar esta solicitud y dar una respuesta. Sending Access-Request of id 42 to 127.0.0.1 port 1812 User-Name = usuarioSGA User-Password = claveSGA NAS-IP-Address = x.x.x.x NAS-Port = 1812 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=42, length=20 En este caso, al ser correctas las credenciales la solicitud de acceso receptada se acepta al usuario.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

19

FreeRADIUS, CoovaChilli y daloRADIUS

8.2. Coovachilli A continuacin de detalla cuidadosamente el procedimiento de la instalacin y configuracin de CoovaChilli (portal cautivo) lo que permitir su adecuado funcionamiento.

8.2.1.Instalacin Para configurar Coovachilli lo primero que hay que realizar es

descargar la ltima versin desde la pgina oficial de Coovachilli. root@radius:#~ wget hhtp://ap.coova.org/chilli/coovachilli_1.2.6_i386.deb Luego se procede a instalar del paquete descargado. root@radius:#~ dpkg i coova-chilli_1.2.6_i386.deb 8.2.2.Configuracin del archivo principal de CoovaChilli Dentro de los archivos de CoovaChilli viene un archivo de ejemplo donde estn todas las configuraciones globales del portal cautivo. Se procede a copiar el archivo de muestra y renombrarlo como config. root@radius:#~ cp /etc/chilli/defaults /etc/chilli/config

Se edita el archivo anteriormente creado en donde se encuentran todas las directivas, las cuales se modificaran de acuerdo a las necesidades.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

20

FreeRADIUS, CoovaChilli y daloRADIUS

root@radius:#~ vi /etc/chilli/config En este caso se seleccion la red 10.1.0.0 /24 para la interfaz eth1 que es donde se va a recibir las solicitudes de acceso y la interfaz eth0 es donde va tener la conexin con la red de la universidad y el internet. A continuacin se muestra los parmetros configurados. HS_WANIF=eth0 #WAN Interface toward the Internet HS_LANIF=eth1 #Subscriber Interface for client devices HS_NETWORK=10.1.0.0 #HotSpot Network (must include HS_UAMLISTEN) HS_NETMASK=255.255.255.0 #HotSpot Network Netmask HS_UAMLISTEN=10.1.0.1 #HotSpot IP Address (on subscriber network) HS_UAMPORT=3990 #HotSpot UAM Port (on subscriber network) HS_DNS1=x.x.x.x HS_DNS2=10.1.0.1 ### # HotSpot settings for simple Captive Portal # HS_NASID=nas01 HS_RADIUS=127.0.0.1 #o localhost HS_RADIUS2=127.0.0.1 HS_UAMALLOW=10.1.0.1/24 HS_RADSECRET=clavesegura2 # Set to be your RADIUS shared secret HS_UAMSECRET=clavesegura3 # Set to be your UAM secret HS_UAMALIASNAME=chilli HS_UAMFORMAT=https://\$HS_UAMLISTEN/cgibin/hotspotlogin.php HS_DEFSESSIONTIMEOUT=7200

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

21

FreeRADIUS, CoovaChilli y daloRADIUS

HS_DEFIDLETIMEOUT=1800 Donde: HS_LANIF: Interfaz de red donde se va a escuchar las peticiones DHCP y donde se conecta los puntos de acceso en este caso es la eth1. HS_NETWORK: Direccin de red del portal cautivo. HS_NETMASK: Direccin de mascara de la red del portal cautivo. HS_UAMPORT: Puerto donde escucha CoovaChilli. HS_DNS1: Direccin IP del DNS (Sistema de Nombres de Dominio). HS_RADIUS: Aqu se define la direccin IP del servidor RADIUS en este caso como el servidor esta en el mismo equipo que el portal cautivo se define la IP del localhost. HS_RADIUS2: Direccin de IP del servidor RADIUS. HS_RADSECRET: FreeRADIUS clients.conf. HS_UAMSECRET: clave segura del portal cautivo. HS_UAMFORMAT: Ruta donde se ubica el archivo que se muestra al usuario al momento de conectarse al servidor RADIUS, en este caso se llama hotspotlogin.php el cual se lo describe ms adelante. HS_DEFSESSIONTIMEOUT: tiempo que va a durar las sesiones de los usuarios logeados definido en segundos. que Clave se secreta del cliente localhost en el de

agreg

anteriormente

archivo

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

22

FreeRADIUS, CoovaChilli y daloRADIUS

HS_DEFIDLETIMEOUT: tiempo de inactividad para desconectar a un usuario, tambin esta definido en segundos. 8.2.3.Configuracin del portal cautivo Se crea el directorio donde van a estar almacenados archivos propios del portal cautivo. root@radius:#~ mkdir p /var/www/hotspot/uam Luego se debe de copiar los archivos necesarios para el funcionamiento de Coovachilli al directorio anteriormente creado. root@radius:#~ cp /etc/chilli/www/* /var/www/hotspot Se accede al directorio en donde se va a descargar archivos

adicionales para el correcto funcionamiento del portal cautivo. root@radius:#~ cd /var/www/hotspot/uam Y se procede a descargarlas root@radius:#~ wget http://ap.coova.org/uam/ Se hace un cambio dentro del archivo

/var/www/hotspot/uam/index.html ubicando la direccin IP del portal cautivo. root@radius:#~ sed i s/coova.org\/js\/chilli.js/10.1.0.1\/uam\/chilli. js/g /var/www/hotspot/uam/index.html

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

23

FreeRADIUS, CoovaChilli y daloRADIUS

Se edita el archivo /etc/default/chilli y se modifica la ruta del archivo de configuracin. root@radius:#~ vi /etc/default/chilli Para que inicie coovachilli automticamente se debe poner 1 en START_CHILLI y adems para no tener problemas con el usuario que va a manipular el Coovachilli se coloca root en HS_USER START_CHILLI=1 CONFFILE=/etc/chilli.conf HS_USER=root 8.2.4.Archivo hotspotlogin.php Para la parte visible al usuario donde ingresara los credenciales (Cedula de identidad y clave del SGA) se procedi a modificar un archivo proporcionado por chillispot.org que originalmente esta hecho en perl el cual se lo convirti a un archivo php. Este archivo se encuentra ubicado en el directorio del servidor web apache2 en /var/www/hotspot/cgi-bin/. tambien se adecu de acuerdo a las sugerencias de los administradores del departamento de redes de la Unidad de Redes y Telecomunicaciones. A continuacin se muestra el archivo hotspotlogin.php $uamsecret debido a que aqu se pone la clave que se configur en el archivo principal de CoovaChilli en HS_UAMSECRET, tambin se fij en la variable $redirurl = 'http://www.unl.edu.ec'; ya que esto

permitir que despus de logearse el portal cautivo lo redireccione a la pagina de la universidad.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

24

FreeRADIUS, CoovaChilli y daloRADIUS

<head> <style type="text/css"> #body{ background-image: url(https://10.1.0.1/fondo3.jpg); background-repeat: no-repeat; background-attachment: fixed; background-position: 50% 0%; } </style> </head> <div id="body"> <?php $uamsecret = "clavesegura3"; $userpassword=1; $loginpath = "hotspotlogin.php"; $titel = ''; $headline = ''; $bodytext = ''; $body_onload = ''; $footer_text = '<center> <br><img src="https://10.1.0.1/1.png"> <br><br><br>Si experimenta errores en conexion contactarse <br>por favor al (07) 2547252 ext. 127 o envie un correo a <br><A HREF="mailto:soporte@unl.edu.ec">soporte@unl.edu.e c</A> </center>'; # attempt to login if ($_GET['login'] == login) { $hexchal = pack ("H32", $_GET['chal']); if (isset ($uamsecret)) { $newchal = pack ("H*", md5($hexchal . $uamsecret)); } else { $newchal = $hexchal; }

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

25

FreeRADIUS, CoovaChilli y daloRADIUS

$response = md5("\0" . $_GET['Password'] . $newchal); $newpwd = pack("a32", $_GET['Password']); $pappassword = implode ("", unpack("H32", ($newpwd ^ $newchal))); $titel = 'Inicio de Sesion red UNL'; $headline = 'Inicio de Sesion red UNL'; $bodytext = ''; print_header(); if ((isset ($uamsecret)) && isset($userpassword)) { print '<meta http-equiv="refresh" content="0;url=http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/logon?username=' . $_GET['UserName'] . '&password=' . $pappassword . '">'; } else { print '<meta http-equiv="refresh" content="0;url=http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/logon?username=' . $_GET['UserName'] . '&response=' . $response . '&userurl=' . $_GET['userurl'] . '">'; } print_body(); print_footer(); } # 1: Login successful if ($_GET['res'] == success) { $result = 1; $titel = 'Registrado en red UNL'; $headline = 'Registrado en red UNL'; $bodytext = 'Bienvenido'; $body_onload = 'onLoad="javascript:popUp(' . $loginpath . '?res=popup&uamip=' . $_GET['uamip']

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

26

FreeRADIUS, CoovaChilli y daloRADIUS

. '&uamport=' . $_GET['uamport'] . '&timeleft=' $_GET['timeleft'] . ')"'; print_header(); print_body(); if ($reply) { print '<center>' . $reply . '</BR></BR></center>'; } print '<center><a href="http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/logoff">Cerrar Sesion</a></center>'; print_footer(); } # 2: Login failed if ($_GET['res'] == failed) {

$result = 2; $titel = 'Registro Fallido'; $headline = 'Registro Fallido'; $bodytext = 'Disculpe, intente nuevamente<br>'; print_header(); print_body(); if ($_GET['reply']) { print '<center>' . $_GET['reply'] . '</center>'; } print_login_form(); print_footer(); } # 3: Logged out if ($_GET['res'] == logoff) {

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

27

FreeRADIUS, CoovaChilli y daloRADIUS

$result = 3; $titel = 'Desconectado de red UNL'; $headline = 'Desconectado de red UNL'; $bodytext = '<a href="http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/prelogin">Login</a>'; print_header(); print_body(); print_footer(); } # 4: Tried to login while already logged in if ($_GET['res'] == already) { $result = 4; $titel = 'Sesion ya iniciada en red UNL'; $headline = 'Sesion ya iniciada en red UNL'; $bodytext = '<a href="http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/logoff">Logout</a>'; print_header(); print_body(); print_footer(); } # 5: Not logged in yet if ($_GET['res'] == notyet) { $result = 5; $titel = 'Bienvenido a la red UNL'; $headline = 'Bienvenido a la red UNL'; $bodytext = 'Usted esta intentando acceder a la red de la UNL<br>Por favor use sus datos del S.G.A.'; print_header(); print_body(); print_login_form(); print_footer(); }

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

28

FreeRADIUS, CoovaChilli y daloRADIUS

#11: Popup1 if ($_GET['res'] == popup1) { $result = 11; $titel = 'Ingresando a red UNL'; $headline = 'Ingresando a red UNL'; $bodytext = 'por favor espere...'; print_header(); print_body(); print_footer(); } #12: Popup2 if ($_GET['res'] == popup2) { $result = 12; $titel = 'Sesion iniciada en red UNL'; $headline = 'Sesion iniciada en red UNL'; $bodytext = '<a href="http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/logoff">Cerrar Sesion</a>'; print_header(); print_body(); print_footer(); } #13: Popup3 if ($_GET['res'] == popup3) { $result = 13; $titel = 'Desconectado de red UNL'; $headline = 'Desconectado de red UNL'; $bodytext = '<a href="http://' . $_GET['uamip'] . ':' . $_GET['uamport'] . '/prelogin">Iniciar Sesion</a>'; print_header(); print_body(); print_footer(); } # 0: It was not a form request # Send out an error message if ($_GET['res'] == "") {

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

29

FreeRADIUS, CoovaChilli y daloRADIUS

$result = 0; $titel = 'Atencion. No debe estar aqui'; $headline = 'Inicio de Sesion Fallido'; $bodytext = 'Salga de aqui inmediatamente. El logueo debe realizarse mediante el demonio'; print_header(); print_body(); print_footer(); } # functions function print_header(){ global $titel, $loginpath; $uamip = $_GET['uamip']; $uamport = $_GET['uamport']; print " <html> <head> <title>$titel</title> <meta http-equiv=\"Cache-control\" content=\"no-cache\"> <meta http-equiv=\"Pragma\" content=\"nocache\"> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-88591\"> <SCRIPT LANGUAGE=\"JavaScript\"> var blur = 0; var starttime = new Date(); var startclock = starttime.getTime(); var mytimeleft = 0; function doTime() { window.setTimeout( \"doTime()\", 1000 ); t = new Date();

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

30

FreeRADIUS, CoovaChilli y daloRADIUS

time = Math.round((t.getTime() starttime.getTime())/1000); if (mytimeleft) { time = mytimeleft - time; if (time <= 0) { window.location = \"$loginpath?res=popup3&uamip=$uamip&uamport=$uamp ort\"; } } if (time < 0) time = 0; hours = (time - (time % 3600)) / 3600; time = time - (hours * 3600); mins = (time - (time % 60)) / 60; secs = time - (mins * 60); if (hours < 10) hours = \"0\" + hours; if (mins < 10) mins = \"0\" + mins; if (secs < 10) secs = \"0\" + secs; title = \"Online time: \" + hours + \":\" + mins + \":\" + secs; if (mytimeleft) { title = \"Remaining time: \" + hours + \":\" + mins + \":\" + secs; } if(document.all || document.getElementById){ document.title = title; } else { self.status = title; } } function popUp(URL) { if (self.name != \"chillispot_popup\") { chillispot_popup = window.open(URL, 'chillispot_popup', 'toolbar=0,scrollbars=0,location=0,statusbar=0,men ubar=0,resizable=1,width=500,height=375'); } } function doOnLoad(result, URL, userurl, redirurl, timeleft) {

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

31

FreeRADIUS, CoovaChilli y daloRADIUS

if (timeleft) { mytimeleft = timeleft; } if ((result == 1) && (self.name == \"chillispot_popup\")) { doTime(); } if ((result == 1) && (self.name != \"chillispot_popup\")) { chillispot_popup = window.open(URL, 'chillispot_popup', 'toolbar=0,scrollbars=0,location=0,statusbar=0,men ubar=0,resizable=1,width=500,height=375'); } if ((result == 2) || result == 5) { document.form1.UserName.focus() } if ((result == 2) && (self.name != \"chillispot_popup\")) { chillispot_popup = window.open('', 'chillispot_popup', 'toolbar=0,scrollbars=0,location=0,statusbar=0,men ubar=0,resizable=1,width=400,height=200'); chillispot_popup.close(); } if ((result == 12) && (self.name == \"chillispot_popup\")) { doTime(); if (redirurl) { opener.location = redirurl; } else if (opener.home) { opener.home(); } else { opener.location = \"about:home\"; } self.focus(); blur = 0; } if ((result == 13) && (self.name == \"chillispot_popup\")) {

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

32

FreeRADIUS, CoovaChilli y daloRADIUS

self.focus(); blur = 1; } } function doOnBlur(result) { if ((result == 12) && (self.name == \"chillispot_popup\")) { if (blur == 0) { blur = 1; self.focus(); } } } </script>"; } function print_body(){ global $headline, $bodytext, $body_onload, $result, $loginpath; $uamip = $_GET['uamip']; $uamport = $_GET['uamport']; $userurl = $_GET['userurl']; $redirurl = 'http://www.unl.edu.ec'; $userurldecode = $_GET['userurl']; $redirurldecode = $_GET['redirurl']; $timeleft = $_GET['timeleft']; print " </head> <body onLoad=\"javascript:doOnLoad($result, '$loginpath?res=popup2&uamip=$uamip&uamport=$uampo rt&userurl=$userurl&redirurl=$redirurl&timeleft=$t imeleft','$userurldecode', '$redirurldecode', '$timeleft')\" onBlur = \"javascript:doOnBlur($result)\" bgColor = '#ffffff'> <h1 style=\"text-align: center;\">$headline</h1> <center>$bodytext</center><br>"; } function print_login_form(){ global $loginpath; print '

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

33

FreeRADIUS, CoovaChilli y daloRADIUS

<FORM name="form1" METHOD="get" action="' . $loginpath . '?"> <INPUT TYPE="HIDDEN" NAME="chal" VALUE="' . $_GET['challenge'] . '"> <INPUT TYPE="HIDDEN" NAME="uamip" VALUE="' . $_GET['uamip'] . '"> <INPUT TYPE="HIDDEN" NAME="uamport" VALUE="' . $_GET['uamport'] . '"> <INPUT TYPE="HIDDEN" NAME="userurl" VALUE="' . $_GET['userurl'] . '"> <center> <table border="0" cellpadding="5" cellspacing="0" style="width: 217px;"> <tbody> <tr> <td align="right">C.I.:</td> <td><input type="text" name="UserName" size="20" maxlength="255"></td> </tr> <tr> <td align="right">Clave:</td> <td><input type="password" name="Password" size="20" maxlength="255"></td> </tr> <tr> <td align="center" colspan="2" height="23"><input type="submit" name="login" value="login"></td> </tr> </tbody> </table> </center> </form>'; } function print_footer(){ global $footer_text; print $footer_text . '</body></html>'; exit(0); } exit(0); ?> </div>

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

34

FreeRADIUS, CoovaChilli y daloRADIUS

8.2.5.Creacin del archivo ipup.sh En el paquete CoovaChilli, existen archivos con reglas tipo iptables ya creadas. Se us estas mismas reglas y se aadi ms reglas acordes con las polticas de seguridad de la Unidad de Telecomunicaciones e Informacin. Existen dos scripts de shell que contienen las reglas de iptables que maneja CoovaChilli los que son up.sh y down.sh, estos scripts se ejecutan al instante en que se levanta el proceso de CoovaChilli. Para agregar mas reglas de iptables se debe a crear el scripts de Shell llamado ipup.sh donde se establecieron los siguientes aspectos: Conexin ssh Para permitir administrar remotamente el servidor mediante SSH desde la interfaz eth0, ya que por defecto est inhabilitado se procedi a abrir el puerto que se usa dentro de la unidad de telecomunicaciones. Resolucin de Nombres (DNS) Se procedi a abrir el puerto 53 udp donde el DNS trabaja y ah se especifico la direccin IP del DNS de la universidad. Peticiones http Para que se permita la navegacin se procedi a abrir el puerto 80 tcp.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

35

FreeRADIUS, CoovaChilli y daloRADIUS

Conexin segura Para que el servidor web escuche por el puerto de conexin segura se procedio a abrir el puerto 443 tcp. Puerto por el que escucha CoovaChilli Para que CoovaChilli escuche las peticiones de los usuarios se procedi a abrir el puerto 3990 tcp. NAT (Traducciones de direcciones de red) El NAT permite la traducciones de direcciones ip en este caso se da con la Red 10.1.0.0/24, de modo que todo el trafico generado en esta red pueda salir por la IP x.x.x.x/x, ya que esta ip esta configura en la interfaz eth0 que es el medio por el cual se da acceso a internet. A continuacin se detalla las reglas que se aplic en el archivo. #! /bin/sh echo "Iniciando Script | aplicancdo reglas" #Interfaces eth0: x.x.x.x IPTABLES="/sbin/iptables" IPETH0="eth0" IPETH1="eth1" DNS=x.x.x.x INTRANET=x.x.x.x/x HOST=x.x.x.x CERO=0.0.0.0/0 eth1: 10.1.0.1

#Limpiando todo filter - nat $IPTABLES -F $IPTABLES -X $IPTABLES -Z $IPTABLES -t nat -F

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

36

FreeRADIUS, CoovaChilli y daloRADIUS

$IPTABLES -t nat -X $IPTABLES -t nat -Z #estableciendo politicas por default DROP #$IPTABLES -P INPUT DROP #$IPTABLES -P OUTPUT DROP #$IPTABLES -P FORWARD DROP ##Estableciendo reglas en las cadenas INPUT y OUTPUT ##aceptar todas las acciones en localhost 127.0.0.1 $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT #acciones sobre ICMP todos "type" 0-8 $IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 8 s $INTRANET -d $HOST -j ACCEPT $IPTABLES -A OUTPUT -o eth0 -p icmp --icmp-type 0 -s $HOST -d $INTRANET -j ACCEPT $IPTABLES -A INPUT -i eth0 -p icmp --icmp-type 0 s $CERO -d $HOST -j ACCEPT $IPTABLES -A OUTPUT -o eth0 -p icmp --icmp-type 8 -s $HOST -d $CERO -j ACCEPT #abriendo puerto 3779 para desconectar usuarios $IPTABLES -A INPUT -p udp -m udp --dport 3779 -j ACCEPT #DNS $IPTABLES -A INPUT -s $DNS -d x.x.x.x -i eth0 -p udp --sport 53 --dport 1024: -j ACCEPT $IPTABLES -A OUTPUT -s x.x.x.x -d $DNS -o eth0 -p udp --sport 1024: --dport 53 -j ACCEPT #abriendo el puerto 80 $IPTABLES -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT #abriendo puerto 443

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

37

FreeRADIUS, CoovaChilli y daloRADIUS

$IPTABLES -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT # puerto 3990 $IPTABLES -A INPUT -p tcp -m tcp --dport 3990 -syn -j ACCEPT #nat $IPTABLES -t nat -A POSTROUTING -o $IPETH0 -j MASQUERADE echo final 8.2.6.Generacin de certificados SSL apache2 Como se va a usar conexiones SSL para mayor seguridad. Se tiene que instalar el mdulo SSL. root@radius:~# apt-get install apache2 ssl-cert Se debe crear un directorio llamado ssl dentro de /etc/apache2 root@radius:~# mkdir /etc/apache2/ssl Es necesario saber el nombre del equipo esto va a servir al generar el certificado. Se lo obtiene con el siguiente comando. root@radius:~# hostname -f A continuacin, habr que hacer un certificado SSL que ser utilizado por el host virtual que se detalla ms adelante. El sistema preguntar por una serie de parmetros (Localidad, Provincia, etc.), siendo el ms importante el nombre del host. En este caso ser 10.1.0.1. De esta forma se consigue que el nombre del host y el

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

38

FreeRADIUS, CoovaChilli y daloRADIUS

del certificado coincidan, ya que los navegadores dan avisos de posibilidad de intrusin en caso de que no coincidan: root@radius:~# make-ssl-cert /usr/share/sslcert/ssleay.cnf /etc/apache2/ssl/apache.pem Aparecer una ventana donde se debe escribir el nombre del

equipo que ya anteriormente se obtuvo con el comando hostname f. En este caso es radius.unl.edu.ec.

Figura 3. Ventana de configuracin de certificado SSL Para activar el mdulo ssl se debe ejecutar el siguiente comando. root@radius:~# a2enmod ssl 8.2.7.Creacin de host virtual Para la configuracin correcta del virtual host es necesario tener en cuenta los siguientes aspectos. NameVirtualHost: se indica la direccin IP de la tarjeta de red y el puerto.

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

39

FreeRADIUS, CoovaChilli y daloRADIUS

DocumentRoot: Directorio principal que contiene la estructura de directorios visible desde la Web Esta directiva especifica el directorio desde el cul apache2 servir los ficheros. ServerName: La directiva ServerName especifica el nombre de host y el puerto que usa el servidor para identificarse. Directory index: Engloba a un grupo de directivas que se aplicarn solamente al directorio del sistema de ficheros especificado y a sus subdirectorios. Aqu es donde se indica el nombre de la pgina principal del sitio. ServerAdmin: Direccin de email que el servidor incluye en los mensajes de error que se envan al cliente. ErrorLog: Ubicacin del fichero en el que se almacenan los mensajes de error. CustomLog: Ubicacin de donde esta el archivo en el cual se registran los accesos al sitio. SSLCertificateFile: Aqu se ubica la ruta del certificado ssl. Se procede a crear un archivo llamado hotspot donde se va a

agregar el host virtual dentro del directorio /etc/apache2/sitesavailable. root@radius:~# vim /etc/apache2/sitesavailable/hotspot A continuacin se muestra la configuracin del virtual host . Aqu se agrega la ruta donde se cre el certificado ssl. <IfModule mod_ssl.c>

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

40

FreeRADIUS, CoovaChilli y daloRADIUS

<VirtualHost 10.1.0.1:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/hotspot ServerName radius.unl.edu.ec <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/hotspot/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias "/dialupadmin/" "/usr/share/freeradiusdialupadmin/htdocs/" <Directory "/usr/share/freeradiusdialupadmin/htdocs/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /var/www/hotspot/cgibin/

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

41

FreeRADIUS, CoovaChilli y daloRADIUS

<Directory "/var/www/hotspot/cgi-bin/"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined Alias /doc/ "/usr/share/doc/"

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

42

FreeRADIUS, CoovaChilli y daloRADIUS

Se ejecuta los siguientes comandos para finalizar la configuracin de apache2 root@radius:~# root@radius:~# root@radius:~# a2ensite hotspot apache2ctl -t

/etc/init.d/apache2 reload

Finalmente se reinicia todos los servicios (FreeRADIUS y CoovaChilli) y se tendr al servidor RADIUS funcionando con el portal cautivo. Es importante tener en cuenta que al reiniciar el servicio de FreeRADIUS debe de ser con las instrucciones ya anteriormente mencionadas. 8.3. daloRADIUS A continuacin se detalla el proceso de instalacin y configuracin del daloRADIUS, al ser una herramienta de administracin web, el uso correcto se detalla en el manual de usuario. 8.3.1. Instalacin El siguiente paso es descargar daloRADIUS desde su Web . root@radius:~#wget http://sourceforge.net/projects/daloradius/files/d aloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz Una vez descargado el paquete de daloRADIUS se procede a descomprimir la aplicacin y se debe crear la base de datos con las tablas pertinentes. Como root se ejecuta los siguientes comandos: Se descomprime el paquete descargado

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

43

FreeRADIUS, CoovaChilli y daloRADIUS

root@radius:~# tar xvzf daloradius-0.9-9.tar.gz

Se copia la carpeta daloradius-0.9-9 al directorio de /var/www/ root@radius:~# cp daloradius-0.9-9 /var/www/daloradius R

Se da permiso al apache sobre el directorio del daloRADIUS que esta en el directorio /var/www/daloradius root@radius:~# chown www-data:www-data /var/www/daloradius/ -R

Se cambian los permisos del archivo daloradius.conf.php root@radius:~# chmod 644 /var/www/daloradius/library/daloradius.conf.php

8.3.2. Configuracin Para que daloRADIUS funcione correctamente, se requiere agregar algunas tablas ms a la base de datos de MySQL. Estas tablas ya estn incluidas en el directorio de daloRADIUS, por lo que solo es necesario ejecutar el siguiente comando: root@radius:~# mysql -u root -p radius < /var/www/daloradius/contrib/db/fr2-mysqldaloradius-and-freeradius.sql

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

44

FreeRADIUS, CoovaChilli y daloRADIUS

Seguidamente se edita el archivo daloradius.conf.php para poner los valores de la conexin al server de la base de datos: root@radius:~# vi /var/www/daloradius/ daloradius.conf.php $configValues[CONFIG_DB_ENGINE] = mysql; $configValues[CONFIG_DB_HOST] = 127.0.0.1; $configValues[CONFIG_DB_USER] = radius; $configValues[CONFIG_DB_PASS] = clavesegura; $configValues[CONFIG_DB_NAME] = radius; Una vez esto, se reinicia el apache: root@radius:~# /etc/init.d/apache2 restart Para poder visualizar la interfaz de daloRADIUS se debe ingresar a un navegador de prefencia Mozilla Firefox y se coloca la direccin IP del servidor o el dominio: http://172.16.32.20/daloradius o http://radius.unl.edu.ec/daloradius

Figura 4. Direccin de Ingreso con IP

Figura 5. Direccin de Ingreso con dominio y en la seccin de password se ingresa la contrasea: radius

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

45

FreeRADIUS, CoovaChilli y daloRADIUS

Figura 6. Ventana de Logeo 8.4. Errores Comunes A continuacin se detallan algunos de los errores ms comunes y se presenta la solucin correspondiente.

8.4.1. Error al crear el directorio /var/log/freeradius/radacct Uno de los errores que aparece al leer los log de FreeRADIUS en daloRADIUS es el siguiente: Failed to create directory /var/log/freeradius/radacct: Permission denied Para corregir el error se debe seguir los siguientes pasos: root@radius:~# mkdir /var/log/freeradius/radacct/

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

46

FreeRADIUS, CoovaChilli y daloRADIUS

root@radius:~# touch /var/log/freeradius/radacct/sql-relayOpen

8.4.2.Error de reinicio de servicio FreeRADIUS Es importante recordar que el reinicio del servicio de freeradius no se lo puede ejecutar con los comandos comunes sino que se debe ejecutar un comando especial como lo es: LD_PRELOAD=/usr/lib/libperl.so.5.14.2 /etc/init.d/freeradius restart /etc/init.d/chilli restart Es por esto que cada vez que se reinicie el equipo se va a dar el siguiente error por el scrip que se agreg de perl.

Figura 7. Error al levantar el servicio FreeRADIUS Este error se lo solucion agregando unas lneas en el archivo /etc/rc.local que se ejecuta al reiniciar el equipo. A continuacin se muestra los comandos agregados:

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

47

FreeRADIUS, CoovaChilli y daloRADIUS

Figura 8. Archivo rc.local

8.4.3.Error al leer los logs de daloRADIUS Este error aparece al momento de visualizar los logs de daloradius mediante su interfaz grfica debido a que se guardan dentro de /tmp/daloradius.log y como es un archivo temporal se lo debe de crear dar permisos cada vez que se reinicie el equipo. Por esto se procedi a agregar en /etc/rc.local los siguientes comandos. touch /tmp/daloradius.log chown www-data:www-data /tmp/daloradius.log

Universidad Nacional de Loja

Lisset Neyra Fabricio Flores

48

You might also like