manual de hotspot

Upload: laura-hachi-gasca

Post on 30-Oct-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

  • DOCUMENTACIN DE HOTSPOT GASCA VILLAFAA LAURA CRISTINA, PREZ BUSTAMANTE CLAUDIA

  • Marzo 2013

    1

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    DOCUMENTACIN: COMO SE MONT EL HOTSPOT EN LUNIX

    Herramientas Utilizadas

    Ubuntu 12.04

    Laptop con tarjeta inalmbrica y puerto Ethernet

    Cable Ethernet cruzado

    Freeradius

    Chillispot

    Apache2

    phpMyAdmin

    MySQL

    Procedimiento seguido

    1) Instalar el sistema operativo. Tener instalado Ubuntu 12.04, tener activa la tarjeta

    inalmbrica y contar con conexin a Internet.

    2) Activar los repositorios. Asegurarse de tener seleccionados los repositorios: universe,

    restricted, multiverse y main.

    Ir a Inicio > Gestin de Actualizaciones > Configuracin... > Software de Ubuntu

    3) Instalar los servidores y programas bsicos. Asegurarse 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

    Inicio > Terminal.

    Una vez que se abra la terminal, ingresar el siguiente cdigo:

  • Marzo 2013

    2

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    Ingresar la contrasea de root del usuario de ubuntu

    Una vez ingresada la contrasea de root, se abrir una shell de root 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 (ventana negra), ya no es necesario tener abierta la shell o

    terminal de usuario normal (ventana blanca), por lo que se puede cerrar esta ltima simplemente

    dando clic en la X de la ventana y eligiendo Cerrar la terminal.

    Ingresar el siguiente comando:

    Si ocurre un error al ingresar el comando, solo tiene que ingresar el siguiente comando: sudo apt-get install

    taskel

    Asegurarse de tener seleccionados los siguientes programas, en caso contrario,

    seleccionarlos y pulsar Aceptar:

    En caso de haber seleccionado los programas y pulsar Aceptar, esperar a que se instalen, y en caso de que el

    sistema lo requiera, se debe reiniciar el mismo.

  • Marzo 2013

    3

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    4) Instalar las libreras necesarias. Asegurarse 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-dev libtool dpkg-dev

    libpq-dev libsnmp-dev libssl-dev

    Para instalar los paquetes:

    Se puede ir instalando uno por uno, mediante las instrucciones:

    apt-get install debhelper

    apt-get install libltdl3-dev

    apt-get install libpam0g-dev

    etc.

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

    apt-get install debhelper libltdl3-dev libpam0g-dev libmysqlclient15-dev build-essential libgdbm-

    dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev snmp autotools-dev dpatch libperl-dev

    libtool dpkg-dev libpq-dev libsnmp-dev libssl-dev

    Reiniciar en caso de que el sistema lo solicite.

    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:

    Si se puede observar este mensaje, quiere decir que Apache2 se instal bien y ya est corriendo en

    el sistema.

  • Marzo 2013

    4

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    6) 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, tal y como aparece en la imagen de la

    figura:

    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, ver figura 13, 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).

    Arquitectura de conexin del servidor Hotspot

  • Marzo 2013

    5

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    La laptop, es la que acta como el servidor Hotspot, y su interfaz wlan0 es la interfaz de la tarjeta

    inalmbrica, mediante la cual se conecta al Internet proporcionado por el router inalmbrico

    del ISP. En ocasiones, dependiendo de la distribucin Linux y del hardware de la computadora, el

    nombre de esta interfaz puede cambiar, lo importante es asegurarse de que dicha interfaz es la

    que corresponde a la tarjeta inalmbrica, y por lo tanto, tiene salida a Internet.

    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 (figura 14).

    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

    # 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

    7) Instalar FreeRADIUS. Utilizar el siguiente comando para instalar freeRADIUS:

    apt-get install freeradius

    apt-get install freeradius-mysql

    Una vez que se tiene instalado freeRADIUS, se puede ingresar el siguiente comando para verificar la versin

    instalada de freeRADIUS: freeradius -v

  • Marzo 2013

    6

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    8) Habilitar el mdulo SSL para Apache2. Utilizar el siguiente comando:

    a2enmod ssl

    Reiniciar el servidor Apache2 con el comando:

    /etc/init.d/apache2 restart

    9) 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:

    Verifying Enter pass phrase for portal.key:

    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:

    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, exceptuando en Common name, donde deber ingresar lo

    siguiente: 192.168.182.1

    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) []: 192.168.182.1

  • Marzo 2013

    7

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    Email Address []:

    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

    ServerAdmin webmaster@localhost

    SSLEngine On

    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire SSLCertificateFile

    /etc/ssl/certs/portal.crt SSLCertificateKeyFile /etc/ssl/private/portal.key

    DocumentRoot /var/www/

    Options FollowSymLinks

    AllowOverride None

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None Order allow,deny allow from all

    # This directive allows us to have apache2's default start page

  • Marzo 2013

    8

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    # 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 None

    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

    Order allow,deny

    Allow 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 combined

    ServerSignature On

    Alias /doc/ "/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

    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:

  • Marzo 2013

    9

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    NameVirtualHost *:80

    Listen 80

    # SSL name based virtual hosts are not yet supported, therefore no

    # NameVirtualHost statement here

    Listen 443

    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

  • Marzo 2013

    10

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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, ver la siguiente figura:

    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.

  • Marzo 2013

    11

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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.

    Se tiene que 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.

  • Marzo 2013

    12

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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:

  • Marzo 2013

    13

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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.

  • Marzo 2013

    14

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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:

    Para los siguientes comandos, se tiene que ingresar la contrasea mysql cuando el sistema pregunte por la

    contrasea de root de MySQL.

  • Marzo 2013

    15

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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 post-auth{}, esto

    para traer los datos desde las tablas en la base de datos radius.

    Tambin es necesario comentar la lnea files, de la seccin authorize{}, como se muestra en la siguiente

    figura:

    Las siguientes secciones quedan modificadas como se indica en las siguientes figuras:

  • Marzo 2013

    16

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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:

    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 usuariousuario2

    con password usuario2.

    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

  • Marzo 2013

    17

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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.

  • Marzo 2013

    18

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    En la tercer 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.

  • Marzo 2013

    19

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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

  • Marzo 2013

    20

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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.

  • Marzo 2013

    21

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    $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

    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

  • Marzo 2013

    22

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

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

    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

    Click here

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

  • Marzo 2013

    23

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    19) Habilitar el servicio Chillispot. Esto se hace simplemente ingresando el comando:

    gedit /etc/default/chillispot

    Mmodificando 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:

    /etc/init.d/freeradius stop

    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.

  • Marzo 2013

    24

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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.

    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 PC del cliente recibir

    una direccin IP; esta direccin IP es proporcionada por el DHCP de Chillispot. Y el cliente puede

    verificar su nueva direccin de IP ingresando el comando ipconfig en la lnea de comandos.

    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.

  • Marzo 2013

    25

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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.

    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

  • Marzo 2013

    26

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    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 se inicia ubuntu, en vez de ingresar a una shell de root e ingresar el comando

    /etc/init.d/chillispot restart para reiniciar el servicio Chillispot, se puede crear un lanzador en el

    escritorio. Dar clic derecho en el escritorio y elegir la opcin Crear un lanzador. Dentro de este

    lanzador ingresar la informacin que se muestra en la siguiente figura:

  • Marzo 2013

    27

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    Dar clic en Aceptar, y listo. Ahora ya se tiene configurado el sistema para que cada vez que se

    reinicie, el freeRADIUS automticamente entre en modo de depuracin y por lo tanto, pueda

    autenticar usuarios. Al reiniciar el sistema, tan solo basta dar doble clic en el cono Chillispot que

    aparece en el escritorio (figura 38), a continuacin el sistema pedir la contrasea de root de

    ubuntu, y entones se reiniciar Chillispot.

  • Marzo 2013

    28

    Instituto Tecnolgico de Celaya Ingeniera en Sistemas Computacionales

    Fuentes de Internet:

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

    https://help.ubuntu.com/community/WifiDocs/ChillispotHotspot

    https://www.jransomed.com/mywiki/Linux/Chillispot