Anda di halaman 1dari 35

Tpicos de Redes.

Instalacin y Configuracin de un Servidor Hotspot utilizando Ubuntu.

Especialidad: Ingeniera en Sistemas Computacionales Docente: Franco Fabio Garca Gonzlez.

Presentan: Mara Patricia Jurez Ibarra. Luis Antonio Gmez Soria.

Celaya Gto. A 14 de Marzo de 2012

HERRAMIENTAS Ubuntu 11.10 Desktop Laptop con tarjeta inalmbrica y puerto ethernet Laptop/PC con puerto ethernet Cable ethernet cruzado Freeradius v. 2.1.10 Chillispot Apache2 v. 2.2.20 phpMyAdmin MySQL DNS SSH OpenSSL 1.0

PROCEDIMIENTO

1) INSTALAR EL SISTEMA OPERATIVO


Instalar Ubuntu 11.10 ya sea de manera nativa o como aplicacin. Activar la tarjeta inalmbrica y contar con conexin a Internet.

2) ACTIVAR LOS REPOSITORIOS


Asegurarse de tener seleccionados los repositorios: universe, restricted, multiverse y software de terceros (ir a Configuracin de Sistema > Orgenes del Software).

3) INSTALAR LOS SERVIDORES Y PROGRAMAS BSICOS


Es necesario tener los siguientes programas: Basic Ubuntu server DNS server LAMP server OpenSSH server

Para hacer esto abrir una shell de root dando clic en Inicio y en la caja de texto Buscar escribir Terminal.

Una vez que se abra la terminal, ingresar sudo xterm y teclear la contrasea cuando nos lo solicite

Una vez ingresada la contrasea de root, se abrir una shell de root, como se muestra en la figura, en la cual se pueden ingresar todos los comandos con privilegios de root, es decir, sin tener que empezar dichos comandos con la instruccin sudo.

Al tener abierta la Shell de root (Xterm) ya no es necesaria la ventana de terminal, as que podemos cerrarla.

En la shell ingresar el comando apt-get install tasksel para instalar esta aplicacin.

Cuando termine de instalarse ingresar el comando tasksel.

Nos muestra lo siguiente, elegir de la lista los servidores y programas ya mencionados, desplazndonos con las flechas del teclado y con la barra de espaciado ir seleccionando cada uno de ellos, cuando hayamos terminado de seleccionar pulsar la tecla Tabulador y presionar Intro para aceptar.

Esperar a que se descarguen e instalen los paquetes, y si es necesario reiniciar el sistema.

Configurar mysql ingresando la contrasea para el usuario root.

Repetir la contrasea para confirmar.

4) INSTALAR LAS LIBRERAS NECESARIAS


Necesitamos tener instalados ciertos paquetes o libreras. Para esto en la Shell ingresar el comando apt-get install debhelper libltdl-dev libpam0g-dev libmysqlclient-dev buildessential libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotoolsdev dpatch libperl-dev libtool dpkg-dev libpq-dev libsnmp-dev libssl-dev

Reiniciar si es necesario.

5) VERIFICAR QUE EL SERVIDOR APACHE2 FUNCIONE


Abrir el navegador Web e ingresar en la barra de direcciones el url localhost, esto con el fin de comprobar que el servidor Apache2 est ejecutndose correctamente. En el caso de que el servidor Apache2 funcione bien, se debe observar un mensaje como el siguiente:

6) INSTALAR EL SOPORTE PARA LA INTERFAZ TUN


Ingresar el siguiente comando para instalar el programa modconf: apt-get install modconf Una vez instalado, ingresar el siguiente comando: modconf

Dentro de la ventana de modconf, pulsar Aceptar: En caso de no funcionar el modconf: Descargar el archivo de la siguiente pagina: https://kaunchpad.net/ubuntu/hardy/+package/modconf (Escoger la versin dependiendo de la arquitectura del procesador.)

Ejecutar el archivo, en seguida nos muestra el centro de software de Ubuntu.

