Академический Документы
Профессиональный Документы
Культура Документы
TABLA DE CONTENIDO
1AGRADECIMIENTOS...........................................................................................................................4
2PROPOSITO DE LA GUIA.....................................................................................................................4
3REQUISITOS PREVIOS.........................................................................................................................4
4RECOMENDACIONES PREVIAS........................................................................................................5
4.1ETAPA DE PLANIFICACION Y DISEO DE LA RED....................................................................5
4.1.1RECONOCIMIENTO E INTEGRACIN CON LA COMUNIDAD...............................................5
4.1.2PLANIFICACIN Y DISEO DE LA RED ASPECTOS TCNICOS ....................................................................................................................................................................7
4.1.3FIRMWARE.......................................................................................................................................8
4.1.4PROTOCOLO DE ENRUTAMIENTO.............................................................................................8
4.1.5DIRECCIONAMIENTO Y VERSION IP.........................................................................................9
4.1.6HARDWARE (ROUTERS, ANTENAS Y SERVIDORES)..............................................................9
4.1.7PAQUETES ADICIONALES A INSTALAR JUNTO AL FIRMWARE........................................10
4.1.8RED CON SERVICIOS PROPIOS O RED PARA COMPARTIR INTERNET?...........................10
5MONTAJE E INSTALACIN DE LA RED.........................................................................................11
5.1 PREPARACIN DE LOS ENRUTADORES
..................................................................................................................................................................11
5.1.1CREACIN E INSTALACIN DEL FIRMWARE ALTERMESH
..................................................................................................................................................................12
5.1.1.1CREACIN DEL PERFIL DE FIRMWARE...............................................................................13
5.1.1.1.1CREACIN DE LA LLAVE SSH.............................................................................................15
5.1.1.2COCINANDO EL FIRMWARE...................................................................................................16
5.1.2INSTALACIN DEL FIRMWARE ALTERMESH........................................................................17
5.1.2.1INSTALACIN PARA ROUTERS CON EL FIRMWARE DE FBRICA................................17
5.1.2.2PARA ROUTERS CON OPENWRT U OTRO ALTERMESH INSTALADO............................18
5.2RECUPERANDO UN ROUTER MAL FLASHEADO.....................................................................19
5.3RECUPERACIN DEL ROUTER INGRESANDO EN MODO FAIL SAFE..................................19
1 AGRADECIMIENTOS
Especial agradecimiento a todos los miembros del proyecto de la Red Inalmbrica
Comunitaria de Medelln - Medelln Libre -, por su compromiso, sus enseanzas, su
acompaamiento y buena energa en todas las etapas del proyecto.
2 PROPOSITO DE LA GUIA
La siguiente gua se realiza con el fin de servir como apoyo para la realizacin de proyectos
de redes inalmbricas comunitarias en la ciudad de Medelln, logrando que estos proyectos
beneficien una comunidad determinada, por tanto contiene algunas recomendaciones que
van desde la relacin con la comunidad, pasando por algunas aspectos econmicos y
llegando hasta los requerimientos y procedimientos tcnicos necesarios para hacer funcionar
la red.
La gua est publicada bajo una licencia de Creative Commons Attribution-ShareAlike 3.0.
Esto le permite a cualquier persona hacer copias e incluso venderlas con el fin de obtener
beneficios econmicos, siempre y cuando la autora sea atribuida correctamente a los
escritores y que todos los trabajos derivados se pongan a disposicin bajo los mismos
trminos. Todas las copias o trabajos derivados deben incluir un enlace visible a nuestro sito
Web, http://www.medellinlibre.co . Para ms informacin acerca de estos trminos vea el sitio
http://co.creativecommons.org/tipos-de-licencias.
3 REQUISITOS PREVIOS
La lectura de este documento requiere algunos conocimientos bsicos de los sistemas
operativo GNU/Linux y sus comandos, esto se debe a que la filosofa de trabajo en las redes
libres implica el uso de software libre para su implementacin, para ellos sugerimos iniciar
con el uso del sistema operativo Ubuntu, dado que este es una distribucin de fcil
comprensin y utilizacin, ideal para iniciarse en el uso de los sistemas operativos
GNU/Linux. Se recomienda apoyarse en las diferentes listas de distribucin de software libre,
por ejemplo https://lists.ubuntu.com/mailman/listinfo/Ubuntu-co all puede encontrar el apoyo de
la comunidad de Ubuntu Colombia para resolver todas las inquietudes que aparezcan
mientras recorre el largo camino de aprendizaje de los sistemas operativos GNU/Linux. De
igual forma se requieren algunos conocimientos sobre redes, protocolos de enrutamiento y
comunicaciones inalmbricas. Son necesarios algunos conocimientos sobre el firmware
OpenWRT por lo que es importante comenzar a leer sus manuales y foros antes que
4 RECOMENDACIONES PREVIAS
Desde nuestra experiencia en la construccin de este tipo de proyectos, obtenida obviamente
desde lo realizado en la ciudad de Medelln y orientados hacia el desarrollo de prcticas
sociales en la facultad de Ingeniera de la Universidad de Antioquia; creemos que esta gua
puede ser de utilidad, para cualquier persona o comunidad, que pretenda iniciar proyectos de
redes Comunitarias en la ciudad.
Para su aplicacin en otras ciudades o en otras instituciones, el lector debe realizar las
modificaciones, adaptaciones y adiciones que considere necesarias, siempre y cuando se
respeten las condiciones de licencia y derechos de autor estipulados en el inicio del
documento.
El documento se desarrollar con un orden que permite mantener una organizacin
cronolgica y consecutiva, lo cual facilita la organizacin y control en cada una de las etapas
de desarrollo del proyecto, estas etapas son: Planificacin y diseo, montaje e
instalacin.
Cada una de las etapas tiene unos subprocesos que intentaremos describir de la mejor
manera posible. Iniciamos con la etapa de Planificacin y diseo, en la que sugerimos unos
pasos a seguir, unas herramientas que se pueden utilizar y unos conceptos que se debe
tener o adquirir.
En la primera etapa de este tipo de proyectos recomendamos, primero que todo definir
la comunidad en la que se desea trabajar, teniendo en cuenta que se facilite la
posibilidad de acercase a la comunidad, sobreponindose a problemas de orden social,
poltico y/o econmico. Esto es muchsimo ms sencillo si se conoce o se es parte de
la comunidad en la que se quiere crear la red libre. En caso contrario, es decir si se va a
trabajar en una comunidad que no se conoce, es posible encontrar apoyo en
organizaciones no gubernamentales que estn realizando trabajos comunitarios y que
se convierten en aliados a la hora de comenzar el desarrollo de este tipo de proyectos;
es entonces una buena idea hacerse a una base de datos de las ONG, Fundaciones o
4.1.2
PLANIFICACIN Y DISEO DE LA RED ASPECTOS
TCNICOS En los temas tcnicos existen varios aspectos a tener en cuenta, posiblemente por
nuestra falta de experiencia en el tema, algunos de estos se nos quedaron por fuera,
sin embargo queda abierta la posibilidad de modificar la gua de acuerdo a lo que otras
experiencias nos entreguen y que otras comunidades puedan y quieran aportar.
En los temas tcnicos existen varios aspectos a tener en cuenta, posiblemente por
nuestra falta de experiencia en el tema, algunos de estos se nos quedaron por fuera,
sin embargo queda abierta la posibilidad de modificar la gua de acuerdo a lo que otras
experiencias nos entreguen y que otras comunidades puedan y quieran aportar.
Los principales aspectos que se identifican como necesarios en la etapa previa a la
implementacin de la red y que van a permitir tener menos inconvenientes en las
etapas posteriores a la planificacin son:
Firmware.
Protocolo de enrutamiento.
Direccionamiento y versin de IP.
Hardware (routers, antenas y servidores).
Paquetes adicionales a instalar junto al firmware.
Red con servicios propios o red para compartir Internet
4.1.3
FIRMWARE
Como la mayora de los proyectos este es uno que requiere un alto compromiso en el
tema de investigacin y capacitacin, dado que muchos de los temas que
obligatoriamente se tienen que conocer para poder desarrollar el proyecto, sern
nuevos, otros posiblemente no existan tal cual se imaginan. Especficamente en el tema
del firmware que se debe usar en el enrutador, se debe decir que OpenWRT es la base
de todos, de l se desprenden una gran cantidad de firmwares, que se han
desarrollado para suplir necesidades especficas de cada comunidad, existen por tanto
caractersticas importantes de cada firmware, la primordial es que hardware soporta,
dado que no todos los firmware se compilan con soporte para todo el hardware, este es
un aspecto trascendental en la etapa de planificacin, aqu se debe decidir si priorizar el
firmware o el hardware, es decir si se elige primero un firmware y luego encontrar un
hardware que se adapte a l o si se elige el hardware y luego encontrar un firmware
que se pueda instalar.
Para este momento el lector se preguntar Cul es la necesidad de cambiar el
firmware del dispositivo?, las respuestas pueden ser muchas y dependern del punto
de vista de quien este respondiendo, nosotros podemos decir, que el gran problema con
los firmware propietarios es que subutilizan el hardware, limitando una cantidad de
configuraciones y opciones de uso, adems que tampoco cuentan con ciertas
herramientas, vitales para los proyectos de redes libres.
Depende entonces de la capacidad de investigacin de las personas que estn al frente
del proyecto, lograr identificar el firmware correcto o inclusive en caso de ser necesario,
trabajar sobre el desarrollo de uno propio.
4.1.4
PROTOCOLO DE ENRUTAMIENTO
4.1.5
DIRECCIONAMIENTO Y VERSION IP
4.1.6
4.1.7
PAQUETES ADICIONALES A INSTALAR JUNTO AL
FIRMWARE
Sobre los paquetes4 de openWRT se puede decir que prcticamente existe uno para
cada cosa que se quiera hacer, entonces una primera tarea sera definir las
necesidades que se tienen en la red, para luego encontrar un paquete que haga lo que
se necesita, por ejemplo, para la formacin de la red mesh se necesita el paquete
kmod-batman-adv,
esa
informacin
se
encuentra
en
http://wiki.openwrt.org/inbox/mesh.batman y as mismo est disponible toda la informacin
de los paquetes en la pgina de openwrt, es cuestin de saber buscar. Otra forma es
leyendo los paquetes disponibles desde un openwrt genrico y configurado con LuCi5,
en la interfaz web en la seccin de software hay un listado de todos los paquetes
disponibles con una pequea descripcin de lo que hacen, tal como se puede observar
en la imagen a continuacin.
4http://wiki.openwrt.org/doc/packages
5http://wiki.openwrt.org/doc/howto/luci.essentials
4.1.8
RED CON SERVICIOS PROPIOS O RED PARA COMPARTIR
INTERNET?
Este es un tema de suma importancia en la etapa de planificacin, de aqu depende la
decisin de adquirir un hardware para prestar servicios o no, que servicios se
instalaran, que caractersticas debe tener el hardware para soportar estos servicios. Lo
mismo sucede con el tema de si se compartir internet o no, muchas comunidades (y
Medelln Libre se incluye en ella) recomiendan la existencia de servicios propios al
interior de la red, pues son estos los que constituyen la esencia del proyecto para evitar
que se terminen convirtiendo en un simple modelo de internet gratis. En las redes libres
se pueden prestar servicios como:
Voz IP
Email
Pginas Web
Servidores FTP
Servidores de chat
Foros
Juegos
Bibliotecas Digitales
Wikipedia Offline
y prcticamente cualquier servicios que se encuentre en internet.
cpitulo anterior de la gua, en el caso del proyecto de Medelln Libre por ejemplo, nos
decantamos por elegir un firmware y luego encontrar los equipos que se adaptaran a
ese firmware. Elegimos usar el firmware Altermesh 6 desarrollado por la comunidad
Altermundi, encontramos interesante este firmware porque como se puede leer en su
pgina7 se pretende impulsar la creacin de redes inalmbricas libres, de bajo
presupuesto, [7]intentando lograr el mximo resultado con un mnimo de recursos,
adems que reduce la complejidad de la instalacin y operacin de la red y sus
dispositivos, convirtindose en una red conocida como 0-conf, es decir de cero
configuracin en donde el usuario que se quiere sumar a la red, nicamente debe
cambiar el firmware, para lo cual puede seguir sencillos manuales creados por las
diferentes comunidades.
Los equipos elegidos para el proyecto de Medelln Libre son los Tplink mr3220 v1.1,
este equipo ofrece la posibilidad de agregar un adaptador wifi USB, para crear una red
de tipo infraestructura.
5.1.1
La creacin de una red mesh, implica adems de cambiar el firmware del enrutador, la
instalacin de una cantidad de paquetes que posibilitan la formacin de la red mesh y
el manejo de los paquetes de enrutamiento. Una gran ventaja que ofrece Altermesh es
la posibilidad de crear un firmware personalizado y con estos paquetes ya
configurados y listos para iniciar una red mesh. A continuacin describimos el
procedimiento realizado por nosotros para la creacin de un firmware y la instalacin
de este en los equipos.
6http://docs.altermundi.net/AlterMesh/
7http://docs.altermundi.net/RedesMiniMaxi/
Para poder crear un firmware en el chef 8 de Altermesh, lo primero que se debe hacer
es registrarse en la pgina, luego se crea una red y finalmente se comienzan a crear
los perfiles de red, hemos creado la red Medellin Libre 9 con dos perfiles. A
continuacin veremos cmo crear un perfil con lo necesario para el montaje de la red.
5.1.1.1
Haciendo clic en la opcin crear perfil de firmware, se puede escoger la red a la que
est asociado el firmware (en nuestro perfil podemos adems crear varias redes), as
como el nombre que este tendr, adems una pequea descripcin. Una de las
opciones ms importantes que se tienen sirve para definir en que otro firmware se
basara este nuevo perfil y finalmente la clave ssh 10 para acceder al enrutador.
Para tener claridad sobre que perfil puede ser utilizado como muestra, es
recomendable adherirse a la lista 11 de ayuda del firmware, por este medio se puede
consultar al dueo de cada firmware que tiene configurado y verificar que sirve para
el proyecto que se quiere ejecutar. En MedellinLlibre hemos basado nuestro firmware
en el llamado AlterMesh-gw_33815, en este encontramos configurados los paquetes
de B.A.T.M.A.N., NoDogSplash, y otros tantos que son requeridos para el
funcionamiento de la red mesh, haciendo clic en el icono creacin avanzada, se
pueden observar los paquetes que se instalaran previo a la compilacin del firmware,
8https://chef.mesh.altermundi.net/
9https://chef.mesh.altermundi.net/network/medellinlibre
10http://www.gb.nrao.edu/pubcomputing/redhatELWS4/RH-DOCS/rhel-rg-es-4/ch-ssh.html
11https://listas.altermundi.net/cgi-bin/mailman/listinfo/altermesh
Si no se hace una creacin avanzada, se creara un firmware como una copia exacta
del que se ha elegido como muestra, en nuestro caso hicimos una creacin
avanzada para poder editar los siguientes archivos:
/etc/dnsmasq.conf
Este archivo maneja las consultas DNS de la red, dado que la red que montamos
inicialmente no cuenta con acceso a internet, pero si con servicios propios,
necesitamos tener un servidor DNS que resuelva las peticiones que realicen los
clientes de la red, agregamos dos lneas a este archivo:
address=/#/10.254.92.204
dhcp-option=lan,6,10.254.92.165,10.254.92.204
Con la primera lnea logramos que todas las respuestas a las peticiones DNS tengan
como direccin destino la 10.254.92.204 que corresponde al servidor en el que
tenemos montados los servicios, all hay una pgina web que lista los servicios que
se han ido instalando en la red.
La segunda opcin permite forzar los servidores DNS para los clientes que se
conectan a la red y adquieren su IP por DHCP.
/etc/nodogsplash/htdocs/splash.html
NoDogSplash es un programa que facilita una pgina que se abre en cuanto un
cliente se conecta a la red y realizar una peticin HTTP, en este caso se debi
modificar el nombre de la red y el contenido de la pgina.
/etc/config/batmesh
Batmesh contiene las configuraciones para realizar el enlace de la red mesh, en este
archivo se configuran los SSID de la red y los canales en los que va a trabajar cada
SSID.
Se deben tener cuidado en saber lo que se est editando, cualquier archivo mal
modificado puede degradar el funcionamiento de la red.
Ya seleccionados los paquetes a instalar y editados los archivos pertinentes, solo
basta con crear la llave ssh, para poder realizar login en el router, el siguiente
apartado muestra el procedimiento correcto para esto.
La creacin de la llave pblica SSH sirve primero que todo para automatizar el
acceso a los equipos sin necesidad de configurar la misma contrasea en cada uno
de ellos, adems de esto entrega un nivel de seguridad mediano, dado que
nicamente quien tenga la clave SSH, podr acceder los equipos.
Para la creacin de la clave SSH, se requiere contar con un sistema Linux y desde
una terminal ejecutar el comando ssh-keygen dar [enter] para que guarde la key donde
sugiere (/home/user/.ssh/id_rsa) ese archivo id_rsa es la clave privada, la clave pblica
queda en el archivo id_rsa.pub. E l contenido de ese archivo .pub, es el que se tiene
que agregar en el chef. Por ejemplo, en la misma terminal ejecutar:
$cat ~/.ssh/id_rsa.pub
Es una sola linea de texto, muy larga. La cual se debe copiar y pegar en el chef.
Luego de esto bastara con hacer $ ssh root@ip.del.router para establecer una conexin
SSH hacia el router.
5.1.1.2
COCINANDO EL FIRMWARE
Ya con todos los archivos configurados, los paquetes seleccionados y la llave SSH
creada, solo basta con hacer clic en crear y as queda creado un perfil de un
firmware que luego se podr cocinar, este trmino hacer referencia a la accin de
compilar el firmware con las configuraciones que se han determinado.
Para esto hacemos clic en el botn de cocinar
Luego de esto se deben seleccionar los dispositivos para los que se quiere cocinar
el firmware:
5.1.2
5.1.2.1
INSTALACIN PARA ROUTERS CON EL FIRMWARE DE
FBRICA
A continuacin se muestra el proceso realizado en un router TP-Link, el proceso ser
similar para otros dispositivos que permitan la actualizacin desde su interfaz de
administracin web.
El acceso a la interfaz web se realiza mediante la siguiente direccin desde nuestro
navegador web http://192.168.0.1/
Aqui nos pedir usuario y contrasea. Si no hemos modificado los valores por defecto
estos sern:
usuario: admin
clave: admin
Una vez dentro de la interfaz administrativa, iremos a la opcin System Tools ->
Firmware Upgrade.
instalacin.
Una vez concluida la instalacin, el router se reiniciar (se observara que todas las
luces parpadean) y as concluye este proceso.
5.1.2.2
PARA ROUTERS CON OPENWRT U OTRO ALTERMESH
INSTALADO
Existen varios El proceso de actualizar o cambiar un firmware openWRT (recordar que
altermesh es un openWRT personalizado) lo primero que se debe hacer es iniciar el
router en modo failsafe12 (a prueba de fallos), para esto se deben seguir estos pasos:
Al encender el router esperar a que comience a flashear el led de sys, en ese
momento pulsar el botn frontal -el QSS- hasta que el led de sys parpadee con
rapidez, esta es la indicacin que el router ya se encuentra iniciado en modo a prueba
de fallas o fail safe.
Para acceder al router se necesita configurar la red manualmente, con 192.168.1.2/24
y el resto en blanco.
Luego hacer telnet a 192.168.1.1, que es la direccin por defecto del router en modo a
prueba de fallas. Despus de lograr establecer la conexin, desde la consola de telnet
ejecutar los siguientes comandos:
sysupgrade -n /tmp/firmware.bin
12 http://wiki.openwrt.org/toh/tp-link/tl-mr3420#failsafe
5.3.1
5.3.1.1
MATERIALES
Soldadura de estao
Cable de red
5.3.1.2
PROCEDIMIENTO
Establecer una conexin serial entre el router y el PC, por ejemplo desde un sistema
operativo Ubuntu, se puede realizar con el cliente PuTTY como herramienta de
conexin. Las reglas de la conexin son las siguientes:
Conectar la punta del cable que va al router, luego conectar el puerto USB al
PC, encender el router y hacer clic en open. Al momento del router encender se
observan unas letras en la ventana de la conexin establecida con PuTTY
Clic en setup
13https://code.google.com/p/tftpgui/
5.4.1
Vamos a ver los comandos tiles para detectar las redes que hay al alcance del nodo
y la calidad con que estas son detectadas.
El comando iw es un comando que se utiliza para la configuracin de interfaces
inalmbricas en linux. Para comenzar a usarlo primero debemos saber que interfaces
tenemos disponibles en el enrutador, en linux los dispositivos inalmbricos
normalmente se identifican con el prefijo wlan y un nmero que depende de la
cantidad de dispositivos instalados en el enrutador, el cual inicia en 0. El comando
ifconfig permite la visualizacin de estos dispositivos.
En la grfica anterior se observa que la salida del comando ifconfig entrega dos
Luego en la salida obtenida encontrar la red con el SSID que nos interesa. Con este
comando estamos buscando contrastar la potencia de seal recibida con la
sensibilidad del router que est conformando el nodo, esta informacin sirve para
determinar si el enlace es factible y el ancho de banda con el que se puede establecer.
Ya establecido el enlace otro comando que nos permite observar la potencia que
estamos recibiendo es:
iw wlan0-1 station dump
Este comando adems entrega un estimado del ancho de banda que se tiene en el
enlace.
5.4.2
COMPROBANDO LA CAPACIDAD DEL ENLACE (ANCHO DE
BANDA)
Una utilidad que viene instalada por defecto en el firmware altermesh, pero que igual
podemos desinstalar y reemplazar por cualquier otra en el proceso de cocinar el
firmware en el chef, es iperf 15 . Iperf es una aplicacin que mide el ancho de banda y
funciona en modo cliente servidor. Esto quiere decir que para realizar una prueba de
iperf debemos tener uno de los dos nodos en modo servidor, esto se logra con el
comando
iperf -s
15http://openmaniak.com/iperf.php
En la parte que dice ip del servidor, se debe reemplazar por la ip del dispositivo en el
que se ejecut el comando iperf -s, -i es un parmetro que define el intervalo de
tiempo en el que se enviara un paquete y el parmetro -t determina la cantidad de
paquetes a enviar.
En la anterior grfica se observa la salida del comando iperf, tanto del lado del cliente
(derecha) como del lado del servidor (izquierda).
Bueno ya con esto tenemos suficiente informacin como para instalar los nodos de la
red mesh.
Los siguientes comandos han sido de mucha utilidad en el desarrollo del proyecto,
aunque somos conscientes que pueden existir muchos otros que hagan la misma
tarea de una mejor manera.
Batctl if: Este comando sirve para cual es la interfaz del router que se est utilizando
para la generacin de la red mesh.
Batctl o el parmetro o, hace parte del listado de parmetros incluidos en las tablas de
depuracin de batman-adv, este parmetro muestra los nodos de los cuales tiene
informacin el dispositivo conectado, y cules son los posibles saltos en el envo de
paquetes hacia ese nodo.
5.6.1
ALIMENTACION ELECTRICA
5.6.2
INSTALACIN A INTEMPERIE
En algunos casos la instalacin del nodo requiere tener el router expuesto a las
inclemencias del clima y fenmenos naturales, por lo que es recomendable protegerlo
con una caja para intemperie. La instalacin de esta caja queda ms o menos como
se muestra en la siguiente fotografa.
5.6.3
FIJACIN DE LA ANTENA
6 ANEXOS.
6.1 ANEXO 1 LISTAS DE DISTRIBUCIN DE REDES LIBRES
Las listas de distribucin de correo son herramientas que posibilitan el envo de un mensaje
de correo a varias direcciones que estn adheridas a la lista, sin necesidad de incluir una a
una de las direcciones deseadas. La ventaja de las listas de distribucin es que agrupan a
personas con intereses comunes en algn tema especfico, por lo que se convierten en
espacios que ayudan a solventar problemas sobre un tema especfico, a continuacin se
proponen algunas de las tantas listas de distribucin que existen sobre el tema de redes
libres.
1. http://groups.google.com/group/medellin-libre
2. https://listas.altermundi.net/cgi-bin/mailman/options/altermesh
3. http://wiki.buenosaireslibre.org/ListasDeCorreo
4. http://lugro.org.ar/mailman/options/lugro-mesh/
5. https://listas.altermundi.net/cgi-bin/mailman/listinfo/redeslibres
6. https://lists.riseup.net/www/info/bogota-mesh