Professional Documents
Culture Documents
PORTAL CAUTIVO Y
HERRAMIENTAS DE
ADMINISTRACIN EN UN
ENTORNO WI-FI
WI FI ABIERTO
Memoria del proyecto de
Ingeniera Tcnica en
Informtica de Sistemas
Realizado por
Alberto Moral Gmez
Y dirigido por
David Megas Jimnez
CERTIFICA:
Resumen
Aunque estemos en el siglo XXI todava hay zonas geogrficas donde
conectarse a Internet es imposible, debido a que la lnea de ADSL de las
compaas no llega a todas las partes de Catalua (en Catalua o cualquier
otro territorio). Es por ese motivo por el que se ha creado una nueva topologa
de red.
Ya hay ms de 9.000 nodos esparcidos por Catalua, sobretodo,
ubicados en zonas cuyo acceso al ADSL es nulo: pueblos, casas aisladas en la
montaa, etc. En este proyecto queremos que todos los usuarios que se
conecten a nuestro nodo tengan la oportunidad de navegar por Internet.
Por eso se han ido interconectando estos nodos, de este modo todos
estos usuarios afectados puedan crear una red con una infraestructura ms
dinmica y navegar por Internet, algunos compartiendo su conexin a Internet y
otros que no pueden tener una lnea de ADSL ir interconectndose con los
nodos para llegar a un nodo con conexin.
Aparte de crear el sistema operativo para que esto sea posible, se ha
creado un portal para informar al usuario y dar mayor ayuda a los usuarios que
tienen un nodo y no saben cmo utilizarlo. Para ello se ha creado un manual.
Todos estos pasos se explican detalladamente a continuacin; mostrando
desde el montaje de un nodo hasta su correcto funcionamiento.
iii
Tabla de Contenidos
Resumen
iii
Tabla de Contenidos
Captulo 1: Introduccin
1.1
1.2
1.3
1.4
Presentacin
Estado del arte
Objetivos
Organizacin de la memoria
1
2
3
3
5
5
5
6
7
8
8
10
12
13
14
17
18
20
23
23
23
25
26
27
27
28
29
29
30
33
Captulo 4: Implementacin
35
4.1 Introduccin
4.2 Estructura
4.2.1 Pgina principal
4.2.2 Administrador
35
35
35
36
45
Captulo 6: Conclusiones
47
47
49
Bibliografa
49
Agradecimientos
51
53
Introduccin
1. Introduccin
1.1. Presentacin
Este proyecto se basa en la creacin de un portal cautivo en un S.O. que
funciona en dispositivos empotrados. Este S.O. se llama OpenWRT, que
configurado correctamente proporciona una conectividad inalmbrica Wi-Fi bajo
el estndar 802.11.
El firmware se implementa en OpenWRT, distribucin de GNU/Linux para
dispositivos empotrados, que junto a unos protocolos de encaminamiento y
otras utilidades se pueden conectar a una red mesh como las de guifi.net o
graciasensefils.
La versin de OpenWRT que se utiliza es la Kamikaze 8.09.1. Aunque no
es la ms reciente, goza de la ventaja de haber sido probada y mejorada por
los usuarios. Por lo tanto, no es extrao que proporcione proporciona mayor
fiabilidad.
Una vez creada la base del firmware con los paquetes necesarios para su
correcto funcionamiento se ejecutar Wifidog, ste es un paquete de Kamikaze
que se utiliza para bloquear el trfico a Internet hasta que un usuario se
autentifique en un servidor.
Guifi.net da acceso a Internet de una forma libre, por lo tanto un objetivo
bsico es que los usuarios no tengan que autenticarse. Debido a esto se ha
buscado otra forma para no tener que registrarse. De esta manera a un usuario
le aparece el portal cautivo y slo tiene que leer una normativa, y si est de
acuerdo, slo debe pulsar un botn. Antes de esto, el usuario tiene la opcin
para entrar a la pgina de guifi.net e informarse de todo su contenido con
mayor detalle.
A medida que los usuarios se conectan al nodo, se va guardando
informacin til para luego poder generar ficheros con datos posteriormente,
con la finalidad de ayudar al administrador facilitndole informacin de lo que
ocurre en su nodo.
1.3. Objetivos
El objetivo principal es que los usuarios que se conecten al nodo se les
aparezcan un portal cautivo, bloqueando todo tipo de conexin hasta que no se
acepte una normativa.
Una vez aceptado el usuario podr navegar libremente, con todos los
puertos necesarios abiertos y sin ningn tipo de restriccin. Pasado cierto
Introduccin
tiempo el portal volver a recordar a los usuarios que estn utilizando esa
conexin gracias a guifi.net.
Como todos los usuarios que se conectan al nodo son annimos, no
necesitan dejar ningn tipo de identificacin, por eso cada vez que un usuario
se conecte al nodo se generar un registro donde se guardaran la direccin IP
y hora de cada usuario, para llevar un control y generar informes para el
administrador.
El administrador tendr su propio espacio en el portal cautivo, dnde
podr autenticarse como tal y ver el funcionamiento del nodo, subir archivos al
servidor, modificar una pequea parte del portal o ejecutar algn comando para
monitorizar el nodo.
Otra parte consiste en el montaje de un nodo, con todos los componentes
necesarios para proporcionar una conexin Wi-Fi.
La red en modo ad-hoc no tiene un nodo central, por lo tanto todos los
nodos estn en igualdad de condiciones. Con la posibilidad de buscar varios
caminos alternativos en caso de error.
Perfiles de usuario
Perfil
Administrador del
nodo
Usuario
Responsabilidad
Podr acceder al portal cautivo mediante autenticacin y
podr modificar su interfaz Web, y tambin monitorizar
desde los usuarios conectados al nodo hasta los procesos
ejecutados en l.
El usuario slo podr ver el mensaje de bienvenida del
portal cautivo y el mensaje del propietario del nodo.
Equipo de proyecto
Descripcin
Responsabilidad
Analista
Programador
Tcnico de pruebas
Tcnico de hardware
Montaje un nodo.
Perfil
Responsabilidad
Administrador
del nodo
Usuario
11
Mejoras
Aspecto ms atractivo
Posibilidad de ser modificado.
Enlace con pgina de guifi.net
Espacio para el administrador
Monitorizacin del nodo
Informacin sobre los usuarios conectados al nodo.
Herramientas de administracin
12
Esencial
Condicional
Opcional
1
X
2
X
X
X
Esencial
Condicional
Opcional
1
X
2
X
3
X
X
X
X
X
13
Programador
Recursos humanos
Valoracin
Jefe de proyecto
40/h
Analista Tcnico de
Tcnico de
pruebas
hardware
Reuniones con la comunidad
14
20/h
0/h
Tarea
Duracin
25
32
30
12
Estudio de viabilidad
15
Anlisis de requisitos
20
10
15
11
12
Configuracin Wifidog
40
13
75
14
15 Realizacin pruebas
15
16 Finalizacin memoria
297
15
16
2.2.7 Presupuesto
Horas
297
Coste
5.940
Coste
Periodo
amortizacin
Periodo
utilizacin
PC
375
1500
36 m
9m
VMware
20
80
36 m
9m
Ubuntu
OpenOffice.org
MSProject
90
360
36 m
9m
* Es gratuito
TOTAL = 547,5
El proyectista incluye cada componente que tiene un nodo con su
respectivo precio [11]:
MATERIAL
Cantidad
Precio
83,80
5,93
24,40
5,19
18
Cantidad
Precio
22,28
24,40
15,5
Total*
233,37
I.V.A ( 16% )
37,34
270,71
TOTAL= 270,71
2.2.7.3 Resumen del presupuesto
Coste del desarrollo del
proyecto5.940
Coste de amortizacin del
material.....817,6
6.757,6
TOTAL
19
1xCaja estanca
1xPlaca Alix c2c
2xMini-PCI
1xTarjeta CompactFlash
2xPigtails
2xAntenas
Caja estanca
En la caja donde irn todos los componentes electrnicos del nodo, se
tiene que hacer tres agujeros, dos para la colocacin de las antenas, y otro
para la salida de la corriente y cable Ethernet (Algunos nodos no necesitan
cable de corriente ya que se alimentan directamente por el de Ethernet
utilizando PoE).
20
22
RP1: Compilador
Es necesario tener una mquina que sea capaz de compilar el firmware.
Se utilizar una mquina virtual en un ordenador, con el S.O. Ubuntu, que
posee todo lo necesario para compilar con xito el firmware. Para que funcione
el compilador tiene que haber una serie de paquetes instalados en el sistema,
de no ser as se tienen que descargar e instalar.
23
RP4: Paquetes
Uno de los paquetes esenciales es Wifidog. ste es un paquete que
podemos encontrar en el repositorio de Kamikaze concretamente el de la
versin 8.09.1.
Para poder utilizar Wifidog, primero deberemos instalar una serie de paquetes:
IPTABLES 1.4.0-1
IPTABLES MOD CONNTRACK 1.4.0-1
IPTABLES MOD EXTRA -1.4.0-1
IPTABLES MOD IPOPT -1.4.0-1
IPTABLES MOD NAT 1.4.0-1
IPTABLES MOD NAT EXTRA 1.4.0-1
24
25
26
RNF4: Eficiencia
Dado el poco conocimiento previo, se intentar hacer que funcionen los
objetivos prioritarios aunque tengan consecuencias en el rendimiento, como
por ejemplo mucha carga en CPU o uso de memoria excesivo.
RNF5: Soporte
En caso de algn tipo de duda o problema, el usuario deber ponerse en
contacto va E-mail con algn tcnico de guifi.net o en el foro de guifi.net. La
respuesta puede demorarse.
27
28
3.2.3 Directorios
Los directorios que tiene son similares que en Linux [1], pero
destacaremos dos. En stos se hallan los archivos ms importantes para el
correcto funcionamiento del proyecto.
/etc
Aqu se hallarn dos archivos esenciales wifidog.conf y php.ini y los
archivos de configuracin del sistema. El primero da unas caractersticas
especficas de la configuracin de Wifidog y el segundo se ha de modificar y
permitir funcionalidades para poder ejecutar cdigo PHP en las pginas web
del servidor.
/www
En este directorio se hallar toda la configuracin del portal cautivo.
Desde las pginas Web en Shell Script, HTML, PHP hasta las imgenes
utilizadas en estas pginas.
Tambin podemos encontrar los archivos de texto que formarn el portal
cautivo: el ttulo, el texto y los comentarios de las fotos que ponga el
administrador.
3.2.4 Iptables
En ocasiones el trmino Iptables [8] se confunde con Netfilter. ste ltimo
es un Framework situado en el ncleo de Linux que permite interceptar y
manipular paquetes de red en diferentes estados del procesamiento.
Iptables es el componente ms popular de Netfilter, se utiliza para que un
administrador cree sus propias polticas o normas de envo o recepcin de
paquetes. Para aclararlo, sera similar a un portero de discoteca, donde la cola
de gente seran los paquetes que llegan de Internet y que ms tarde el portero
analizar. ste posee una lista con una serie de normas en la vestimenta, tipo
de peinado, etc. Si una persona no la cumple, no puede dejarla pasar.
ste es un ejemplo muy simple, pero deja bastante claro el concepto de
las Iptables. Al ejecutar Wifidog, crea una serie de Iptables, normas que han de
cumplir los paquetes que son interceptados por el nodo, al principio bloquean
todo tipo de trfico y redirigen al portal cautivo a todos los usuarios.
Wifidog est diseado para que los usuarios se autentiquen en el
servidor, y cuando lo hagan se les da el privilegio de navegar por la red mesh.
29
3.2.5 Wifidog
Para instalar Wifidog [6] deberemos seleccionarlo antes de compilar
nuestro propio firmware. Con el comando make menuconfig, en la seccin
Network en Portales cautivos. Este proceso se explica ms detalladamente en
el Anexo A.
Una vez instalado, Wifidog crea un archivo de configuracin en el
directorio /etc llamado wifidog.conf, ste archivo se modifica con los
parmetros deseados:
- Interfaz de entrada
- Interfaz de salida a Internet
- Direcciones IP que sern bloqueadas
- Direcciones IP que permitiremos conectarse a los usuarios
- Puerto que utilizar Wifidog
30
Wifidog.conf
Se explican los conceptos bsicos de este fichero de configuracin sin
entrar en detalle, donde se configura el funcionamiento que queremos de
Wifidog.
Interfaz de Salida
Interfaz de entrada
Puerto utilizado
Servidor de Autenticacin
Usuarios desconocidos
32
Bloquear usuarios
Wifidog crea varias Iptables, pero nosotros nos centraremos en las dos
ms importantes llamadas WiFiDog_WIFI2Internet y WiFiDog_Unknown ms
tarde explicar el porqu.
3.2.6 Estructura
La estructura de las pginas del portal cautivo es muy simple. Hay una
pgina principal que sera el portal cautivo, otra pgina donde se autenticara el
administrador del nodo y por ltimo las encargadas de modificar el portal
implementadas en PHP.
3.2.6.2 Administrador
El administrador tiene su espacio reservado. Slo tiene que autenticarse
para poder acceder a su seccin. La pgina est distribuida en comandos
asociados a botones para que los propietarios del nodo que no tengan
conocimientos sobre redes ni GNU/Linux, puedan obtener informacin. Hay
comandos ms complejos que otros, por ejemplo asignar una direccin IP
cmo salida a Internet, ver el estado de todas las interfaces, etc. Por eso al
pulsarlo sale una pequea explicacin de la finalidad de esa instruccin.
Gracias a la informacin que adquiera el administrador, podr tomar
decisiones. Por ejemplo puede ver si un usuario consume demasiado ancho de
banda. De ser as puede restringirle la conexin al nodo durante un cierto
perodo de tiempo.
En sta misma pgina hay una seccin para la modificacin del portal,
ste lleva a unas pginas en PHP encargadas de ello.
34
35
36
Implementacin
4. Implementacin
4.1 Introduccin
En esta seccin se explica ms detalladamente y a un nivel ms tcnico
el funcionamiento de las pginas web [9].
4.2 Estructura
Este apartado est organizado como el anterior, primero se comentar la
pgina principal que es el portal cautivo y en los apartados posteriores se
detalla la parte del administrador y la modificacin del portal. Resaltando los
cdigos ms importantes.
37
Titulo.txt contiene como bien dice el nombre, el ttulo que haya puesto el
administrador, y en cuerpo.txt se halla el texto que haya redactado.
Para las fotos y sus comentarios, se crea un bucle foreach que por
cada foto que est en la carpeta se muestra la imagen, junto con su
comentario. Para mostrar el comentario de las fotos se vuelve a utilizar el
comando cat del archivo, sabemos a qu comentario pertenece cada foto
porque se llaman igual pero uno acabado en .jpg y el otro en .txt. Por lo
tanto se coge el nombre de la foto y se concatena con la extensin .txt.
Se ha creado una funcin en Shell Script que recoge los parmetros
pasados por el mtodo GET, para que coja el que contenga la variable URL.
En esta variable se guarda el contenido de la primera pgina que solicit el
usuario. As cuando acepte la normativa le saldr un enlace justo debajo para
que pueda seguir navegando a esa pgina. Lo mostramos con un echo $url,
y el usuario slo tiene que pulsarlo y se redirigirse al sitio web. Exactamente de
misma forma se hace para las variables del puerto utilizado y direccin IP del
router que se muestran en el men. Aunque se utilice una funcin ms simple.
4.2.2 Administrador
38
Implementacin
39
Informacin de red
40
Implementacin
Wifidog
42
Implementacin
Modificar portal
Nos dirige a unas pginas en PHP con la finalidad de modificar una parte
del portal cautivo [12]. Una vez all podemos ver que hay dos textareas. En ella
se visualiza el contenido actual del ttulo y el texto escrito por el propietario del
nodo.
Como no se pueden aadir negritas, cursivas ni subrayado, se han
creado una serie de normas. Por ejemplo si se quiere crear un texto con negrita
al inicio del textarea se pone anegrita y al final cnegrita. stas cadenas
sern intercambiadas por <b> </b> respectivamente, as cuando el usuario
abra la pgina web se interpretar en cdigo HTML y saldr en negrita.
ABRIR
anegrita
acursiva
asubrayado
CERRAR
cnegrita
ccursiva
csubrayado
EQUIVALE
<b>Texto </b>
Texto
Texto
<i> Texto </i>
<u> Texto</u>
Texto
43
content=<?=$tiempo;
Figura 4.1
Como se muestra en la figura 4.1, Login llama a las pginas para borrar y subir
fotos, editar texto y editar el ttulo y automticamente vuelven a Login.
Titulo.php y Cuerpo.php
44
Implementacin
Subearchivo.php
Este fichero sirve para borrar las fotos del servidor y su respectivo
comentario. Para ello se selecciona un checkbox que va al lado de cada foto de
manera que se pasa el nombre del archivo. Como el comentario tiene el mismo
nombre pero con una extensin diferente se concatena el nombre de la foto
con .txt para la correcta eliminacin.
Se utiliza la funcin unlink($foto), donde el contenido de la variable
foto, es el nombre de la fotografa a borrar.
45
46
Pruebas y mantenimiento
5. Pruebas y mantenimiento
Las pruebas para comprender mejor el comportamiento del portal cautivo
se han realizado con un programa llamado Wireshark [13], que permite obtener
en tiempo real informacin detallada de cada paquete de datos que entra o
sale de nuestra red.
48
Conclusiones
6. Conclusiones
6.1 Conclusiones globales
A lo largo del proyecto se han podido observar diferentes campos, como
la construccin de un nodo, manejo de un sistema operativo desconocido y
utilizacin de lenguajes de programacin.
Para todo ello se ha tenido que adquirir una gran experiencia ya que al
inicio del proyecto no se dominaba la mayora de estos campos. Para
solucionar dichos problemas, el proyectista se document todo lo posible y se
inscribi en foros y listas.
En los foros se habla ms sobre el sistema operativo para comprender
mejor su funcionamiento y de los ficheros de los cuales est formado, se
buscaba y dejaba informacin aunque muchas veces no se obtena respuesta.
Tambin se recurri a las listas sobre Wifidog, dnde se tena que escribir en
francs o ingls para que los usuarios comprendieran las dudas y las
resolvieran.
En varias ocasiones se ha quedado con los creadores de guifi.net desde
reuniones en el Rabal hasta en Sant Joan Desp, en todas ellas se aprendan
lecciones avanzadas sobre redes, por eso ir a todas era de gran ayuda.
Ha habido momentos de dificultad ya que al principio del proyecto no se
poda ni cumplir el objetivo nmero uno, que era que apareciese el portal
cautivo.
Los resultados que ha obtenido el proyectista han sido positivos,
sobretodo porque al principio no se esperaba terminar el proyecto con tantos
objetivos cumplidos y haber realizado una base del firmware ya compilada con
toda su configuracin.
Finalmente, cabe destacar que los conocimientos adquiridos sobre
telecomunicaciones son beneficiosos ya que el proyectista se dedicar a ello
en un futuro.
49
6.2 Ampliaciones
El proyecto slo consista en generar un portal cautivo en el nodo, pero
para que todos los usuarios que quieran disfrutar de l no sigan todos los
pasos realizados previamente, se ha creado un archivo con unas instrucciones.
Estas ltimas permiten que, al ejecutarlo, se cree el sistema operativo con
todos los archivos de configuracin incluidos.
En un futuro se podran ampliar las caractersticas del portal cautivo, con
la posibilidad de subir videos y un nmero mayor de fotos con una calidad
superior y comandos ms elaborados.
50
Bibliografa
Bibliografa
Publicaciones impresas
[1] Andrew y Paul Hudson. La biblia de Ubuntu, Ed. Anaya Multimedia,
2008. Madrid.
[2] Mut, Jose Carlos. Desarrollo e implementacin de un entorno Wi-Fi
abierto. Proyecto de la universidad UAB Sabadell, 2009.
[3] Odom, Wendell. Cisco CCNA ICND1 y ICND2, Ed. Pearson, 2008.
Madrid
Recursos electrnicos
51
52
Agradecimientos
Agradecimientos
Antes de todo el proyectista agradece todos los consejos y tiempo dedicado
que le ha ofrecido el director del proyecto, David Megas.
A la universidad por invertir en la compra de los recursos, que sin ellos no
hubiera sido posible realizar el proyecto.
Destacar tambin Jose Carlos Mut por todos sus consejos.
Y Finalmente, a mi familia y sobre todo a mi padre por la ayuda ofrecida en la
construccin del nodo y a mi novia por toda la paciencia que ha tenido.
Gracias a todos.
53
54