Damos clic en instalar, no pedir la contrasea para poder instalarlo.

En la Shell ingresar el siguiente comando: modprobe tun Editar el archivo modules con el siguiente comando: gedit /etc/modules Dentro de este archivo, verificar que en una lnea aparezca el mdulo tun, en caso de que no exista, se debe ingresar.

7) CONFIGURAR LAS INTERFACES


Ingresar el siguiente comando para revisar las interfaces del sistema: ifconfig En la terminal aparecen las interfaces del sistema y la informacin relativa a ellas. La interfaz ethernet del sistema, para este caso, es la interfaz eth0. Esta es la interfaz del servidor Hotspot que se conectar a una PC cliente para proporcionarle servicio de Internet. Esta interfaz puede variar, puede ser eth1 o cualquier otra interfaz, dependiendo de la distribucin Linux que se tenga instalada y de las caractersticas de hardware de la propia laptop o equipo de cmputo.

La interfaz que est conectada a Internet, es la interfaz wlan0 , segn los resultados arrojados por el comando ifconfig. Esta es la interfaz de la tarjeta inalmbrica de la laptop (en otros equipos esta etiqueta puede variar). La interfaz eth0 (o eth1, segn el resultado del comando ifconfig), es la interfaz del servidor (laptop) a travs de la cual los clientes solicitan acceso a Internet va ethernet. Cuando un cliente se conecta al servidor va ethernet, Chillispot acta como un DHCP y le proporciona al cliente una direccin IP. Despus, le manda al usuario una pantalla de autenticacin. Chillispot reenva estos datos al servidor FreeRADIUS, entonces ste consulta los datos almacenados en la base de datos de MySQL, y dependiendo de estos datos, se le permite o se le niega al cliente acceder al servicio de Internet. Una vez que se han verificado las interfaces mediante el comando ifconfig, se procede a modificar el archivo interfaces mediante el siguiente comando: gedit /etc/network/interfaces

El contenido de este archivo debe quedar similar a lo siguiente: # The loopback network interface auto lo iface lo inet loopback Interfaz inalmbrica de laptop (wlan0) Router inalmbrico del ISP Interfaz eth0 de laptop Internet # La interfaz que est conectada a Internet auto wlan0 # La interfaz mediante la cual los clientes intentan acceder a Internet auto eth0 Levantar la interfaz ethernet mediante el comando: ifconfig eth0 up

8) INSTALAR FREERADIUS.
Utilizar el siguiente comando para instalar freeRADIUS: apt-get install freeradius apt-get install freeradius-mysql Nota: Una vez que se tiene instalado freeRADIUS, se puede ingresar el siguiente comando para verificar la versin instalada de freeRADIUS: freeradius v

9) HABILITAR EL MDULO SSL PARA APACHE2


Utilizar el siguiente comando: a2enmod ssl Reiniciar el servidor Apache2 con el comando: /etc/init.d/apache2 restart

10) GENERAR UN CERTIFICADO AUTOFIRMADO PARA EL SERVIDOR


Ingresar los siguientes comandos: cd /etc/ssl/private openssl genrsa -des3 -out portal.key 1024 Cuando pregunte por una contrasea para la llave, podemos poner cualquier contrasea, por ejemplo, testpassword, xyz, o cualquier contrasea. Enter pass phrase for portal.key: <testpassword> Verifying Enter pass phrase for portal.key: <testpassword> Ahora retiramos esta contrasea de la llave mediante los siguientes comandos: cp portal.key portal.key.org openssl rsa -in portal.key.org -out portal.key A continuacin, se solicitar la contrasea ingresada anteriormente (testpassword, xyz, o la que se haya colocado): Enter pass phrase for portal.key.org: <testpassword> El siguiente paso consiste en crear la solicitud para firmar el certificado mediante los comandos: openssl req -new -key portal.key -out portal.csr Aqu simplemente se ingresan los datos que proporcionan informacin sobre el certificado, por lo que se puede ingresar cualquier dato. Country Name (2 letter code) [AU]: <US> State or Province Name (full name) [Some-State]: <Some-State> Locality Name (eg, city) []: <Some-City> Organization Name (eg, company) [Internet Widgits Pty Ltd]: <Some-Company> Organizational Unit Name (eg, section) []: <portal> Common Name (eg, YOUR name) []: <192.168.182.1> Email Address []: <portal@null> Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:

