Free radius coovachilli y daloradius

8,721 views

Published on

Published in: Education
6 Comments
4 Likes
Statistics
Notes
No Downloads
Views
Total views
8,721
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
326
Comments
6
Likes
4
Embeds 0
No embeds

No notes for slide

Free radius coovachilli y daloradius

  1. 1. Área de la Energía, las Industrias y los RecursosNaturales No Renovables“TESIS PREVIA A LA OBTENCIÓNDEL TÍTULO EN INGENIERO ENSISTEMAS”AUTORES:Fabricio Alejandro Flores GallardoLisset Alexandra Neyra RomeroDIRECTOR:Ing. Juan Manuel Galindo VeraLoja-Ecuador2012
  2. 2. 2FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresMANUAL TÉCNICO1. ÍNDICE GENERAL1. ÍNDICE GENERAL........................................................................................22. INDICE DE FIGURAS...................................................................................43. INTRODUCCIÓN...........................................................................................54. ¿A QUIÉN VA DIRIGIDO EL MANUAL?...................................................55. CONSIDERACIONES PREVIAS................................................................56. REQUERIMIENTOS DEL SISTEMA..........................................................57. CONFIGURACIONES PREVIAS................................................................67.1. Instalación de paquetes............................................................................67.2. Configuración de interfaces de red.........................................................97.3. Configuración del ip_forward .................................................................107.4. Activación del modo tun..........................................................................118. CONFIGURACIÓN DEL SERVIDOR.......................................................118.1. FreeRADIUS.............................................................................................128.1.1. Instalación de paquetes de FreeRADIUS ........................................128.1.2. Configuración de la base de datos....................................................128.1.3. Configuración de la conexión con la base de datos.......................148.1.4. Configuración de la Autorización y Contabilidad.............................158.1.5. Conexión con el web services del S.G.A..........................................168.1.6. Configuración del cliente localhost....................................................178.1.7. Arrancando FreeRADIUS....................................................................188.2. Coovachilli.................................................................................................208.2.1. Instalación..............................................................................................208.2.2. Configuración del archivo principal de CoovaChilli.........................208.2.3. Configuración del portal cautivo.........................................................238.2.4. Archivo hotspotlogin.php.....................................................................24
  3. 3. 3FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores8.2.5. Creación del archivo ipup.sh ..............................................................358.2.6. Generación de certificados SSL apache2.......................................388.2.7. Creación de host virtual.......................................................................398.3. daloRADIUS..............................................................................................438.3.1. Instalación..............................................................................................438.3.2. Configuración ........................................................................................448.4. Errores Comunes.....................................................................................468.4.1. Error al crear el directorio /var/log/freeradius/radacct ....................468.4.2. Error de reinicio de servicio FreeRADIUS.......................................478.4.3. Error al leer los logs de daloRADIUS................................................48
  4. 4. 4FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores2. INDICE DE FIGURASFigura 1. Taskel............................................................................... 7Figura 2. Introducir Contraseña MySQL para el usuario root........... 8Figura 3. Ventana de configuración de certificado SSL ................. 39Figura 4. Dirección de Ingreso con IP ........................................... 45Figura 5. Dirección de Ingreso con dominio .................................. 45Figura 6. Ventana de Logeo.......................................................... 46Figura 7. Error al levantar el servicio FreeRADIUS ....................... 47Figura 8. Archivo rc.local............................................................... 48
  5. 5. 5FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores3. INTRODUCCIÓNEl presente manual técnico tiene como objetivo fundamentalpresentar de una manera detallada y concreta los pasos a seguirpara poder configurar adecuadamente el servidor RADIUS con unportal cautivo para la Universidad Nacional de Loja.4. ¿A QUIÉN VA DIRIGIDO EL MANUAL?El manual va dirigido a los administradores de red de la Unidad deTelecomunicaciones e Información de la Universidad Nacional deLoja. Además se plantea como una solución para personas quedeseen implementar una solución similar en cualquier otro ámbito.5. CONSIDERACIONES PREVIASPara configurar adecuadamente el servidor se debe tomar encuenta que primeramente se debe tener ciertas consideracionescomo: Conocimientos previos en Linux Ubuntu Server (Instalación yConfiguración) Conocimientos previos de networking (redes, NAT, iptables)6. REQUERIMIENTOS DEL SISTEMAPara la instalación y configuración del servidor RADIUS con unportal cautivo para la Universidad Nacional de Loja es necesariociertos requerimientos importantes tanto en hardware como ensoftware.Tomando en cuenta el estudio realizado durante el desarrollo delpresente proyecto se ha considerado que los requerimientos
  6. 6. 6FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresmínimos para el correcto funcionamiento del servidor son lossiguientes: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 EthernetSoftware: Ubuntu Server 12.04 FreeRADIUS versión 2.1.10 CoovaChilli versión 1.2.6 daloRADIUS versión 0.9.97. CONFIGURACIONES PREVIASPara la configuración adecuada del servidor es necesario realizarprimeramente unas configuraciones al sistema operativo.7.1. Instalación de paquetesLuego de la instalación del sistema operativo lo primero que sedebe hacer es actualizar el listado de paquetes, lo que se realizacon el siguiente comando.$ sudo apt-get updatePosteriormente procedemos a instalar tasksel, que es un sistemade instalación de paquetes por consola. Tasksel agrupa los
  7. 7. 7FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Florespaquetes de software por tareas y ofrece un modo sencillo deinstalar todos los paquetes que son necesarios para dicha tarea.Se Instala tasksel con el siguiente comando:$ sudo apt-get install taskselAhora se ejecuta Tasksel:$ sudo taskselA continuación se presentará dentro del terminal una pantalla convarios paquetes de software, en donde se va a seleccionar lospaquetes que interesan: LAMP server y OpenSSH server.Figura 1. TaskelTasksel se encargará de descargar todos los paquetes ydependencias tanto del LAMP Server (Apache, MySQL y Php) y deOpenSSH.Durante la instalación del LAMP Server va a pedir la contraseña deroot para MySQL, entonces se procederá a colocarla.
  8. 8. 8FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresFigura 2. Introducir Contraseña MySQL para el usuariorootAdemás de los paquetes anteriores, es también necesario instalaralgunos paquetes indispensables para el correcto funcionamientode todas las aplicaciones que van a funcionar en el servidor.$ sudo apt-get install debhelper libltdl3-devlibpam0g-dev libmysqlclient15-dev build-essentiallibgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotools-dev dpatch libperl-dev libtool dpkg-dev libpq-dev libsnmp-dev libssl-dev php5 php5-mysql php-pear php5-gd php-DBlibxml-simple-perl libxml-libxml-simple-perllibtest-xml-simple-perl libdbi-perl libwww-perl
  9. 9. 9FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores7.2. Configuración de interfaces de redComo se dijo anteriormente, el equipo necesita dos tarjetas de red.Una tarjeta de red (eth0) tiene que estar conectada a la red yconfigurada para internet.La otra tarjeta de red tiene que dejarse sin configuración. Estosignifica, no IP estática y no DHCP. Esto se logra previniendo que elAdministrador de Red, manipule la tarjeta.Para evitar que el Administrador de Red manipule la tarjeta, se tieneque editar /etc/network/interfaces.$ sudo vi /etc/network/interfacesEn el archivo se debe añadir la interfaz como una tarjeta deconfiguración manual.En este caso, la tarjeta de red en la que funcionara con el portalcautivo (hacia la red inalámbrica) es eth1, y con la configuraciónestática de la interfaz de red eth0 para que se conecte a internet, elarchivo quedará de la siguiente manera.auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress x.x.x.xnetmask x.x.x.xnetwork x.x.x.xbroadcast x.x.x.x
  10. 10. 10FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresgateway x.x.x.xdns-nameservers x.x.x.xdns-search unl.edu.eciface eth1 inet manualLuego se procede a reiniciar los servicios de red para que seapliquen los cambios con el siguiente comando:$ sudo /etc/init.d/networking restartDe esta forma se esta configurando el interfaz eth0 para que tengauna dirección IP estática, dejando la interfaz eth1 (que estaráconectada a los puntos de acceso) a merced del portal cautivo, queserá el que la administre.7.3. Configuración del ip_forwardEl mecanismo de IP forwarding se encarga de la retransmisión delos paquetes que se reciben por una interfaz física y deretransmitirlos por otra interfaz. El IP forwarding debe ser habilitado,pues una vez que el usuario se autentique a través del portalcautivo se redireccionará su tráfico hacia la interfaz de red eth0,permitiendo así que el usuario pueda navegar. Para habilitar lafunción de IP forwarding se necesita configurar el archivo/etc/sysctl.conf con el siguiente comando:$ vi /etc/sysctl.confAllí se busca la línea net.ipv4.ip_forward=1 y se la descomenta.net.ipv4.ip_forward=1
  11. 11. 11FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresAdemás, 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_forwardY se reinicia nuevamente el servicio de networking.$ sudo /etc/init.d/networking restart7.4. Activación del modo tunPara finalizar con la configuración de las interfaces de red, se debehabilitar el módulo tun, ya que este permitirá a Coovachilli hacer un“túnel” entre las interfaces eth0 y la red virtual que crea en eth1.Para ello ejecutamos los siguientes comandos:$ sudo modprobe tunCon esta orden cargamos el módulo tun en el kernel del sistemadirectamente sin tener que reiniciar. Además tenemos queagregarlo la palabra “tun” al final del archivo /etc/modules$ sudo vi /etc/modules8. CONFIGURACIÓN DEL SERVIDORLuego de dejar preparado el servidor con todas las configuracionesanteriormente explicadas se procederá a instalar y configurar lospaquetes de software utilizados para el correcto funcionamiento delservidor. Ellos son: FreeRADIUS, CoovaChilli y daloRADIUS.
  12. 12. 12FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores8.1. FreeRADIUSA continuación se describirá el procedimiento correcto para lainstalación y configuración del servidor RADIUS usandoFreeRADIUS.8.1.1.Instalación de paquetes de FreeRADIUSLa instalación de FreeRADIUS sobre Ubuntu no es compleja,puesto que se encuentran los paquetes dentro de los repositorios.$ sudo apt-get install freeradius freeradius-mysqlfreeradius-utilsCon el comando anterior se realiza el proceso de instalación deFreeRADIUS y de las librerías adicionales que va a requiere para sucorrecto funcionamiento.8.1.2.Configuración de la base de datosLuego de la instalación de los paquetes de FreeRADIUS se tieneque realizar la configuración de la base de datos que va a usarFreeRADIUS para obtener los usuarios. Cabe resaltar queprimeramente los usuarios los va a obtener mediante el webservices del Sistema de Gestión Académica de la UniversidadNacional de Loja, pero se van a almacenar en una base de datoslocal, para asegurar conectividad así el web services no estédisponible.Se accede a la consola de MySQL, se digita la contraseña y se creala base de datos que va a utilizar FreeRADIUS en este caso sellama radius.
  13. 13. 13FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores$ mysql –u root –pEnter 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 labase de datos con todos los privilegios.mysql> GRANT ALL ON radius.*TO radius@localhostIDENTIFIED BY ”clavesegura”;En este caso se asume que la Base de datos se llama "radius" y secreó un usuario también "radius" con la contraseña "clavesegura".Finalmente se debe de salir del promp de MySQL.mysql> exit;Las tablas que usa FreeRADIUS se encuentran almacenadasdentro del directorio /etc/freeradius/sql/mysql/. Para elloprimeramente se tiene que loguear como superusuario (root) paraacceder 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 –uroot –p radius < ippool.sql
  14. 14. 14FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresroot@radius:/etc/freeradius/sql/mysql# mysql –uroot –p radius < nas.sqlroot@radius:/etc/freeradius/sql/mysql# mysql –uroot –p radius < schema.sql8.1.3.Configuración de la conexión con la base de datosAquí se configurará los parámetros para se conecte FreeRADIUScon la base de datos ya creada anteriormente para lo cual se realizalo siguiente:Se edita el archivo /etc/freeradius/sql.conf que es un archivodonde se encuentran todas las configuraciones de conexión deFreeRADIUS con MySQL.root@radius:#~ vi /etc/freeradius/sql.confEn el archivo se debe modificar las líneas correspondientes a laconexión 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 eseusuario.sql {database = “mysql”driver = “rlm_sql_${database}”server = “localhost”login = “radius”password = “clavesegura”
  15. 15. 15FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresAdemás dentro del mismo archivo se descomenta la variable:readclients = yes. El descomentar esta línea permite que se lealos clientes radius desde la base de datos.readclients = yes8.1.4.Configuración de la Autorización y ContabilidadSe debe editar el Archivo: /etc/freeradius/sites-available/default yagregar la variable "sql" en las secciones de: authorize{},accounting{}, session{}, post-auth{}. También se agrega la variable“perl” antes de “sql” en authorize. Esto permitirá que primero serealice la conexión con el web services del S.G.A. y luego realizar laautorización y la contabilidad desde MySQL.root@radius:#~ vi /etc/freeradius/sites-available/defaultauthorize {preprocesschapmschapdigestsuffixeap {ok = return}filesperlsqlexpirationlogintimepap}accounting {detailunix
  16. 16. 16FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresradutmpsqlexecattr_filter.accounting_response}Luego se edita el archivo de configuración principal deFreeRADIUS, y se procede a descomentar la línea $INCLUDEsql.confroot@radius:#~ vi /etc/freeradius/radiusd.conf# Include another file that has the SQL-relatedconfiguration.# This is another file only because it tends to bebig.#$INCLUDE slq.conf8.1.5.Conexión con el web services del S.G.APara la conexión de FreeRADIUS con el web services del S.G.A. esnecesario desarrollar un script en el lenguaje Perl, en el cual sedeben enviar como parámetros el usuario y la contraseña obtenidosde la solicitud (request) y agregarlos a la base de datos local. Elcódigo del scipt Perl se encuentran en el CD ajunto a ladocumentación.El script debe estar ubicado dentro del directorio principal deFreeRADIUS /etc/freeradius/ y se debe editar el archivo/etc/freeradius/modules/perlroot@radius:#~ vim /etc/freeradius/modules/perl
  17. 17. 17FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresY en la línea module especificar la ruta del archivo.Perl {module = ${confdir}/example.pl8.1.6.Configuración del cliente localhostEs necesario agregar un cliente en FreeRADIUS para que el portalcautivo se comunique con el servidor RADIUS, ya que en este casotanto FreeRADIUS como el portal cautivo estarán instalados en elmismo equipo el cliente va a ser localhost en caso de que estén endistintos equipos ahí se debería de configurar la dirección IP delportal cautivo.Para mayor seguridad, se requiere que se coloque una contraseñapara el cliente localhost puesto que ese cliente va a ser el portalcautivo que va a estar en el mismo servidor. Para ello se modifica elarchivo clients.confroot@radius:#~ vi /etc/freeradius/clients.confSe edita la contraseña que se encuentra en el parámetro secretdentro del cliente localhost.client localhost {ipaddr = 127.0.0.1secret = clavesegura2
  18. 18. 18FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores8.1.7.Arrancando FreeRADIUSEs importante saber que cuando se instaló FreeRADIUS se ejecutóel servicio es por eso que se debe de parar para poder iniciarlonuevamente con el sript de perl.root@radius:#~ /etc/init.d/freeradius stopLa razón por la que se para el servicio y no se lo reinicia es porquepara arrancar correctamente es necesario que antes del comandode iniciar el servicio se coloque un comando, el cual hace que laslibrerías que utiliza el script perl se carguen antes de la ejecución defreeRadius y se pueda levantar el servicio y ejecutar el script.Para ver que versión de perl que esta en el equipo se ejecuta elsiguiente comando.root@radius:#~ perl -V | grep libperlCuando se conoce la versión de perl en este caso libperl.so.5.14.2se puede ejecutar el comando para iniciar, reiniciar o detenerFreeRADIUS.root@radius:#~LD_PRELOAD=/usr/lib/libperl.so.5.14.2/etc/init.d/freeradius restartPara comprobar la conexión y funcionalidad tanto del script perlcomo la configuración de FreeRADIUS existe el comando radtest el
  19. 19. 19FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Florescual permite simular una solicitud de acceso RADIUS y compruebatanto conectividad como parámetros de envío.root@radius:#~ radtest usuarioSGA claveSGA127.0.0.1 1812 clavesegura2Donde: radtest: nombre del comando usuarioSGA: usuario almacenado en el Sistema de GestiónAcadémico claveSGA: clave del usuario almacenado en el Sistema deGestión Académico 127.0.0.1: cliente de FreeRADIUS 1812: Puerto por donde escucha la solicitud FreeRADIUS clavesegura2: clave del cliente de FreeRADIUSUna vez enviada la solicitud de acceso, FreeRADIUS se encarga dereceptar esta solicitud y dar una respuesta.Sending Access-Request of id 42 to 127.0.0.1 port1812User-Name = “usuarioSGA”User-Password = “claveSGA”NAS-IP-Address = x.x.x.xNAS-Port = 1812rad_recv: Access-Accept packet from host 127.0.0.1port 1812, id=42, length=20En este caso, al ser correctas las credenciales la solicitud deacceso receptada se acepta al usuario.
  20. 20. 20FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores8.2. CoovachilliA continuación de detalla cuidadosamente el procedimiento de lainstalación y configuración de CoovaChilli (portal cautivo) lo quepermitirá su adecuado funcionamiento.8.2.1.InstalaciónPara configurar Coovachilli lo primero que hay que realizar esdescargar la última versión desde la página oficial de Coovachilli.root@radius:#~ wgethhtp://ap.coova.org/chilli/coova-chilli_1.2.6_i386.debLuego se procede a instalar del paquete descargado.root@radius:#~ dpkg –i coova-chilli_1.2.6_i386.deb8.2.2.Configuración del archivo principal de CoovaChilliDentro de los archivos de CoovaChilli viene un archivo de ejemplodonde están todas las configuraciones globales del portal cautivo.Se procede a copiar el archivo de muestra y renombrarlo comoconfig.root@radius:#~ cp /etc/chilli/defaults/etc/chilli/configSe edita el archivo anteriormente creado en donde se encuentrantodas las directivas, las cuales se modificaran de acuerdo a lasnecesidades.
  21. 21. 21FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresroot@radius:#~ vi /etc/chilli/configEn este caso se seleccionó la red 10.1.0.0 /24 para la interfaz eth1que es donde se va a recibir las solicitudes de acceso y la interfazeth0 es donde va tener la conexión con la red de la universidad y elinternet.A continuación se muestra los parámetros configurados.HS_WANIF=eth0 #WAN Interface toward theInternetHS_LANIF=eth1 #Subscriber Interface forclient devicesHS_NETWORK=10.1.0.0 #HotSpot Network (mustinclude HS_UAMLISTEN)HS_NETMASK=255.255.255.0 #HotSpot Network NetmaskHS_UAMLISTEN=10.1.0.1 #HotSpot IP Address (onsubscriber network)HS_UAMPORT=3990 #HotSpot UAM Port (onsubscriber network)HS_DNS1=x.x.x.xHS_DNS2=10.1.0.1#### HotSpot settings for simple Captive Portal#HS_NASID=nas01HS_RADIUS=127.0.0.1 #o localhostHS_RADIUS2=127.0.0.1HS_UAMALLOW=10.1.0.1/24HS_RADSECRET=clavesegura2 # Set to be yourRADIUS shared secretHS_UAMSECRET=clavesegura3 # Set to be your UAMsecretHS_UAMALIASNAME=chilliHS_UAMFORMAT=https://$HS_UAMLISTEN/cgi-bin/hotspotlogin.phpHS_DEFSESSIONTIMEOUT=7200
  22. 22. 22FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresHS_DEFIDLETIMEOUT=1800Donde:HS_LANIF: Interfaz de red donde se va a escuchar las peticionesDHCP y donde se conecta los puntos de acceso en este caso es laeth1.HS_NETWORK: Dirección de red del portal cautivo.HS_NETMASK: Dirección de mascara de la red del portal cautivo.HS_UAMPORT: Puerto donde escucha CoovaChilli.HS_DNS1: Dirección IP del DNS (Sistema de Nombres deDominio).HS_RADIUS: Aquí se define la dirección IP del servidor RADIUS eneste caso como el servidor esta en el mismo equipo que el portalcautivo se define la IP del localhost.HS_RADIUS2: Dirección de IP del servidor RADIUS.HS_RADSECRET: Clave secreta del cliente localhost deFreeRADIUS que se agregó anteriormente en el archivoclients.conf.HS_UAMSECRET: clave segura del portal cautivo.HS_UAMFORMAT: Ruta donde se ubica el archivo que se muestraal usuario al momento de conectarse al servidor RADIUS, en estecaso se llama hotspotlogin.php el cual se lo describe más adelante.HS_DEFSESSIONTIMEOUT: tiempo que va a durar las sesionesde los usuarios logeados definido en segundos.
  23. 23. 23FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresHS_DEFIDLETIMEOUT: tiempo de inactividad para desconectar aun usuario, también esta definido en segundos.8.2.3.Configuración del portal cautivoSe crea el directorio donde van a estar almacenados archivospropios del portal cautivo.root@radius:#~ mkdir –p /var/www/hotspot/uamLuego se debe de copiar los archivos necesarios para elfuncionamiento de Coovachilli al directorio anteriormente creado.root@radius:#~ cp /etc/chilli/www/*/var/www/hotspotSe accede al directorio en donde se va a descargar archivosadicionales para el correcto funcionamiento del portal cautivo.root@radius:#~ cd /var/www/hotspot/uamY se procede a descargarlasroot@radius:#~ wget http://ap.coova.org/uam/Se hace un cambio dentro del archivo/var/www/hotspot/uam/index.html ubicando la dirección IP delportal 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
  24. 24. 24FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresSe edita el archivo /etc/default/chilli y se modifica la ruta delarchivo de configuración.root@radius:#~ vi /etc/default/chilliPara que inicie coovachilli automáticamente se debe poner 1 enSTART_CHILLI y además para no tener problemas con el usuarioque va a manipular el Coovachilli se coloca root en HS_USERSTART_CHILLI=1CONFFILE=”/etc/chilli.conf”HS_USER=”root”8.2.4.Archivo hotspotlogin.phpPara la parte visible al usuario donde ingresara los credenciales(Cedula de identidad y clave del SGA) se procedió a modificar unarchivo proporcionado por chillispot.org que originalmente estahecho en perl el cual se lo convirtió a un archivo php.Este archivo se encuentra ubicado en el directorio del servidor webapache2 en /var/www/hotspot/cgi-bin/. tambien se adecuó deacuerdo a las sugerencias de los administradores del departamentode redes de la Unidad de Redes y Telecomunicaciones.A continuación se muestra el archivo hotspotlogin.php $uamsecretdebido a que aquí se pone la clave que se configuró en el archivoprincipal de CoovaChilli en HS_UAMSECRET, también se fijó enla variable $redirurl = http://www.unl.edu.ec; ya que estopermitirá que después de logearse el portal cautivo lo redireccione ala pagina de la universidad.
  25. 25. 25FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores<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 enconexion contactarse<br>por favor al (07) 2547252 ext. 127 oenvie un correo a<br><AHREF="mailto:soporte@unl.edu.ec">soporte@unl.edu.ec</A></center>;# attempt to loginif ($_GET[login] == login) {$hexchal = pack ("H32", $_GET[chal]);if (isset ($uamsecret)) {$newchal = pack ("H*", md5($hexchal .$uamsecret));} else {$newchal = $hexchal;}
  26. 26. 26FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores$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 successfulif ($_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]
  27. 27. 27FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores. &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 failedif ($_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 outif ($_GET[res] == logoff) {
  28. 28. 28FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores$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 inif ($_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 yetif ($_GET[res] == notyet) {$result = 5;$titel = Bienvenido a la red UNL;$headline = Bienvenido a la red UNL;$bodytext = Usted esta intentando acceder a lared de la UNL<br>Por favor use sus datos delS.G.A.;print_header();print_body();print_login_form();print_footer();}
  29. 29. 29FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores#11: Popup1if ($_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: Popup2if ($_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">CerrarSesion</a>;print_header();print_body();print_footer();}#13: Popup3if ($_GET[res] == popup3) {$result = 13;$titel = Desconectado de red UNL;$headline = Desconectado de red UNL;$bodytext = <a href="http:// . $_GET[uamip]. : . $_GET[uamport] . /prelogin">IniciarSesion</a>;print_header();print_body();print_footer();}# 0: It was not a form request# Send out an error messageif ($_GET[res] == "") {
  30. 30. 30FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores$result = 0;$titel = Atencion. No debe estar aqui;$headline = Inicio de Sesion Fallido;$bodytext = Salga de aqui inmediatamente. Ellogueo debe realizarse mediante el demonio;print_header();print_body();print_footer();}# functionsfunction 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="no-cache"><meta http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><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();
  31. 31. 31FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Florestime = Math.round((t.getTime() -starttime.getTime())/1000);if (mytimeleft) {time = mytimeleft - time;if (time <= 0) {window.location ="$loginpath?res=popup3&uamip=$uamip&uamport=$uamport";}}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,menubar=0,resizable=1,width=500,height=375);}}function doOnLoad(result, URL, userurl,redirurl, timeleft) {
  32. 32. 32FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresif (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,menubar=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,menubar=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")) {
  33. 33. 33FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresself.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=$uamport&userurl=$userurl&redirurl=$redirurl&timeleft=$timeleft,$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
  34. 34. 34FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores<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>
  35. 35. 35FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores8.2.5.Creación del archivo ipup.shEn el paquete CoovaChilli, existen archivos con reglas tipo iptablesya creadas. Se usó estas mismas reglas y se añadió más reglasacordes con las políticas de seguridad de la Unidad deTelecomunicaciones e Información.Existen dos scripts de shell que contienen las reglas de iptables quemaneja CoovaChilli los que son up.sh y down.sh, estos scripts seejecutan al instante en que se levanta el proceso de CoovaChilli.Para agregar mas reglas de iptables se debe a crear el scripts deShell llamado ipup.sh donde se establecieron los siguientesaspectos: Conexión sshPara permitir administrar remotamente el servidor mediante SSHdesde la interfaz eth0, ya que por defecto está inhabilitado seprocedió a abrir el puerto que se usa dentro de la unidad detelecomunicaciones. Resolución de Nombres (DNS)Se procedió a abrir el puerto 53 udp donde el DNS trabaja y ahí seespecifico la dirección IP del DNS de la universidad. Peticiones httpPara que se permita la navegación se procedió a abrir el puerto 80tcp.
  36. 36. 36FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores Conexión seguraPara que el servidor web escuche por el puerto de conexión segurase procedio a abrir el puerto 443 tcp. Puerto por el que escucha CoovaChilliPara que CoovaChilli escuche las peticiones de los usuarios seprocedió a abrir el puerto 3990 tcp. NAT (Traducciones de direcciones de red)El NAT permite la traducciones de direcciones ip en este caso se dacon la Red 10.1.0.0/24, de modo que todo el trafico generado enesta red pueda salir por la IP x.x.x.x/x, ya que esta ip esta configuraen la interfaz eth0 que es el medio por el cual se da acceso ainternet.A continuación se detalla las reglas que se aplicó en el archivo.#! /bin/shecho "Iniciando Script | aplicancdo reglas"#Interfaces eth0: x.x.x.x eth1: 10.1.0.1IPTABLES="/sbin/iptables"IPETH0="eth0"IPETH1="eth1"DNS=x.x.x.xINTRANET=x.x.x.x/xHOST=x.x.x.xCERO=0.0.0.0/0#Limpiando todo filter - nat$IPTABLES -F$IPTABLES -X$IPTABLES -Z$IPTABLES -t nat -F
  37. 37. 37FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores$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 yOUTPUT##aceptar todas las acciones en localhost127.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 -jACCEPT#DNS$IPTABLES -A INPUT -s $DNS -d x.x.x.x -i eth0 -pudp --sport 53 --dport 1024: -j ACCEPT$IPTABLES -A OUTPUT -s x.x.x.x -d $DNS -o eth0 -pudp --sport 1024: --dport 53 -j ACCEPT#abriendo el puerto 80$IPTABLES -A INPUT -p tcp -m tcp --sport 80 -jACCEPT$IPTABLES -A OUTPUT -p tcp -m tcp --dport 80 -jACCEPT#abriendo puerto 443
  38. 38. 38FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores$IPTABLES -A INPUT -p tcp -m tcp --sport 443 -jACCEPT$IPTABLES -A OUTPUT -p tcp -m tcp --dport 443 -jACCEPT# puerto 3990$IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT#nat$IPTABLES -t nat -A POSTROUTING -o $IPETH0 -jMASQUERADEecho final8.2.6.Generación de certificados SSL apache2Como se va a usar conexiones SSL para mayor seguridad. Setiene que instalar el módulo SSL.root@radius:~# apt-get install apache2 ssl-certSe debe crear un directorio llamado ssl dentro de /etc/apache2root@radius:~# mkdir /etc/apache2/sslEs necesario saber el nombre del equipo esto va a servir al generarel certificado. Se lo obtiene con el siguiente comando.root@radius:~# hostname -fA continuación, habrá que hacer un certificado SSL que seráutilizado por el host virtual que se detalla más adelante. El sistemapreguntará por una serie de parámetros (Localidad, Provincia, etc.),siendo el más 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
  39. 39. 39FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresdel certificado coincidan, ya que los navegadores dan avisos deposibilidad de intrusión en caso de que no coincidan:root@radius:~# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pemAparecerá una ventana donde se debe escribir el nombre delequipo que ya anteriormente se obtuvo con el comando hostname –f. En este caso es radius.unl.edu.ec.Figura 3. Ventana de configuración de certificado SSLPara activar el módulo ssl se debe ejecutar el siguiente comando.root@radius:~# a2enmod ssl8.2.7.Creación de host virtualPara la configuración correcta del virtual host es necesario tener encuenta los siguientes aspectos.NameVirtualHost: se indica la dirección IP de la tarjeta de red y elpuerto.
  40. 40. 40FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresDocumentRoot: Directorio principal que contiene la estructura dedirectorios visible desde la Web Esta directiva especifica eldirectorio desde el cuál apache2 servirá los ficheros.ServerName: La directiva ServerName especifica el nombre dehost y el puerto que usa el servidor para identificarse.Directory index: Engloba a un grupo de directivas que se aplicaránsolamente al directorio del sistema de ficheros especificado y a sussubdirectorios. Aquí es donde se indica el nombre de la páginaprincipal del sitio.ServerAdmin: Dirección de email que el servidor incluye en losmensajes de error que se envían al cliente.ErrorLog: Ubicación del fichero en el que se almacenan losmensajes de error.CustomLog: Ubicación de donde esta el archivo en el cual seregistran los accesos al sitio.SSLCertificateFile: Aquí se ubica la ruta del certificado ssl.Se procede a crear un archivo llamado hotspot donde se va aagregar el host virtual dentro del directorio /etc/apache2/sites-available.root@radius:~# vim /etc/apache2/sites-available/hotspotA continuación se muestra la configuración del virtual host . Aquí seagrega la ruta donde se creó el certificado ssl.<IfModule mod_ssl.c>
  41. 41. 41FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores<VirtualHost 10.1.0.1:443>ServerAdmin webmaster@localhostDocumentRoot /var/www/hotspotServerName radius.unl.edu.ec<Directory />Options FollowSymLinksAllowOverride None</Directory><Directory /var/www/hotspot/>Options Indexes FollowSymLinksMultiViewsAllowOverride NoneOrder allow,denyallow from all</Directory>Alias "/dialupadmin/""/usr/share/freeradius-dialupadmin/htdocs/"<Directory "/usr/share/freeradius-dialupadmin/htdocs/">Options Indexes FollowSymLinksMultiViewsAllowOverride NoneOrder allow,denyallow from all</Directory>ScriptAlias /cgi-bin/ /var/www/hotspot/cgi-bin/
  42. 42. 42FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Flores<Directory "/var/www/hotspot/cgi-bin/">AllowOverride NoneOptions +ExecCGI -MultiViews+SymLinksIfOwnerMatchOrder allow,denyAllow from all</Directory>ErrorLog ${APACHE_LOG_DIR}/error.logLogLevel warnCustomLog ${APACHE_LOG_DIR}/ssl_access.logcombinedAlias /doc/ "/usr/share/doc/"<Directory "/usr/share/doc/">Options Indexes MultiViewsFollowSymLinksAllowOverride NoneOrder deny,allowDeny from allAllow from 127.0.0.0/255.0.0.0::1/128</Directory>SSLEngine onSSLCertificateFile/etc/apache2/ssl/apache.pemLogLevel warnCustomLog ${APACHE_LOG_DIR}/ssl_access.logcombinedAlias /doc/ "/usr/share/doc/"
  43. 43. 43FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresSe ejecuta los siguientes comandos para finalizar la configuraciónde apache2root@radius:~# a2ensite hotspotroot@radius:~# apache2ctl -troot@radius:~# /etc/init.d/apache2 reloadFinalmente se reinicia todos los servicios (FreeRADIUS yCoovaChilli) y se tendrá al servidor RADIUS funcionando con elportal cautivo. Es importante tener en cuenta que al reiniciar elservicio de FreeRADIUS debe de ser con las instrucciones yaanteriormente mencionadas.8.3. daloRADIUSA continuación se detalla el proceso de instalación y configuracióndel daloRADIUS, al ser una herramienta de administración web, eluso correcto se detalla en el manual de usuario.8.3.1.InstalaciónEl siguiente paso es descargar daloRADIUS desde su Web .root@radius:~#wgethttp://sourceforge.net/projects/daloradius/files/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gzUna vez descargado el paquete de daloRADIUS se procede adescomprimir la aplicación y se debe crear la base de datos con lastablas pertinentes. Como root se ejecuta los siguientes comandos:Se descomprime el paquete descargado
  44. 44. 44FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresroot@radius:~# tar xvzf daloradius-0.9-9.tar.gzSe copia la carpeta daloradius-0.9-9 al directorio de /var/www/root@radius:~# cp daloradius-0.9-9/var/www/daloradius –RSe da permiso al apache sobre el directorio del daloRADIUS queesta en el directorio /var/www/daloradiusroot@radius:~# chown www-data:www-data/var/www/daloradius/ -RSe cambian los permisos del archivo daloradius.conf.phproot@radius:~# chmod 644/var/www/daloradius/library/daloradius.conf.php8.3.2.ConfiguraciónPara que daloRADIUS funcione correctamente, se requiere agregaralgunas tablas más a la base de datos de MySQL. Estas tablas yaestán incluidas en el directorio de daloRADIUS, por lo que solo esnecesario ejecutar el siguiente comando:root@radius:~# mysql -u root -p radius </var/www/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
  45. 45. 45FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresSeguidamente se edita el archivo daloradius.conf.php para ponerlos valores de la conexión 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 restartPara poder visualizar la interfaz de daloRADIUS se debe ingresar aun navegador de prefencia Mozilla Firefox y se coloca la direcciónIP del servidor o el dominio: http://172.16.32.20/daloradius ohttp://radius.unl.edu.ec/daloradiusFigura 4. Dirección de Ingreso con IPFigura 5. Dirección de Ingreso con dominioy en la sección de password se ingresa la contraseña: radius
  46. 46. 46FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresFigura 6. Ventana de Logeo8.4. Errores ComunesA continuación se detallan algunos de los errores más comunes yse presenta la solución correspondiente.8.4.1. Error al crear el directorio /var/log/freeradius/radacctUno de los errores que aparece al leer los log de FreeRADIUS endaloRADIUS es el siguiente:Failed to create directory/var/log/freeradius/radacct: Permission deniedPara corregir el error se debe seguir los siguientes pasos:root@radius:~# mkdir /var/log/freeradius/radacct/
  47. 47. 47FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio Floresroot@radius:~# touch/var/log/freeradius/radacct/sql-relayOpen8.4.2.Error de reinicio de servicio FreeRADIUSEs importante recordar que el reinicio del servicio de freeradius nose lo puede ejecutar con los comandos comunes sino que se debeejecutar un comando especial como lo es:LD_PRELOAD=/usr/lib/libperl.so.5.14.2/etc/init.d/freeradius restart /etc/init.d/chillirestartEs por esto que cada vez que se reinicie el equipo se va a dar elsiguiente error por el scrip que se agregó de perl.Figura 7. Error al levantar el servicio FreeRADIUSEste error se lo solucionó agregando unas líneas en el archivo/etc/rc.local que se ejecuta al reiniciar el equipo. A continuación semuestra los comandos agregados:
  48. 48. 48FreeRADIUS, CoovaChilli y daloRADIUSUniversidad Nacional de Loja Lisset NeyraFabricio FloresFigura 8. Archivo rc.local8.4.3.Error al leer los logs de daloRADIUSEste error aparece al momento de visualizar los logs de daloradiusmediante su interfaz gráfica debido a que se guardan dentro de/tmp/daloradius.log y como es un archivo temporal se lo debe decrear dar permisos cada vez que se reinicie el equipo. Por esto seprocedió a agregar en /etc/rc.local los siguientes comandos.touch /tmp/daloradius.logchown www-data:www-data /tmp/daloradius.log

×