Manual de Hotspot
-
Upload
laura-hachi-gasca -
Category
Documents
-
view
103 -
download
0
Transcript of Manual de Hotspot
-
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