Solo resta auto firmar el CSR mediante los comandos: openssl x509 -req -days 365 -in portal.csr -signkey portal.key -out portal.crt mv portal.crt /etc/ssl/certs/

11) CONFIGURAR EL SSL DE HOST VIRTUAL EN APACHE2


Editar el archivo SSL mediante el comando: gedit /etc/apache2/sites-available/ssl El siguiente ejemplo presenta una configuracin de Host Virtual que funciona con Chillispot, esta configuracin se pueda utilizar tal cual y funcionar correctamente. Tambin se puede modificar para una configuracin personalizada. NameVirtualHost *:443 <virtualhost *:443> ServerAdmin webmaster@localhost SSLEngine On SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire SSLCertificateFile /etc/ssl/certs/portal.crt SSLCertificateKeyFile /etc/ssl/private/portal.key DocumentRoot /var/www/ <directory /> Options FollowSymLinks AllowOverride None </directory> <directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place # Commented out for Ubuntu #RedirectMatch ^/$ /apache2-default/ </directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny Allow from all </directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On 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> </virtualhost>

12) VERIFICAR QUE APACHE2 EST CONFIGURADO PARA ESCUCHAR EN LOS PUERTOS 80 Y 443
Ingresar el siguiente comando: gedit /etc/apache2/ports.conf Se debe tener este archivo de la siguiente forma: NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> # SSL name based virtual hosts are not yet supported, therefore no # NameVirtualHost statement here Listen 443 </IfModule> Habilitar el SSL y reiniciar el servidor Apache2 con los comandos: a2ensite ssl /etc/init.d/apache2 reload

13) HACER PRUEBAS CON EL FREERADIUS


Editar el archivo users y crear un usuario de prueba, para verificar que funciona correctamente el freeRADIUS. Ingresar el siguiente comando: gedit /etc/freeradius/users Dentro de este archivo, se descomentan las siguientes lneas, para indicar que se utilizar un usuario denominado steve cuya contrasea es testing: steve Cleartext-Password := "testing" Service-Type = Framed-User, Framed-Protocol = PPP, Framed-Compression = Van-Jacobsen-TCP-IP Detener el demonio de freeRADIUS con el comando: /etc/init.d/freeradius stop Iniciar el modo de depuracin de freeRADIUS con el comando: freeradius -X Ahora freeradius estar en modo de depuracin, y el shell de root se mostrar como lo indica la figura

Abrir otra shell de root en Accesorios > Terminal, ingresar el comando sudo xterm y probar que freeRADIUS funcione correctamente con el usuario steve y contrasea testing ingresando el siguiente comando en esta terminal: radtest steve testing 127.0.0.1 1812 testing123 Al ingresar este comando, en la shell de root que se acaba de abir, se debe indicar que el paquete ha sido aceptado (Access-Accept). Mientras tanto, en la primer shell de root, se arroja la informacin de depuracin del freeRADIUS.

Nota: En el comando radtest utilizado anteriormente, testing123 es la contrasea que se encuentra configurada por default en el archivo /etc/freeradius/clients.conf. El parmetro secret de este archivo por default se encuentra de la siguiente manera: secret = testing123

Si previamente esta contrasea ha sido modificada, el comando radtest debe modificarse indicando la nueva contrasea.

14) CONFIGURAR EL FREERADIUS CON MYSQL


