Hotspot creacion y configuracion del servicio

download Hotspot creacion y configuracion del servicio

of 33

Transcript of Hotspot creacion y configuracion del servicio

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    1/33

    INSTITUTO TECNOLGICO

    DE CELAYA

    INSTALACIN Y CONFIGURACINDE UN SERVIDOR HOTSPOT

    UTILIZANDO LINUX

    ALUMNO:

    PABLO CSAR MARIELARENA VARELA

    MATERIA:

    TPICOS DE REDES

    PROFESOR:

    FRANCO FABIO GARCA GONZLEZ

    ABRIL 2010

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    2/33

    TUTORIAL: MONTAR UN HOTSPOT CON LINUX

    HERRAMIENTAS Ubuntu 9.0.4 Desktop Edition Laptop con tarjeta inalmbrica y puerto ethernet PC con un puerto ethernet Cable ethernet cruzado Freeradius 2.1.0 Chillispot Apache2 phpMyAdmin MySQL

    PROCEDIMIENTO

    1) Instalar el sistema operativoTener instalado Ubuntu 9.0.4, tener activa la tarjeta inalmbrica y contar con conexin aInternet.

    2) Activar los repositoriosAsegurarse de tener seleccionados los repositorios: universe, restricted, multiverse y softwarede terceros (ir a Sistema > Orgenes del Software).

    3) Instalar los servidores y programas bsicosAsegurarse de tener instalados los siguientes programas:

    Basic Ubuntu server DNS server LAMP server OpenSSH server

    Para instalar estos programas hacer lo siguiente:

    Abrir una shell de root dando clic enAplicaciones > Accesorios > Terminal. Una vez que se abra la terminal, ingresar el cdigo que se muestra en la siguiente

    imagen:

    Figura 1. Ingresar en una shell de root.

    1

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    3/33

    Ingresar la contrasea de root del usuario de ubuntu como se muestra en la imagen:

    Figura 2. Ingresar contrasea de root.

    Una vez ingresada la contraea de root, se abrir una shell de root en la cual se puedeningresar todos los comandos con privilegios de root, es decir, sin tener que empezardichos comandos con la instruccin sudo.

    Figura 3. Shell de root.

    Al tener abierta la shell de root (ventana negra), ya no es necesario tener abierta la shello terminal de usuario normal (ventana blanca), por lo que se puede cerrar esta ltimasimplemente dando clic en laXde la ventana y eligiendo Cerrar la terminal.

    2

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    4/33

    Ingresar el siguiente comando:

    Figura 4. Comando para ingresar a la Configuracin de paquetes.

    Asegurarse de tener seleccionados los siguientes programas, en caso contrario,seleccionarlos y pulsarAceptar:

    Figura 5. Seleccin de los programas necesarios.

    3

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    5/33

    En caso de haber seleccionado los programas y pulsarAceptar, esperar a que se instalen,y en caso de que el sistema lo requiera, se debe reiniciar el mismo.

    4) Instalar las libreras necesariasAsegurarse de tener instalados los siguientes paquetes: debhelper libltdl3-dev libpam0g-dev libmysqlclient15-dev build-essential libgdbm-dev

    libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotools-dev dpatch libperl-devlibtool dpkg-dev libpq-dev libsnmp-dev libssl-dev

    Para instalar estos paquetes, se puede ir instalando uno por uno, mediante lasinstrucciones:apt-get install debhelperapt-get install libltdl3-devapt-get install libpam0g-devetc.

    Tambin se pueden instalar todos los paquetes utilizando un solo comando:

    apt-get install debhelper libltdl3-dev libpam0g-dev libmysqlclient15-devbuild-essential libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-devsnmp autotools-dev dpatch libperl-dev libtool dpkg-dev libpq-dev libsnmp-devlibssl-dev

    Reiniciar en caso de que el sistema lo solicite.

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

    Figura 6. Visualizacin del localhosten la ventana del navegador.

    Si se puede observar este mensaje, quiere decir que Apache2 se instal bien y ya est corriendoen el sistema.

    4

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    6/33

    6) Instalar el soporte para la interfaz tunIngresar 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, seleccionar la categora kernel/drivers/nety pulsarAceptar:

    Figura 7. Seleccin de categora de controlador.

    Buscar el mdulo tun y verificar que tenga un signo + indicando que ya est instalado en elsistema. En caso contrario, es decir, de tener un signo -, seleccionar el mdulo tun,pulsarAceptar para instalarlo, y cuando el sistema pregunte Instalar el mdulo en elkernel?, pulsamos S.

    Figura 8. Instalacin del mdulo tun.

    5

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    7/33

    En la pantalla de la figura 9, no es necesario ingresar ningn argumento de lnea decomandos, simplemente se deja vaco y se pulsaAceptar.

    Figura 9. Argumentos para el mdulo tun.

    Se sale del programa modconfmediante la opcin Salir(al inicio de las categoras).

    Figura 10. Salir de modconf.

    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 noexista, se debe ingresar (figura 11).

    6

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    8/33

    Figura 11. Configuracin del archivo/etc/modules.

    7) Configurar las interfacesIngresar 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 interfazethernet del sistema, para este caso, es la interfaz eth0, tal y como aparece en la imagen de lafigura 12. Esta es la interfaz del servidor Hotspot que se conectar a una PC cliente paraproporcionarle servicio de Internet. Esta interfaz puede variar, puede sereth1 o cualquier otrainterfaz, dependiendo de la distribucin Linux que se tenga instalada y de las caractersticas dehardware de la propia laptop o equipo de cmputo.

    Figura 12. Interfaz ethernet del sistema.

    La interfaz que est conectada a Internet, es la interfaz wlan0, ver figura 13, segn losresultados arrojados por el comando ifconfig. Esta es la interfaz de la tarjeta inalmbrica de lalaptop (en otros equipos esta etiqueta puede variar).

    Figura 13. Interfaz de la tarjeta inalmbrica.

    7

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    9/33

    Figura 14. Arquitectura de conexin del servidor Hotspot.

    La laptop, es la que acta como el servidor Hotspot, y su interfaz wlan0 es la interfaz de latarjeta inalmbrica, mediante la cual se conecta al Internet proporcionado por el routerinalmbrico del ISP. En ocasiones, dependiendo de la distribucin Linux y del hardware de lacomputadora, el nombre de esta interfaz puede cambiar, lo importante es asegurarse de quedicha interfaz es la que corresponde a la tarjeta inalmbrica, y por lo tanto, tiene salida aInternet.

    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 uncliente se conecta al servidor va ethernet, Chillispot acta como un DHCP y le proporciona alcliente una direccin IP. Despus, le manda al usuario una pantalla de autenticacin (figura 14).

    Chillispot reenva estos datos al servidor FreeRADIUS, entonces ste consulta los datosalmacenados en la base de datos de MySQL, y dependiendo de estos datos, se le permite o se leniega al cliente acceder al servicio de Internet.

    Una vez que se han verificado las interfaces mediante el comando ifconfig, se procede amodificar 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 interfaceauto loiface lo inet loopback

    8

    Interfazinalmbrica delaptop (wlan0)

    Router inalmbrico delISP

    HotspotUsuario:Password:

    Interfaz eth0 delaptop

    Internet

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    10/33

    # La interfaz que est conectada a Internetauto wlan0

    # La interfaz mediante la cual los clientes intentan acceder a Internetauto eth0

    Levantar la interfaz ethernet mediante el comando:

    ifconfig eth0 up

    8) Instalar FreeRADIUSUtilizar el siguiente comando para instalar freeRADIUS:

    apt-get install freeradiusapt-get install freeradius-mysql

    Nota: Una vez que se tiene instalado freeRADIUS, se puede ingresar el siguiente comandopara verificar la versin instalada de freeRADIUS:

    freeradius -v

    9) Habilitar el mdulo SSL para Apache2Utilizar el siguiente comando:

    a2enmod ssl

    Reiniciar el servidor Apache2 con el comando:

    /etc/init.d/apache2 restart

    10) Generar un certificado autofirmado para el servidorIngresar 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, porejemplo, testpassword, xyz, o cualquier contrasea.

    Enter pass phrase for portal.key: Verifying Enter pass phrase for portal.key:

    Ahora retiramos esta contrasea de la llave mediante los siguientes comandos:

    cp portal.key portal.key.org

    9

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    11/33

    openssl rsa -in portal.key.org -out portal.key

    A continuacin, se solicitar la contrasea ingresada anteriormente ( testpassword, xyz, o la quese haya colocado):

    Enter pass phrase for portal.key.org: 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, porlo que se puede ingresar cualquier dato.

    Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []:

    Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []: Email Address []:

    Please enter the following 'extra' attributesto be sent with your certificate requestA 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.crtmv portal.crt /etc/ssl/certs/

    11) Configurar el SSL de Host Virtual en Apache2Editar 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 puedemodificar para una configuracin personalizada.

    NameVirtualHost *:443

    ServerAdmin webmaster@localhost

    SSLEngine On

    10

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    12/33

    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequireSSLCertificateFile /etc/ssl/certs/portal.crtSSLCertificateKeyFile /etc/ssl/private/portal.key

    DocumentRoot /var/www/

    Options FollowSymLinksAllowOverride None

    Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyallow 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/

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    AllowOverride NoneOptions ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from all

    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 combinedServerSignature On

    Alias /doc/ "/usr/share/doc/"

    Options Indexes MultiViews FollowSymLinksAllowOverride NoneOrder deny,allowDeny from allAllow from 127.0.0.0/255.0.0.0 ::1/128

    11

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    13/33

    12) Verificar que Apache2 est configurado para escuchar en los puertos 80 y 443Ingresar el siguiente comando:

    gedit /etc/apache2/ports.conf

    Se debe tener este archivo de la siguiente forma:

    NameVirtualHost *:80Listen 80

    # SSL name based virtual hosts are not yet supported, therefore no# NameVirtualHost statement hereListen 443

    Habilitar el SSL y reiniciar el servidor Apache2 con los comandos:

    a2ensite ssl

    /etc/init.d/apache2 reload

    13) Hacer pruebas con el freeRADIUSEditar el archivo users y crear un usuario de prueba, para verificar que funciona correctamenteel freeRADIUS. Ingresar el siguiente comando:

    gedit /etc/freeradius/users

    Dentro de este archivo, se descomentan las siguientes lneas, para indicar que se utilizar unusuario denominadosteve 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 indicala figura 15.

    12

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    14/33

    Figura 15. Shell de root indicando que freeRADIUS se encuentra en modo de depuracin.

    Abrir otra shell de root enAccesorios > Terminal, ingresar el comando sudo xterm y probar quefreeRADIUS funcione correctamente con el usuario steve y contrasea testingingresando elsiguiente 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 elpaquete ha sido aceptado (Access-Accept). Mientras tanto, en la primer shell de root, se arroja lainformacin de depuracin del freeRADIUS, ver la figura 16.

    Figura 16. Prueba exitosa del usuario steve con freeRADIUS.

    13

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    15/33

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

    secret = testing123

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

    14) Configurar el freeRADIUS con MySQLUna vez que se ha verificado obtener un Access-Accept como respuesta, freeRADIUS yafunciona correctamente. Ya se pueden autenticar satisfactoriamente los usuarios, aunque paraello se ha utilizado el archivo users. Ahora, lo que se desea realizar, es configurar elfreeRADIUS para que los usuarios se puedan autenticar utilizando informacin almacenada enla base de datos de MySQL. Es importante decidir qu mtodo se va a utilizar para quefreeRADIUS realice la autenticacin, ya sea utilizando el archivo users, o utilizando la base dedatos almacenada en MySQL, pero no ambas a la vez.

    En este tutorial, se va a modificar la configuracin de freeRADIUS para que trabaje conMySQL. Para ello, hay que verificar que el archivo radiusd.conf tenga descomentada la lnea$INCLUDE sql.confutilizando 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 cules el servidor con el que se est trabajando. En este tutorial se utiliza Apache2, por lo quese selecciona esta opcin y se pulsaAceptar.

    Figura 17. Eleccin del servidor Web con el que trabajar phpMyAdmin.

    14

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    16/33

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

    Figura 18. Creacin de base de datos utilizada por phpMyAdmin.

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

    Figura 19. Ingreso de contrasea de root para MySQL.

    Ahora se debe escribir una contrasea para el usuario phpmyadmin que se creaautomticamente en MySQL. Si no se escribe ninguna, se generar una automticamente.Elegir establecer la contrasea manualmente, e ingresar la contrasea mysql. Despus pulsarAceptar.

    15

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    17/33

    Figura 20. Contrasea para el usuariophpmyadmin.

    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 cualquierelemento creado, efectivamente se haya creado en MySQL. Ingresar al navegador Web, y en labarra de direcciones introducir la url http://localhost/phpmyadmin , a continuacin apareceruna pantalla de autenticacin. En esta pantalla, se ingresa el usuario root, con contrasea mysql.

    16

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    18/33

    Figura 21. Pantalla de autenticacin de phpMyAdmin.

    Figura 22. Ventana de phpMyAdmin.

    En la ventana de phpMyAdmin, se puede observar que se ha creado una base de datos llamadaradius. 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 llamadaPrivilegios, se puede accedera esta rea para verificar que se haya creado el usuario usuario ingresado previamente desde elshell de root.

    17

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    19/33

    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 mysqlcuando el sistemapregunte 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 archivosql.confcon el comando:

    gedit /etc/freeradius/sql.conf

    Editar el archivo sql.conf como se muestra a continuacin, descomentando la lneareadclients=yes:

    server = localhostlogin = usuariopassword = usuarioreadclients = 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{} ypost-auth{},esto para traer los datos desde las tablas en la base de datos radius.

    Nota: Tambin es necesario comentar la lneafiles, de la seccin authorize{}, como se muestraen la figura 23.

    Figura 23. Modificacin de la seccin authorize{}.

    18

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    20/33

    Las siguientes secciones quedan modificadas como se indica en las figuras 23, 24 y 25:

    Figura 23. Modificacin de la seccin accounting{}.

    Figura 24. Modificacin de la seccinsession{}.

    Figura 25. Modificacin de la seccinpost-auth{}.

    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 lossiguientes comandos:

    Nota: Cada vez que se ingresa el comando mysql -u root -p, se tiene que ingresar lacontrasea 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 usuariousuario2 con password usuario2.

    19

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    21/33

    Nota: Tambin se pueden ingresar los usuarios directamente en la tabla radcheck utilizandophpMyAdmin.

    Despus de realizar todos estos cambios, es imprescindible reiniciar freeRADIUS, de locontrario, al hacer un radtest con el usuario1, freeRADIUS no funcionar correctamente(se obtendr unAccess-Rejectcomo 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 seencuentra la primera shell de root, para esto, simplemente se ingresa la combinacin de teclasCtrl + 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 encuentraotra vez en modo de depuracin del RADIUS. Ahora, en la segunda shell de root, se ingresa elcomando:

    radtest usuario1 usuario1 127.0.0.1 1812 testing123

    Y con esto, se obtiene como respuesta un Access-Accept, indicando que efectivamente yase comunican freeRADIUS y MySQL.

    15) Instalacin y configuracin de ChillispotPara instalar Chillispot, ingresar el siguiente comando:

    apt-get install chillispot

    En la primer pantalla se ingresa la direccin de loopback 127.0.0.1:

    Figura 26. Ingreso de la direccin de loopback.

    20

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    22/33

    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 pordefault.

    Figura 27. Ingreso de la contrasea de RADIUS.

    En la tercer pantalla se ingresa eth0, para indicar la interfaz DHCP de Chillispot.

    Figura 28. Ingreso de la interfaz ethernet DHCP.

    21

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    23/33

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

    Figura 29. Ingreso del url del servidor UAM.

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

    Figura 30. Ingreso de la url de la pgina de inicio UAM.

    Nota: Esta pgina (portal.html) se crear ms adelante en el tutorial.

    22

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    24/33

    En la sexta pantalla, ingresar la contrasea para Chillispot. La cual, en este tutorial, ser chilli.

    Figura 31. Ingreso de la contrasea para Chillispot.

    16) Configuracin de las iptablesCrear 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_forwardingecho 1 > /proc/sys/net/ipv4/ip_forward

    IPTABLES="/sbin/iptables"

    23

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    25/33

    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, coincidancorrectamente con las interfaces de salida a Internet, y de entrada local respectivamente, deacuerdo 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

    24

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    26/33

    17) Configuracin del archivo hotspotlogin.cgiPara 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

    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 inicioCrear una pgina html utilizando el siguiente comando y el siguiente cdigo html:

    gedit /var/www/portal.html

    Click hereto login and agree to the terms below

    This is a private network. This network, including all related equipment,
    networks, and network devices (specifically including Internet access) are
    provided only for authorized use.

    Use of this network, authorized or unauthorized, constitutes consent
    to monitoring of this network. Unauthorized use will subject you to criminal
    prosecution. Evidence of unauthorized use collected during monitoring may be
    used for administrative, criminal, or other adverse action. Use of this system
    constitutes consent to monitoring for these purposes.

    25

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    27/33

    Nota: Esta pgina html, puede crearse de acuerdo a las necesidades personales, y hacerla tansencilla o tan compleja como se requiera.

    19) Habilitar el servicio ChillispotEsto se hace simplemente ingresando el comando:

    gedit /etc/default/chillispotY modificando la siguiente lnea como se indica:

    ENABLED=1

    20) Reiniciar los serviciosYa 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 pruebasDespus de que todo ha sido configurado exitosamente, solo falta hacer pruebas con un clientepara 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 elcomando:

    /etc/init.d/chillispot restart

    Despus de reiniciar Chillispot, es necesario poner el freeRADIUS en modo dedepuracin, si es que an no se encuentra en este estado. Para este fin se ingresa elsiguiente 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 clientesfallar.

    El cliente puede dar clic enInicio > Ejecutar, e ingresar el comando cmdpara abir unaventana de lnea de comandos. Dentro de esta ventana, se puede ingresar el comandoipconfigpara observar la direccin IP que tiene actualmente la PC. Como el cable de redde la PC del cliente est desconectado, no cuenta con ninguna direccin IP (figura 33).

    26

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    28/33

    Figura 33. Resultados del comando ipconfigen Windows.

    El siguiente paso es conectar el cable ethernet cruzado al puerto ethernet del servidor(laptop) y al puerto ethernet del cliente. Inmediatamente que se conecte el cable, la PCdel cliente recibir una direccin IP; esta direccin IP es proporcionada por el DHCP deChillispot. Y el cliente puede verificar su nueva direccin de IP ingresando el comandoipconfigen la lnea de comandos (figura 34).

    Figura 34. Direccin IP asignada dinmicamente.

    Tambin se puede observar que el gateway de la PC cliente es la direccin192.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 sidesea aceptar el certificado de seguridad; se acepta y automticamente Chillispotmostrar al cliente la pginaportal.html. En esta pgina, el cliente dar clic en el enlacepara ir a la pgina de autenticacin (figura 35).

    27

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    29/33

    Figura 35. Contenido de la pgina de inicioportal.html.

    Dentro de la pgina Hotspot de autenticacin (figura 36), el cliente ingresar su usuarioy 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 datosde acuerdo a la informacin almacenada en la base de datos radius de MySQL, ydependiendo de si existe o no el usuario y contrasea, freeRADIUS le autorizar o lenegar el servicio de Internet.

    Figura 36. Pgina de autenticacin de los usuarios.

    Nota: Recordar que previamente el freeRADIUS se debe encontrar en modo dedepuracin. Y tambin, slo debe haber una ventana de depuracin abierta.

    Si el usuario y la contrasea fueron correctos, ahora el cliente ya puede navegar porInternet, hasta que se desconecte del servicio dando clic en Logout.

    Cuando el sistema del servidor se reinicia, Chillispot y freeRADIUS no se carganautomticamente. Por este motivo, como paso final, se debe editar el archivo rc.localingresando el comando:

    gedit /etc/rc.local

    28

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    30/33

    Dentro de este archivo, aadir la lneafreeradius -Xcomo 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 -Xexit 0

    Cada que se inicia ubuntu, en vez de ingresar a una shell de root e ingresar el comando/etc/init.d/chillispot restartpara reiniciar el servicio Chillispot, se puede crear un lanzador en elescritorio. Dar clic derecho en el escritorio y elegir la opcin Crear un lanzador. Dentro de estelanzador ingresar la informacin que se muestra en la siguiente figura:

    Figura 37. Crear un lanzador en el escritorio de ubuntu.

    Dar clic enAceptar, y listo. Ahora ya se tiene configurado el sistema para que cada vez que sereinicie, el freeRADIUS automticamente entre en modo de depuracin y por lo tanto, puedaautenticar usuarios. Al reiniciar el sistema, tan solo basta dar doble clic en el cono Chillispotque aparece en el escritorio (figura 38), a continuacin el sistema pedir la contrasea de root deubuntu, y entones se reiniciar Chillispot.

    Figura 38. cono del lanzador Chillispot en el escritorio.

    29

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    31/33

    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

    30

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    32/33

    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

    31

  • 7/21/2019 Hotspot creacion y configuracion del servicio

    33/33

    Fuentes de Internet:

    http://www.soportejm.com.sv/kb/index.php/article/daloradius

    https://help.ubuntu.com/community/WifiDocs/ChillispotHotspothttps://www.jransomed.com/mywiki/Linux/Chillispot

    http://www.soportejm.com.sv/kb/index.php/article/daloradiushttps://help.ubuntu.com/community/WifiDocs/ChillispotHotspothttps://www.jransomed.com/mywiki/Linux/Chillispothttps://help.ubuntu.com/community/WifiDocs/ChillispotHotspothttps://www.jransomed.com/mywiki/Linux/Chillispothttp://www.soportejm.com.sv/kb/index.php/article/daloradius