Está en la página 1de 28

Instalacin y configuracin de Chillispot sobre Freeradius en Debian.

V1
Raul Espinosa Soriano
En este tutorial, se trata la instalacin, configuracin y puesta en marcha de un servidor Chillispot, sobre Debian, sistema en el que debe de haber instalado un servidor Freeradius.

Ral Espinosa Soriano raul@rauesso.com http://rauesso.com http://youtube.es/rauesso 25/02/2012

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Tabla de contenido
Introduccin .................................................................................................................................. 2 Descarga de ChilliSpot ................................................................................................................... 3 Instalar y configurar Apache 2 + SSL en Debian ............................................................................ 6 Soporte TUN/TAP ........................................................................................................................ 10 Forwarding de direcciones IP ...................................................................................................... 12 Instalacin de ChilliSpot .............................................................................................................. 14 Edicin de los archivos de configuracin .................................................................................... 14 Modificacin de chilli.conf ...................................................................................................... 15 Modificacin de users en Freeradius ...................................................................................... 17 Configuracin de clients.conf .................................................................................................. 18 Modificacin de hotspotlogin.cgi ............................................................................................ 19 Copia y edicin de chillispot.iptables ...................................................................................... 20 Configuracin de Eth0 y Eth1 .................................................................................................. 20 Creacin Sitio Corporativo de recepcin de peticiones de conexin ..................................... 22 Iniciando nuestro servidor Chillispot .......................................................................................... 22 Comprobacin del funcionamiento ............................................................................................ 24 Configuracin del cliente ........................................................................................................ 24 Conectar .................................................................................................................................. 24 Desconectar............................................................................................................................. 26

Ral Espinosa Soriano

Pgina 1

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Instalacio n y configuracio n de ChilliSpot sobre FreeRadius


Introduccin
En este tutorial, se va a presentar la Instalacin y configuracin de Chillispot en un sistema Debian. Ese sistema ya deber de tener instalado y configurado Freeradius, tarea realizada en otro tutorial. Para la puesta en marcha de Chillispot, deberemos de tener dos interfazces en nuestro sistema: ETH1: conectar con la red local(sea wifi o cableada) ETH0: Conectar con Internet.

A lo largo de la configuracin, se hace uso de un adaptador virtual TUN, el cual har las veces de servidor de autentificacin en el sistema local. A continuacin se muestra alguna imagen que denota la topologa de nuestra red, haciendo uso de un servidor Chillispot:

Ral Espinosa Soriano

Pgina 2

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Una vez entendida la topologa pasamos a configurar nuestro sistema

Descarga de ChilliSpot
Lo primero que realizaremos, ser la descarga del paquete de Chillispot. Para ello, confirmamos que nuestro sistema est conectado a Internet, y posteriormente, si es asi, descargamos el paquete desde la pgina de Chillispot. Como Administrador, desde un terminal, ejecutamos el comento ifconfig, y, en el caso que nos ocupa, vemos que uno de los interfaces tiene conexin a internet. En concreto el interfaz eth1, con IP 172.26.0.69, nos conecta a internet.

Ral Espinosa Soriano