Una vez que se ha verificado obtener un Access-Accept como respuesta, freeRADIUS ya funciona correctamente. Ya se pueden autenticar satisfactoriamente los usuarios, aunque para ello se ha utilizado el archivo users. Ahora, lo que se desea realizar, es configurar el freeRADIUS para que los usuarios se puedan autenticar utilizando informacin almacenada en la base de datos de MySQL. Es importante decidir qu mtodo se va a utilizar para que freeRADIUS realice la autenticacin, ya sea utilizando el archivo users, o utilizando la base de datos almacenada en MySQL, pero no ambas a la vez. En este tutorial, se va a modificar la configuracin de freeRADIUS para que trabaje con MySQL. Para ello, hay que verificar que el archivo radiusd.conf tenga descomentada la lnea $INCLUDE sql.conf utilizando el siguiente comando: gedit /etc/freeradius/radiusd.conf Instalar phpMyAdmin, para facilitar el manejo de MySQL. Para ello, ingresar el comando: apt-get install phpmyadmin Durante la instalacin de phpMyAdmin, se mostrar una ventana en la que se debe indicar cul es el servidor con el que se est trabajando. En este tutorial se utiliza Apache2, por lo que se selecciona esta opcin y se pulsa Aceptar.

A continuacin se pregunta si se desea configurar la base de datos para phpMyAdmin con dbconfig-common, por lo que se elige S.

El siguiente paso de la instalacin de phpMyAdmin, es ingresar la contrasea de root que se configur previamente para MySQL, en este caso, dicha contrasea es mysql:

Ahora se debe escribir una contrasea para el usuario phpmyadmin que se crea automticamente en MySQL. Si no se escribe ninguna, se generar una automticamente. Elegir establecer la contrasea manualmente, e ingresar la contrasea mysql. Despus pulsar Aceptar. Por ltimo en la instalacin de phpMyAdmin, simplemente se confirma la contrasea. El siguiente paso es crear la estructura de la base de datos que se comunicar con freeradius. Ingresar el comando: mysql -u root p

Ingresar el password mysql. El prompt ahora cambia a mysql>, indicando que podemos ingresar instrucciones de MySQL. Ingresar la siguiente instruccin para crear una base de datos llamada radius, la cual es la que almacenar los usuarios que pueden autenticarse, e informacin relativa a la conexin: CREATE DATABASE radius; La siguiente instruccin, crea un usuario cuyo nombre es usuario y su password es usuario. GRANT ALL PRIVILEGES ON radius.* to 'usuario'@'localhost' IDENTIFIED BY 'usuario'; FLUSH PRIVILEGES ; Quit En cualquier instante, se puede comprobar que los usuarios, bases de datos, tablas, o cualquier elemento creado, efectivamente se haya creado en MySQL. Ingresar al navegador Web, y en la barra de direcciones introducir la url http://localhost/phpmyadmin, a continuacin aparecer una pantalla de autenticacin. En esta pantalla, se ingresa el usuario root, con contrasea mysql.

En la ventana de phpMyAdmin, se puede observar que se ha creado una base de datos llamada radius. Se puede dar clic en ella para ingresar tablas o modificarlas si es que as se desea. Tambin se observa un rea en la parte superior derecha llamada Privilegios, se puede acceder a esta rea para verificar que se haya creado el usuario usuario ingresado previamente desde el shell de root. Crear la estructura de la base de datos ingresando los siguientes comandos en el shell de root: Nota: Para los siguientes comandos, se tiene que ingresar la contrasea mysql cuando el sistema pregunte por la contrasea de root de MySQL. cd /etc/freeradius/sql/mysql/ mysql -u root -p radius < admin.sql mysql -u root -p radius < ippool.sql mysql -u root -p radius < nas.sql mysql -u root -p radius < schema.sql Editar el archivo sql.conf con el comando: gedit /etc/freeradius/sql.conf Editar el archivo sql.conf como se muestra a continuacin, descomentando la lnea readclients=yes:

server = localhost login = usuario password = usuario readclients = yes Despus, editar el archivo default, mediante el comando: gedit /etc/freeradius/sites-available/default Agregar la variable sql en las secciones de authorize{}, accounting{}, session{} y postauth{}, esto para traer los datos desde las tablas en la base de datos radius. Nota: Tambin es necesario comentar la lnea files, de la seccin authorize{}.

Las siguientes secciones quedan modificadas como se indica.

Tan solo resta ingresar algunos usuarios de prueba dentro de la tabla radcheck, de la base de datos radius, para verificar que freeRADIUS funcione con MySQL. Para ello, ingresar los siguientes comandos: Nota: Cada vez que se ingresa el comando mysql -u root -p, se tiene que ingresar la contrasea de root de MySQL, en este tutorial dicha contrasea es mysql. mysql -u root -p use radius; INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('usuario1','Password','usuario1'); INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('usuario2','Password','usuario2'); Donde se ingres un usuario denominado usuario1 con password usuario1, y un usuario usuario2 con password usuario2. Nota: Tambin se pueden ingresar los usuarios directamente en la tabla radcheck utilizando phpMyAdmin. Despus de realizar todos estos cambios, es imprescindible reiniciar freeRADIUS, de lo contrario, al hacer un radtest con el usuario1, freeRADIUS no funcionar correctamente (se obtendr un Access-Reject como respuesta), a pesar de que el usuario1 efectivamente existe en la base de datos y se encuentra todo perfectamente configurado. Para reiniciar el servicio de freeRADIUS, hay que salirse del modo de depuracin en el cual se encuentra la primera shell de root, para esto, simplemente se ingresa la combinacin de teclas Ctrl + C, y se introducen los siguientes comandos: /etc/init.d/freeradius restart /etc/init.d/freeradius stop freeradius -X Estos comandos reinician el servicio de freeRADIUS, y la primera shell de root ya se encuentra otra vez en modo de depuracin del RADIUS. Ahora, en la segunda shell de root, se ingresa el comando: radtest usuario1 usuario1 127.0.0.1 1812 testing123 Y con esto, se obtiene como respuesta un Access-Accept, indicando que efectivamente ya se comunican freeRADIUS y MySQL.

15) INSTALACIN Y CONFIGURACIN DE CHILLISPOT


Para instalar Chillispot, ingresar el siguiente comando: apt-get install chillispot En la primer pantalla se ingresa la direccin de loopback 127.0.0.1:

En la segunda pantalla, se ingresa la contrasea contenida en el archivo /etc/freeradius/clients.conf, la cual, en este caso, es testing123, es decir, la contrasea por default. En la tercera pantalla se ingresa eth0, para indicar la interfaz DHCP de Chillispot.

En la cuarta pantalla, ingresar el url https://192.168.182.1/cgi-bin/hotspotlogin.cgi, para el servidor UAM.

En la quinta pantalla, ingresar la url https://192.168.182.1/portal.html, para la pgina de inicio UAM.

Nota: Esta pgina (portal.html) se crear ms adelante en el tutorial. En la sexta pantalla, ingresar la contrasea para Chillispot. La cual, en este tutorial, ser chilli.

16) CONFIGURACIN DE LAS IPTABLES


Crear un archivo para las iptables utilizando los siguientes comandos:

gedit /etc/init.d/chilli.iptables Y dentro de este archivo, ingresar la siguiente informacin: #!/bin/sh # # Firewall script for ChilliSpot # A Wireless LAN Access Point Controller # # Uses $EXTIF (eth0) as the external interface (Internet or intranet) and # $INTIF (eth1) as the internal interface (access points). ## # SUMMARY # * All connections originating from chilli are allowed. # * Only ssh is allowed in on external interface. # * Nothing is allowed in on internal interface. # * Forwarding is allowed to and from the external interface, but disallowed # to and from the internal interface. # * NAT is enabled on the external interface. #Added by Ransomed to enable ip_forwarding echo 1 > /proc/sys/net/ipv4/ip_forward IPTABLES="/sbin/iptables" EXTIF="wlan0" INTIF="eth0" $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT #Allow related and established on all interfaces (input) $IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #Allow releated, established and ssh on $EXTIF. Reject everything else. $IPTABLES -A INPUT -i $EXTIF -p tcp -m tcp --dport 22 --syn -j ACCEPT $IPTABLES -A INPUT -i $EXTIF -j DROP #Allow related and established from $INTIF. Drop everything else. $IPTABLES -A INPUT -i $INTIF -j DROP #Allow http and https on other interfaces (input). #This is only needed if authentication server is on same server as chilli $IPTABLES -A INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT $IPTABLES -A INPUT -p tcp -m tcp --dport 443 --syn -j ACCEPT #Allow 3990 on other interfaces (input). $IPTABLES -A INPUT -p tcp -m tcp --dport 3990 --syn -j ACCEPT #Allow everything on loopback interface. $IPTABLES -A INPUT -i lo -j ACCEPT # Drop everything to and from $INTIF (forward) # This means that access points can only be managed from ChilliSpot

$IPTABLES -A FORWARD -i $INTIF -j DROP $IPTABLES -A FORWARD -o $INTIF -j DROP #Enable NAT on output device $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE Nota: Asegurarse de que las interfaces en EXTIF y en INTIF en este archivo, coincidan correctamente con las interfaces de salida a Internet, y de entrada local respectivamente, de acuerdo con su equipo. Posteriormente, ingresar los comandos: chmod 700 /etc/init.d/chilli.iptables ln -s /etc/init.d/chilli.iptables /etc/rcS.d/S40chilli.iptables /etc/init.d/chilli.iptables

17) CONFIGURACIN HOTSPOTLOGIN.CGI


Para configurarlo, ingresar los siguientes comandos: cd /usr/share/doc/chillispot gunzip -d hotspotlogin.cgi.gz cp hotspotlogin.cgi /usr/cgi-bin chmod 777 /usr/lib/cgi-bin/hotspotlogin.cgi

DEL

ARCHIVO

Ahora se edita el archivo hotspotlogin.cgi utilizando el siguiente comando: gedit /usr/lib/cgi-bin/hotspotlogin.cgi Y se descomentan y modifican las siguientes lneas como se muestra: $uamsecret = "chilli"; $userpassword=1;

18) CONFIGURAR LA PGINA DE INICIO


Crear una pgina html utilizando el siguiente comando y el siguiente cdigo html:

gedit /var/www/portal.html <html> <body> <center> <h1><img src="yourlogo.png"></h1> <font face="verdana,arial,sans-serif"><a href="http://192.168.182.1:3990/prelogin">Click here to login and agree to the terms below</a></font> <p> <p align="middle"><font face="verdana,arial,sans-serif"> This is a private network. This network, including all related equipment,<br> networks, and network devices (specifically including Internet access) are<br> provided only for authorized use. <br> <br> Use of this network, authorized or unauthorized, constitutes consent<br> to monitoring of this network. Unauthorized use will subject you to criminal<br> prosecution. Evidence of unauthorized use collected during monitoring may be<br> used for administrative, criminal, or other adverse action. Use of this system<br> constitutes consent to monitoring for these purposes.<br> </font> </center> </body> </html> Nota: Esta pgina html, puede crearse de acuerdo a las necesidades personales, y hacerla tan sencilla o tan compleja como se requiera.

19) HABILITAR EL SERVICIO CHILLISPOT


Esto se hace simplemente ingresando el comando: gedit /etc/default/chillispot Y modificando la siguiente lnea como se indica: ENABLED=1

20) REINICIAR LOS SERVICIOS


Ya por ltimo, solo resta reiniciar los servicios utilizando los siguientes comandos:

/etc/init.d/apache2 restart /etc/init.d/freeradius restart /etc/init.d/chillispot restart

21) CONECTAR UNA PC CLIENTE PARA REALIZAR PRUEBAS