Pgina 3

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Una vez confirmada la existencia a una conexin de internet, nos conectamos desde un navegador a la web de Chillispot (http://www.chillispot.info), y en su seccin de descargas, podremos ver el enlace al paquete. El que nos interesa es el paquete .deb.

Ral Espinosa Soriano

Pgina 4

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 Si le pinchamos al paquete de descarga *.deb, segn el navegador, no se produce la descarga, sino que nos abre el fichero, cuyo contenido es incomprensible para nosotros. Ese es el caso de nuestra instalacin. De esta forma, lo que debemos de anotar, es la URL del paquete, y desde un terminal hacer uso de wget para dicha descarga.

En la capturo anterior, se puede ver la URL de descarga, que es la correspondiente al paquete *.deb. Abrimos un terminal como Adminstrador, y tecleamos el siguiente comando: #wget <url_paquete> De esta forma se procede a la descarga del mismo, en la carpeta donde nos encontremos.

Unas vez descargado, ya podremos verlo en nuestro directorio. En nuestro caso, en /home/rauesso.

Ral Espinosa Soriano

Pgina 5

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Instalar y configurar Apache 2 + SSL en Debian


Necesitamos un servidor web con soporte SSL al cual redireccionar a los usuarios de la red inalmbrica cuando intenten navegar. En nuestro caso instalaremos Apache y los mdulos respectivos para soporte SSL: # apt-get install apache2 apache2.2-common apache2-mpm-worker apache2-utils

Pasamos ahora a generar el certificado SSL con el que trabajar Apache, ya que la pgina de autentificacin, ser bajo el protocolo SSL+HTTP, es decir, HTTPS. Para ello, desde un terminal, creamos la carpeta ssl, dentro de /etc/apache2, que es la ubicacin donde se depositar el certificado una vez creado. #mkdir /etc/apache2/ssl Una vez creado el directorio ssl, pasamos a crear el certificado, por medio del comando makessl-cert. # make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

Ral Espinosa Soriano

Pgina 6

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Llenamos los datos que pida segn sea nuestro caso y luego habilitamos el mdulo: # a2enmod ssl Debemos verificar que Apache est configurado para escuchar por el puerto 443 cuando trabaje con el mdulo SSL (las versiones recientes de Apache suelen ya venir configuradas de esta manera): # nano /etc/apache2/ports.conf El archivo debe tener la siguiente forma:

Ahora creamos el sitio SSL. Por defecto, Apache trae el fichero default ubicado en la carpeta /etc/apache2/sites-available/. Copiamos este archivo para luego poder modificarlo: # cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl # nano /etc/apache2/sites-available/ssl

Ral Espinosa Soriano

Pgina 7

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

El archivo debe quedar de la siguiente manera:

Para finalizar la configuracin de Apache, habilitamos el nuevo sitio: # a2ensite ssl

Ral Espinosa Soriano

Pgina 8

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Una vez habilitado, el sitio ssl, reiniciamos el servicio apache2, tal y como se muestra en la siguiente captura:

Y ya podremos acceder a nuestro sitio, tanto de forma normal, como por acceso seguro SSL, tal y como se aprecia en las siguientes capturas.

Ral Espinosa Soriano

Pgina 9

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Soporte TUN/TAP
En primer lugar, nuestro sistema debe tener habilitado el soporte TUN/TAP para interfaces virtuales. Desde la terminal ejecutamos los siguientes comandos: #apt-get install modconf

Ahora pasamos a la configuracin de TUN, por medio del comando modconf: # modconf
Con esto aparecer un recuadro que muestra las categoras de los mdulos soportados por el sistema. Para nuestro caso, buscaremos seccin kernel/drivers/net:

Haciendo uso de la tecla tab, seleccionamos Aceptar y aparecer un nuevo recuadro en el que buscamos tun. Si posee soporte debe aparecer con un signo +.

Ral Espinosa Soriano

Pgina 10

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Si tenemos soporte TUN/TAP nuestro sistema posee soporte para un mdulo indispensable para Chillispot, sin embargo, an debemos agregarlo al inicio del sistema. Desde terminal ejecutamos las siguientes lneas de comando: # modprobe tun

Ahora pasamos a editar el fichero /etc/modules, y en la ltima lnea deber de aparecer tun. Si no fuera as lo aadiremos nosotros. # nano /etc/modules

Ral Espinosa Soriano

Pgina 11

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Con la ltima lnea abrimos el archivo /etc/modules con nano. Vamos al final del archivo y en una nueva lnea agregamos tun, quedando ms o menos as (puede variar en su sistema segn los mdulos que cargue al arrancar-la entrada Tun ya estar creada en la mayora de las ocasiones).

Forwarding de direcciones IP
Nuestro equipo con Chillispot estar trabajando como un firewall, de hecho, sin las reglas de firewall no sera posible que Chillispot funcionara. Al funcionar como firewall

Ral Espinosa Soriano

Pgina 12

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

debe tener la capacidad de hacer NAT (Network Address Translation) para lo que ejecutamos la siguiente lnea: # echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward Alternativamente podemos utilizar nano y manualmente cambiar el valor (por defecto 0) a 1. Este valor es un bit binario que hace las veces de un booleano.(0=falso y 1=verdadero) # nano /proc/sys/net/ipv4/ip_forward

Ahora modificamos el archivo sysctl: # nano /etc/sysctl.conf

Nos aseguramos que posea la siguiente lnea (si no la posee la agregamos y si se encuentra comentada con # al principio se lo quitamos) net.ipv4.ip_forward=1

Ahora ya tenemos configurado nuestro firewall para que sea capaz de el redireccionamiento entre los interfaces internos y externos.

Ral Espinosa Soriano

Pgina 13

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Instalacin de ChilliSpot
Para proceder a la instalacin de Chillispot, accederemos al directorio donde, en el primero de los puntos, nos descargamos el paquete *.deb de chillispot. Una vez en la ubicacin oportuna, en nuestro caso /home/rauesso, ejecutamos el comando: #dpkg i chillispot_version.deb

Hasta aqu ya tenemos instalado Chillispot con alguna configuracin bsica. Estas configuraciones se encuentran en /etc/chilli.conf donde podemos modificarlas y an definir otros parmetros. Esto lo haremos posteriormente. Dentro de la documentacin de Chillispot encontramos el archivo hotspotlogin.cgi (generalmente viene comprimido y lo encontramos como hotspotlogin.cgi.gz). Descomprimimos el archivo y lo copiamos en la carpeta /usr/lib/cgi-bin. # gunzip /usr/share/doc/chillispot/hotspotlogin.cgi.gz # cp /usr/share/doc/chillispot/hotspotlogin.cgi /usr/lib/cgi-bin/

Con esto ya tenemos nuestro servidor de autenticacin. Faltara configurarlo los aspectos ms relevantes.

Edicin de los archivos de configuracin


Bsicamente los archivos de configuracin a modificar son cuatro: /etc/chilli.conf

Ral Espinosa Soriano

Pgina 14

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 /usr/local/etc/raddb/clients.conf /usr/lib/cgi-bin/hotspotlogin.cgi /etc/init.d/chillispot.iptables

Modificacin de chilli.conf
Aqu es donde definimos los parmetros propios de Chillispot, los cuales explicamos a continuacin. 'net': Es la red sobre la cual estar trabajando Chillispot, es decir la Wireless LAN. Se debe poner con el formato <direccin IP>/<mscara de subred>. 'radiusserver': La direccin IP de los servidores RADIUS. Es necesario indicar dos servidores, aunque en nuestro caso solamente contamos con uno. Debido a que el servicio de RADIUS se encuentra corriendo en el mismo equipo, utilizamos la direccin de loopback. 'radiussecret': Cadena de caracteres que indica el secreto compartido entre Chillispot y el servidor RADIUS. 'dns': Direccin IP del servidor DNS. 'dhcpif': Interfaz conectada al punto de acceso y por la que se proveer DHCP. Dicho sea de paso que en la red sobre la que est trabajando Chillispot no debe haber ningn servidor DHCP activado, dado que este servicio lo proporciona Chillispot mismo. 'uamallowed': Aqu podemos especificar direcciones IP o nombres de dominio a los que se permitir el acceso sin autenticacin. Como mnimo debemos poner la direccin IP del servidor web al que sern redireccionados los usuarios no registrados y la direccin IP del Servidor de Nombres de Dominio (DNS). 'uamserver': URL del servidor de autenticacin. 'uamsecret': Secreto compartido entre Chillispot y el servidor de autenticacin. Utilizando nano abrimos el archivo para poder editarlo: # nano /etc/chilli.conf

El archivo completo debe quedar con la siguiente estructura:

Ral Espinosa Soriano

Pgina 15

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Ral Espinosa Soriano

Pgina 16

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Una vez, nuestro fichero /etc/chilli.conf, tiene la configuracin denotada en las imgenes anteriores, pasamos a los siguientes ficheros de configuracin.

Modificacin de users en Freeradius


En este tutorial, se ha partido de un sistema Debian, el cual ya tena Freeradius configurado, por lo que los usuarios, los cuales se configuran en el fichero /usr/local/etc/raddb/users, ya estn creados. A modo de repaso, se puede acceder al fichero users, anterior, y confirmar los usuarios. En el caso que nos ocupa, como se puede aprecir, los usuarios son dos: Usuario: test password: test Usuario: rauesso password: test Ral Espinosa Soriano Pgina 17

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Al final de documento se pueden observar los usuarios, junto con la sintaxis. Podramos aadir tantos usuarios como quisiramos.

Configuracin de clients.conf
Dado a que en nuestro caso la direccin IP del servidor RADIUS es la de loopback por estar en el mismo equipo en que se encuentra Chillispot, debemos verificar que dentro de los clientes se encuentre especificado nuestro host local y si no se encuentra agregarlo. Si el caso fuera un servidor RADIUS remoto, deberamos agregar la direccin IP atravs de la cual es visible para RADIUS el host con Chillispot. Abrimos el fichero con nano: # nano /usr/local/etc/raddb/clients.conf

Para el primer caso expuesto, el archivo debe quedar as:

Ral Espinosa Soriano

Pgina 18

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Modificacin de hotspotlogin.cgi
Abrimos el fichero con nano: # nano /usr/lib/cgi-bin/hotspotlogin.cgi

Lo nico que debemos hacer es verificar que no se encuentre comentada la lnea $uamsecret = secretouam; Donde secretouam es el secreto compartido entre Chillispot y el servidor de autenticacin. Adems, descomentamos la lnea $userpassword=1;

Posteriormente, deberemos de dar permisos al fichero: #chmod 755 /usr/lib/cgi-bin/hotspotlogin.cgi #chmod 755 /usr/lib/cgi-bin

Ral Espinosa Soriano

Pgina 19

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Copia y edicin de chillispot.iptables


Chillispot ya incluye una configuracin de iptables sugerida. La podemos encontrar dentro de su documentacin y copiarla para hacer uso de ella y de ser necesario modificarla. # cp /usr/share/doc/chillispot/firewall.iptables /etc/init.d/chillispot.iptables # chmod 755 /etc/init.d/chillispot.iptables

Despus de copiarla y darle permisos de ejecucin abrimos el archivo con nano: # nano /etc/init.d/chillispot.iptables Luego verificamos que los parmetros INTIF y EXTIF contengan las interfaces interna (la que va a la red inalmbrica) y externa (la que conecta a la WAN), respectivamente. En nuestro caso queda de la siguiente manera: EXTIF = eth0 INTIF = eth1 Por ltimo agregamos las reglas al inicio del sistema: # ln -s /etc/init.d/chillispot.iptables /etc/rcS.d/S40chillispot.iptables

Configuracin de Eth0 y Eth1


Nuestro sistema Freeradius+Chillispot, como se ha comentado al inicio del tutorial, deber de tener dos interfaces (eth0 y eth1). Eth1 deber de conectar a la red interna (o al punto de acceso Wifi, en el caso de que se utilice tambin para controlar el acceso desde Wifi), y eth0, al router que da acceso a internet. En deban, y en el caso que nos ocupa, la configuracin es la siguiente:

Ral Espinosa Soriano

Pgina 20

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Ral Espinosa Soriano

Pgina 21

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 Una vez confirmada la configuracin IP de cada uno de los interfaces, pasamos a crear nuestro sitio de recepcin de peticiones de conexin.

Creacin Sitio Corporativo de recepcin de peticiones de conexin


Accedemos a nuestra carpeta /var/www, y creamos un directorio donde depositaremos la pagina que los usuarios vern cuando se quieran conectar por primera vez. En este ejemplo, este directorio, se llamar, por ejemplo, spot.

En su interior, con un editor, como por ejemplo nano o gedit, creamos un archivo index.html, el cual contendr esa pequea pgina web de acceso. En este tutorial, simplemente he creado un enlace al fichero prelogin que ofrece chillispot. El contenido se puede observar en la siguiente captura.

Iniciando nuestro servidor Chillispot


Ahora nuestro Servicio de portal cautivo est listo para iniciarse. Basta con ejecutar los siguientes comandos para iniciar Chillispot y los servicios relacionados: # /etc/init.d/apache force-reload #/etc/init.d/chillispot.iptables restart # /etc/init.d/chilli restart

Ral Espinosa Soriano

Pgina 22

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1 # radiusd

A la hora de lanzar radiusd, tenemos la opcin de lanzarlo en un terminal independiente, y que las peticiones que reciba sean visibles. Para ella procederemos como se presenta en la siguiente captura.

Tambin iniciamos todos los servicios restantes.

Se puede realizar un testeo de funcioamiento de Freeradios, por medio del comando radtest. La sintaxis sera: #radtes usuario contrasea localhost 1465 contrasea_cliente_freeradius En la siguiente captura, podeis ver un ejemplo.

Ral Espinosa Soriano

Pgina 23

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Comprobacin del funcionamiento


Ahora solo nos queda confirmar el buen funcionamiento del sistema instalado y configurado.

Configuracin del cliente


Lo primero que haremos, ser acceder a un cliente, por ejemplo un sistema XP que est fsicamente conectado a la red del servidor Debian que acabamos de configurar. Le configuraremos un IP dinmica, de forma que Chillispot, le conceda direccin IP, ya que es servidor DHCP. Como podemos observar en la siguiente captura, los datos IP de nuestro cliente XP coinciden con los configurados en apartados anteriores, en el servidor Debian:

De esta forma est todo correcto.

Conectar
Para conectar, sobra con intentar acceder a una pgina web. El sistema directamente nos deriva a la pgina web creada anteriormente, la cual contiene un simple enlace:

Si le pinchamos al enlace, el sistema nos lleva al sitio HTTPS del chillispot. El certificado utilizado es el creado anteriormente, al confitgurar Apache, y evidentemente no es reconocido por nuestro navegador. No obstante, pinchamos a Vaya a este sitio Web (no recomentado):

Ral Espinosa Soriano

Pgina 24

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Y nos pide usuario y contrasea para acceder a la red. Introducimos alguno de los que se ha configurado en el fichero users de Freeradius, por ejemplo rauesso/test:

Una vez validado, ya nos direcciona al internet, y tenemos acceso completo.

Ral Espinosa Soriano

Pgina 25

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

Desconectar
Para desconectar, deberemos de acceder a la direccin: http://IP_Adaptador_TUN_servidor_chillispot:3990/prelogin Aceptamos el certificado, y se nos da la opcin de desconectar:

Seleccionamos Logout, y ya nos desconectamos del sistema de red facilitado por Chillispot y Freeradius

Ral Espinosa Soriano

Pgina 26

Instalacin y configuracin de Chillispot sobre Freeradius en Debian. V1

De esta forma, queda clara la instalacin y configuracin de Chillispot en Debian. Este tutorial, es complementario al Tutorial de Instalacin y Configuracin de Freeradius,

Ral Espinosa Soriano

Pgina 27

También podría gustarte