Despus de que todo ha sido configurado exitosamente, solo falta hacer pruebas con un cliente para verificar si efectivamente se puede autenticar o no. A continuacin se describen los pasos para realizar este proceso: En el servidor (laptop), abrir una terminal de root y reiniciar el servicio Chillispot con el comando: /etc/init.d/chillispot restart Despus de reiniciar Chillispot, es necesario poner el freeRADIUS en modo de depuracin, si es que an no se encuentra en este estado. Para este fin se ingresa el siguiente comando: freeradius X Es importante sealar que los dos comandos anteriores son muy importantes, de lo contrario, aunque todo se encuentre bien configurado, la autenticacin de los clientes fallar. El cliente puede dar clic en Inicio > Ejecutar, e ingresar el comando cmd para abir una ventana de lnea de comandos. Dentro de esta ventana, se puede ingresar el comando ipconfig para observar la direccin IP que tiene actualmente la PC. Como el cable de red de la PC del cliente est desconectado, no cuenta con ninguna direccin IP.

Tambin se puede observar que el gateway de la PC cliente es la direccin 192.168.182.1, sta es la direccin de la interfaz ethernet del servidor. Ingresar cualquier url en la ventana del navegador. A continuacin se le preguntar si desea aceptar el certificado de seguridad; se acepta y automticamente Chillispot mostrar al cliente la pgina portal.html. En esta pgina, el cliente dar clic en el enlace para ir a la pgina de autenticacin.

Dentro de la pgina Hotspot de autenticacin (figura 36), el cliente ingresar su usuario y contrasea y dar clic en Login. Esta solicitud llegar a Chillispot, quien a su vez enviar esta informacin al servidor freeRADIUS, entonces se comprobarn estos datos de acuerdo a la informacin almacenada en la base de datos radius de MySQL, y dependiendo de si existe o no el usuario y contrasea, freeRADIUS le autorizar o le negar el servicio de Internet.

Nota: Recordar que previamente el freeRADIUS se debe encontrar en modo de depuracin. Y tambin, slo debe haber una ventana de depuracin abierta. Si el usuario y la contrasea fueron correctos, ahora el cliente ya puede navegar por Internet, hasta que se desconecte del servicio dando clic en Logout. Cuando el sistema del servidor se reinicia, Chillispot y freeRADIUS no se cargan automticamente. Por este motivo, como paso final, se debe editar el archivo rc.local ingresando el comando: gedit /etc/rc.local Dentro de este archivo, aadir la lnea freeradius -X como se muestra: #!/bin/sh -e # rc.local # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # By default this script does nothing. freeradius -X exit 0 Cada que inicie debe reiniciar chillispot y freeradius, posteriormente detener freeradius para ponerlo en modo de depuracin.

Contraseas utilizadas en este tutorial: MySQL usuario = root contrasea = mysql FreeRADIUS contrasea = testing123 phpMyAdmin usuario = phpmyadmin contrasea = mysql Usuario para base de datos radius usuario = usuario contrasea = usuario Chillispot contrasea = chilli Usuarios registrados con acceso a Internet: usuario: usuario1 contrasea: usuario1 usuario: usuario2 contrasea: usuario2

Archivos utilizados en este tutorial: SSL (Certificado) /etc/ssl/private/portal.key /etc/ssl/private/portal.key.org /etc/ssl/private/portal.csr /etc/ssl/certs/portal.crt Apache2 /etc/apache2/sites-available/ssl /etc/apache2/ports.conf Freeradius 2.1.0 /etc/freeradius/clients.conf /etc/freeradius/users /etc/freeradius/sites-available/default /etc/freeradius/sql.conf /etc/freeradius/radiusd.conf Chillispot /etc/init.d/chilli.iptables /etc/default/chillispot /etc/chilli.conf Sistema /etc/network/interfaces /etc/modules /etc/rc.local /usr/lib/cgi-bin/hotspotlogin.cgi /var/www/portal.html