Sei sulla pagina 1di 34

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERÍA Y ARQUITECTURA


ESCUELA DE INGENIERÍA ELÉCTRICA

“GUÍA PARA LA CONFIGURACIÓN DE RED MALLA USANDO ROUTERS


DIR-300”

Catedrático: Carlos Martínez.

Alumno: Carlos Molina.

Ciudad Universitaria, ciclo-I 2012.

1
ÍNDICE
Esquema de la red Mesh............................................................................................................................5
Instalación de firmware openWRT en un Dir-300.....................................................................................6
Instalación del firmware original en un dir-300.......................................................................................11
Configuración de los nodos......................................................................................................................14
Configuración del Super-Nodo................................................................................................................17
Configuración del servidor.......................................................................................................................20
Configuración del Gateway......................................................................................................................21
Instalación de SPUD................................................................................................................................22
Configuración routers DIR-300 con firmware original...........................................................................25
Pruebas realizadas....................................................................................................................................27
Configuración de routers en mesas de trabajo.........................................................................................31
Configuración de cada mesa de trabajo...................................................................................................32
Configuración de redMesh.......................................................................................................................33
BIBLIOGRAFIA.....................................................................................................................................34

2
INTRODUCCIÓN.

Una de las configuraciones de red en equipos wifi es AH-DOC, la cual permite que equipos de red se
comuniquen entre sí para poder formar una red en topología malla, para lograr una red de este tipo se
necesita de un protocolo de enrutamiento dinámico para redes inalámbricas, en este proyecto se usa el
protocolo BATMAN, el cual es el encargado de poder enrutar los datos de una red malla hasta su
destino correcto.

Se usan routers D'link DIR-300 debido a que son económicos y puede cambiarse su firmware de
fábrica, para lograr una red malla hay que cambiar todo el sistema del aparato, en este proyecto se
utilizará el firmware de terceros “openWRT 10.03.1 BACKFIRE”, donde cada uno de los router's
utilizados serán configurados para su correcto funcionamiento dentro de la red malla.

Debemos tener claro que el modo de configuración utilizado no permite que clientes puedan navegar
dentro de la red, para que esto sea posible se necesita de router's con su firmware de fábrica, si un
usuario tiene acceso a un AP, este podrá entrar a la red sin singún inconveniente.

Para conocer la ubicación de cada uno de los nodos de la red malla, se utilizará el servidor de
visualización SPUD, este permitirá poder ver de forma gráfica la ubicación y la calidad de los enlaces
de cada nodo.

Este documento describe las configuraciones de cada equipo para crear una red malla con aparatos
económicos .

3
OBJETIVOS.

Objetivo general:

Configurar los dispositivos necesarios para hacer funcionar una red inalámbrica wifi en
topología malla.

Objetivos específicos:

- Instalar firmware openWRT a routers D'link DIR-300.


- Configurar nodos que pertenezcan a una red en topología malla.
- Configurar un SuperNodo de la red malla.
- Instalar el servidor de visualización SPUD.

4
Esquema de la red Mesh.

Para que la red funcione necesitamos el siguiente equipo:

• Router con firmware original funcionando como gateway.


• Computadora con acceso a internet para ver los nodos de la malla en SPUD.
• Router DIR-300 con firmware openWRT 10.03.1 configurado como SuperNodo.
• Router's DIR-300 con firmware openWRT 10.03.1 configurados como nodos de la red malla.
• Router's DIR-300 con firmware original.

La siguiente figura muestra el diagrama esquemático de una red malla:

5
Instalación de firmware openWRT en un Dir-300

Archivos necesarios:

- ap61.ram
- ap61.rom
- openwrt-atheros-root.squashfs
- openwrt-atheros-vmlinux.lzma
- putty.exe
- tftpsrv.exe
- redboot.bat
- redboot.txt

Los archivos se encuentran en el disco, en la carpeta: /instalarFirmware/openwrt-10.03.1/

Los archivos putty.exe, redboot.bat y redboot.txt; deberán guardarse en el directorio raiz de windows:
c:/; mientras que los demás archivos pueden guardarse en otra carpeta como puede ser:

c:/openwrt-10.03.1

Desactivar el antivirus, el firewall y la tarjeta inalámbrica de la computadora.

El contenido del archivo redboot.bat es el siguiente:

rem echo off


:start
rem ------------------------------------------------
ping 192.168.20.81 -n 1 -w 1 > NULL
IF ERRORLEVEL 1 goto start
rem putty
rem ------------------------------------------------
break
putty.exe telnet://192.168.20.81:9000 -m redboot.txt
exit

El contenido del archivo redboot.txt es el siguiente:

^C

Configurar la tarjeta de red de la computadora con la siguiente dirección IP:


192.168.20.80/255.255.255.0, como se muestra en la siguiente figura:

6
Con el router apagado conectar un extremo del cable UTP (estándar TIA568A, recto) en el puerto
ethernet de la computadora, el otro extremo conectarlo al puerto WAN (INTERNET) del router DIR-
300.

Abrir una terminal cmd del DOS, cambiarnos a la raíz C:/; ejecutar el archivo redboot.bat. (Escribir:
redboot.bat y luego enter).

Presionar con un lapicero el reset del router, mantenerlo presionado y energizar el router, soltar el botón
RESET hasta ver en la consola telnet el siguiente prompt:

RedBoot>

Buscar el servidor tftp “tftpsrv.exe” en el directorio que contiene todos nuestros archivos, ejecutarlo y
si pide opciones para desbloquear, hay que hacerlo; el servidor tftp deberá mantenerse corriendo
durante todo el proceso de instalación del firmware.

Cargar el archivo ap61.ram para actualizar un nuevo redboot que permitirá cambiar el
firmware; proceder en la consola de telnet que abrió el putty así:

RedBoot>load ap61.ram

Luego ejecutar el comando go

RedBoot>go

(El router debería cargar el nuevo bootloader y reiniciar automáticamente después de unos minutos) en
el caso de permanecer la consola de telnet todavía activa presionamos enter y debería desaparecer en un
par de segundos.

Volver a cambiar la IP de la computadora a 192.168.1.2/24 y nos vamos a conectar a telnet con el putty

7
a 192.168.1.1 puerto 9000: NUNCA DESCONECTAR EL ROUTER!!!!!

Escribir en la consola de ms-DOS el siguiente comando:

c:/putty.exe telnet://192.168.1.1:9000

Deberá aparecer un prompt nuevo que en lugar de decir RedBoot> dice DD-WRT>.

Hasta el momento no se ha variado ninguna característica de fábrica del router, solamente se ha


cargado en memoria RAM, pero los siguientes pasos son más delicados, por lo que se debe de repasar
muy bien antes de empezar.

Seguir estos pasos:

DD-WRT> fconfig -i
Initialize non-volatile configuration - continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> fis init


About to initialize [format] FLASH image system - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Prog ram from 0x807f0000-0x80800000 at 0xbffe0000: .

DD-WRT> ip_address -h 192.168.1.2

8
Default server: 192.168.1.2

DD-WRT> load -r -b %{FREEMEMLO} ap61.rom


Using default protocol (TFTP)
Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000

DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot


An image named ‘RedBoot’ exists - continue (y/n)? y
... Erase from 0xbfc00000-0xbfc30000: ...
... Program from 0x80080000-0x800a8718 at 0xbfc00000: ...
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x807f0000-0x80800000 at 0xbffe0000: .

DD-WRT> reset

Esperar aproximadamente 30 segundos. Luego proceder desde la consola de MSDOS con el siguiente
comando:

c:/putty.exe telnet://192.168.1.1:9000

Digitar los siguientes comandos :

DD-WRT> ip_address -h 192.168.1.2


Default server: 192.168.1.2

DD-WRT> fis init


About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma


Using default protocol (TFTP)
Raw file loaded 0x80040800-0x801007ff, assumed entry at 0x80040800

DD-WRT> fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7


... Erase from 0xbfc30000-0xbfcf0000: ............
... Program from 0x80040800-0x80100800 at 0xbfc30000: ............
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs


Using default protocol (TFTP)
Raw file loaded 0x80040800-0x802207ff, assumed entry at 0x80040800

DD-WRT> fis create rootfs


... Erase from 0xbfcf0000-0xbffe0000:
...............................................
... Program from 0x80040800-0x80220800 at 0xbfcf0000:
..............................
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

9
DD-WRT> fconfig -d
Run script at boot: true
Boot script:
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
Boot script timeout (1000ms resolution): 5
Use BOOTP for network configuration: false
Gateway IP address: 192.168.1.2
Local IP address: 192.168.1.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.2
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> reset

Luego el router se reiniciará, esperar unos tres minutos y listo, tienes instalado openwrt en tu router.

10
Instalación del firmware original en un dir-300.

Archivos necesarios para la instalación:

- dir300redboot.rom
- FIRMWARE_DIR-300_v1.04_B16.bin
- putty.exe
- redboot.bat
- redboot.txt
- tftpsrv

Los archivos se encuentran en el disco, en la carpeta: /instalarFirmware/dir300-original/

Los archivos putty.exe, redboot.bat y redboot.txt; deberán guardarse en el directorio raiz de windows:
c:/; mientras que los demás archivos pueden guardarse en otra carpeta como puede ser:

c:/dir300-original

Pasos para instalar el firmware original a un router D'link DIR-300:

1- Conectar el cable de red al puerto WAN del router dir-300 .


2- Configurar la interfaz ethernet de la computadora con la IP estática 192.168.1.2/24
3- Correr el archivo redboot.bat ubicado en la carpeta c:/
4- Mantener presionado el botón de reset del router y encenderlo.
5- Se debe visualizar el prompt dd-wrt>
6- Ejecutar el servidor TFTP (tftpsrv.exe) que se encuentra en la carpeta donde tenemos almacenados
todos nuestros archivos.

DD-WRT> ip_address -h 192.168.1.2


Default server: 192.168.1.2

DD-WRT> fis init


About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> load -r -b %{FREEMEMLO} dir300redboot.rom


Using default protocol (TFTP)
Raw file loaded 0×80040800-0×800607ff, assumed entry at 0×80040800

DD-WRT> fis create -l 0×30000 -e 0xbfc00000 RedBoot


An image named 'RedBoot' exists - continue (y/n)? y
... Erase from 0xbfc00000-0xbfc30000:
... Program from 0×80040800-0×80060800 at 0xbfc00000: ..
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0×80ff0000-0×81000000 at 0xbffe0000: .

11
DD-WRT> reset

El router reiniciará. Ahora deberá desconectar el router de la fuente de energía.

Preparar el sistema para el cambio:

7- El cable de red deberá continuar conectado entre el puerto WAN del dir-300 y la tarjeta de red de la
computadora.
8- Configurar la tarjeta de red de la computadora con la IP estática: 192.168.20.80/24
9- Mantener presionado el botón reset del router aproximadamente durante 30 segundos, mientras el
router inicia.
10- Abrir un navegador web y accesar a la url: http://192.168.20.81; deberá poder ver la página de
recuperación de emergencia.

Cargando el firmware original:

11- Hacer click en el botón cargar y localizar el archivo: FIRMWARE_DIR-300_v1.04_B16.bin


12- Hacer click en el botón upload para iniciar el proceso de flasheo. Al terminar deberá desconectar y
volver a conectar la fuente de energía.
13- Cambiar el cable de red conectado al puerto WAN y conectarlo en cualquier puerto LAN.
14- Ahora el router tiene instalado el firmware de fábrica, url= http://192.168.0.1; usuario: admin

12
13
Configuración de los nodos.

Firmware: openWRT 10.03.1 BACKFIRE.

Descargar los archivos necesarios para instalar BATMAND:

– librt_0.9.30.1-43.32_atheros.ipk
– libpthread_0.9.30.1-43.32_atheros.ipk
– kmod-tun_2.6.30.10-1_atheros.ipk
– batmand_r1439-1_atheros.ipk

http://downloads.openwrt.org/backfire/10.03.1/atheros/packages/

NOTA: los archivos están disponibles en el CD, en la carpeta: /instalarBATMAND/.

Desde la carpeta donde se encuentran los archivos, copiarlos al router en la carpeta /tmp:

ues@ues-EIE:~/instalarBATMAND$ scp librt_0.9.30.1-43.32_atheros.ipk


libpthread_0.9.30.1-43.32_atheros.ipk kmod-tun_2.6.30.10-1_atheros.ipk batmand_r1439-1_atheros.ipk
root@192.168.1.1:/tmp/
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is 64:82:e9:8a:77:1b:19:d2:d8:c1:a6:fb:33:c2:4f:ae.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
root@192.168.1.1's password:
librt_0.9.30.1-43.32_atheros.ipk 100% 2097 2.1KB/s 00:00
libpthread_0.9.30.1-43.32_atheros.ipk 100% 19KB 19.2KB/s 00:00
kmod-tun_2.6.30.10-1_atheros.ipk 100% 9376 9.2KB/s 00:00
batmand_r1439-1_atheros.ipk 100% 43KB 42.9KB/s 00:00
ues@ues-EIE:~/instalarBATMAND$

Ahora entrar al router via ssh:

ues@ues-EIE:~#ssh root@192.168.1.1

Cambiarnos a la carpeta /tmp; e instalar los paquetes: librt, libpthread, kmod-tun y batmand:

root@OpenWrt:/tmp# opkg install librt_0.9.30.1-43.32_atheros.ipk


Installing librt (0.9.30.1-43.32) to root...
Configuring librt.
root@OpenWrt:/tmp# opkg install libpthread_0.9.30.1-43.32_atheros.ipk
Installing libpthread (0.9.30.1-43.32) to root...
Configuring libpthread.
root@OpenWrt:/tmp# opkg install kmod-tun_2.6.30.10-1_atheros.ipk
Installing kmod-tun (2.6.30.10-1) to root...
Configuring kmod-tun.
root@OpenWrt:/tmp# opkg install batmand_r1439-1_atheros.ipk

14
Installing batmand (r1439-1) to root...
Configuring batmand.
root@OpenWrt:/tmp#

Habilitar batmand:

root@OpenWrt:~# /etc/init.d/batmand enable

Borrar las IP-TABLES:

root@OpenWrt:~# uci commit


root@OpenWrt:~# cd /etc/modules.d/
root@OpenWrt:/etc/modules.d# ls
20-crc-ccitt 30-tun 40-pppoe 42-ipt-nat 50-madwifi
30-ppp 40-ipt-core 41-ipt-conntrack 45-ipt-nathelper
root@OpenWrt:/etc/modules.d# rm -rf 40-ipt-core
root@OpenWrt:/etc/modules.d# rm -rf 41-ipt-conntrack
root@OpenWrt:/etc/modules.d# rm -rf 42-ipt-nat
root@OpenWrt:/etc/modules.d# rm -rf 45-ipt-nathelper
root@OpenWrt:/etc/modules.d# ls
20-crc-ccitt 30-ppp 30-tun 40-pppoe 50-madwifi
root@OpenWrt:/etc/modules.d#

Reiciar:

root@OpenWrt:/etc/modules.d# reboot; exit

Ahora cargar los archivos de configuración: network, wireless y batmand; configuraremos a forma de
ejemplo el nodo 151. Los archivos se encuentran en el CD en la carpeta:
/archivosConfiguración/mesa-1/nodo151/

ues@ues-EIE:~/nodo151$ scp network wireless batmand root@192.168.1.1:/etc/config/


root@192.168.1.1's password:
network 100% 751 0.7KB/s 00:00
wireless 100% 338 0.3KB/s 00:00
batmand 100% 250 0.2KB/s 00:00
carlos@carlos-VAIO:~/nodo151$

Entrar via ssh y reiniciar nuevamente.

Ahora entrar con la ip: root@192.168.1.151, al digitar el comando ps -x, veremos el proceso batmand
ejecutandoce:

root@OpenWrt:~# ps -x
878 root 996 S batmand -s 10.130.1.1 ath0
879 root 996 S batmand -s 10.130.1.1 ath0
880 root 996 S batmand -s 10.130.1.1 ath0

15
El nodo ha sido configurado, si hay mas nodos configurados en la red malla podemos verlos con el
comando:

root@OpenWrt:~#batmand -cd1

16
Configuración del Super-Nodo.

Firmware: openWRT 10.03.1 BACKFIRE.

Descargar los archivos necesarios para instalar BATMAND:

– librt_0.9.30.1-43.32_atheros.ipk
– libpthread_0.9.30.1-43.32_atheros.ipk
– kmod-tun_2.6.30.10-1_atheros.ipk
– batmand_r1439-1_atheros.ipk
– vis_r1439-1_atheros.ipk

http://downloads.openwrt.org/backfire/10.03.1/atheros/packages/

NOTA: los archivos están disponibles en el CD, en la carpeta: /instalarBATMAND/.

Desde la carpeta donde se encuentran los archivos, copiarlos al router en la carpeta /tmp:

ues@ues-EIE:~/instalarBATMAND$ scp *.ipk root@192.168.1.1:/tmp/


root@192.168.1.1's password:
batmand_r1439-1_atheros.ipk 100% 43KB 42.9KB/s 00:00
kmod-tun_2.6.30.10-1_atheros.ipk 100% 9376 9.2KB/s 00:00
libpthread_0.9.30.1-43.32_atheros.ipk 100% 19KB 19.2KB/s 00:00
librt_0.9.30.1-43.32_atheros.ipk 100% 2097 2.1KB/s 00:00
vis_r1439-1_atheros.ipk 100% 12KB 11.9KB/s 00:00
carlos@UES-EIE:~/instalarBATMAND$

Ahora entrar al router via ssh:

ues@ues-EIE:~$ssh root@192.168.1.1

Cambiarnos a la carpeta /tmp; instalar los paquetes: librt, libpthread, kmod-tun, batmand y vis:

root@OpenWrt:/tmp# opkg install librt_0.9.30.1-43.32_atheros.ipk


Installing librt (0.9.30.1-43.32) to root...
Configuring librt.
root@OpenWrt:/tmp# opkg install libpthread_0.9.30.1-43.32_atheros.ipk
Installing libpthread (0.9.30.1-43.32) to root...
Configuring libpthread.
root@OpenWrt:/tmp# opkg install kmod-tun_2.6.30.10-1_atheros.ipk
Installing kmod-tun (2.6.30.10-1) to root...
Configuring kmod-tun.
root@OpenWrt:/tmp# opkg install batmand_r1439-1_atheros.ipk
Installing batmand (r1439-1) to root...
Configuring batmand.
root@OpenWrt:/tmp# opkg install vis_r1439-1_atheros.ipk

17
Installing vis (r1439-1) to root...
Configuring vis.
root@OpenWrt:/tmp#

Habilitar batmand y vis:

root@OpenWrt:~# /etc/init.d/batmand enable


root@OpenWrt:~# /etc/init.d/vis enable

Borrar los IP-TABLES:

root@OpenWrt:~# uci commit


root@OpenWrt:~# cd /etc/modules.d/
root@OpenWrt:/etc/modules.d# ls
20-crc-ccitt 30-tun 40-pppoe 42-ipt-nat 50-madwifi
30-ppp 40-ipt-core 41-ipt-conntrack 45-ipt-nathelper
root@OpenWrt:/etc/modules.d# rm -rf 40-ipt-core
root@OpenWrt:/etc/modules.d# rm -rf 41-ipt-conntrack
root@OpenWrt:/etc/modules.d# rm -rf 42-ipt-nat
root@OpenWrt:/etc/modules.d# rm -rf 45-ipt-nathelper
root@OpenWrt:/etc/modules.d#

Reiciar:

root@OpenWrt:/etc/modules.d# reboot; exit

Ahora cargar los archivos de configuración: network, wireless, batmand y vis. Los archivos se
encuentran en el CD en la carpeta:
/archivosConfiguración/SuperNodo/

ues@ues-EIE:~/SuperNodo$ ls
batmand network vis wireless
ues@ues-EIE:~/SuperNodo$ scp network wireless batmand vis root@192.168.1.1:/etc/config/
root@192.168.1.1's password:
batmand 100% 302 0.3KB/s 00:00
network 100% 1589 1.6KB/s 00:00
vis 100% 56 0.1KB/s 00:00
wireless 100% 264 0.3KB/s 00:00
ues@ues-EIE:~/SuperNodo$

Entrar via ssh y reiniciar nuevamente.

Ahora entrar con la ip: ssh root@192.168.1.100, al digitar el comando ps -x, podemos ver los procesos
batmand y vis ejecutandoce:

root@OpenWrt:~# ps -x
876 root 1016 S batmand -a 10.30.1.0/24 -g 5000 -s 10.130.1.1 ath0

18
877 root 1016 S batmand -a 10.30.1.0/24 -g 5000 -s 10.130.1.1 ath0
878 root 1016 S batmand -a 10.30.1.0/24 -g 5000 -s 10.130.1.1 ath0
880 root 1016 R batmand -a 10.30.1.0/24 -g 5000 -s 10.130.1.1 ath0
890 root 940 S vis -j ath0 eth0
893 root 940 S vis -j ath0 eth0
894 root 940 S vis -j ath0 eth0
895 root 940 S vis -j ath0 eth0

Tenemos configurado el SuperNodo, si hay mas nodos configurados para una red malla, podemos
verlos con el comando:

root@OpenWrt:~#batmand -cd1

19
Configuración del servidor.

Correr el script configEth.sh que se encuentra en la carpeta: /archivosConfiguración/Servidor/, con este


se configurará la IP 10.30.1.10/24 que será usada por el servidor así como las rutas para poder acceder
a cada uno de los nodos, el contenido del script es el siguiente:

sudo ifconfig eth0:1 10.30.1.10/24 up

sudo route add -net 10.130.1.0/24 gw 10.30.1.1

sudo route add -net 10.30.151.0/24 gw 10.30.1.1


sudo route add -net 10.30.152.0/24 gw 10.30.1.1
sudo route add -net 10.30.153.0/24 gw 10.30.1.1
sudo route add -net 10.30.154.0/24 gw 10.30.1.1
sudo route add -net 10.30.155.0/24 gw 10.30.1.1
sudo route add -net 10.30.156.0/24 gw 10.30.1.1
sudo route add -net 10.30.157.0/24 gw 10.30.1.1
sudo route add -net 10.30.158.0/24 gw 10.30.1.1

Se usa un alias en la tarjeta ETH0 para poder tener dos ip's configuradas eth0:1 será la IP que accede a
la red mesh y la interfaz eth0 tomará una ip del gateway de forma automática para poder acceder a
internet.

20
Configuración del Gateway.

El gateway puede ser cualquier router con firmware original, hay que configurar la interfaz WAN de
forma estática como se muestra en la siguiente figura:

La dirección IP debe pertenecer a la red que nos proporciona internet.

La interfaz LAN deberá tener la IP 192.168.1.1/24 con el servidor DHCP habilitado.

21
Instalación de SPUD.

1. Instalar las dependencias.

Abrir un terminal y acceder como usuario root:

ues@ues-EIE:~$ sudo su
[sudo] password for carlos:
root@ues-EIE:/home/carlos#

Instalar los siguientes paquetes:

root@ues-EIE:/home/carlos# apt-get install apache2 php5 mysql-server php5-mysql subversion

2. Obtener el código.

root@ues-EIE:/home/carlos#cd /var/www
root@ues-EIE:/var/www#svn co http://dev.villagetelco.org/svn/villagetelco/spud/trunk spud

3. Crear la base de datos.

a) Crear una nueva base de datos:

root@ues-EIE:/var/www#mysqladmin -u root -p create spud

b) Editar las configuraciones de la base de datos SPUD.

root@ues-EIE:/var/www#gedit /var/www/spud/app/config/database.php

var $default = array(


'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'contraseña_de_mysql',
'database' => 'spud',
'prefix' => '',
);

c) Crear el esquema de la base de datos:

root@ues-EIE:/var/www#cd /var/www/spud/app/install
root@ues-EIE:/var/www/spud/app/install#mysql -u root spud -p < spud_db_schema.sql

22
4. Cambiar permisos de archivo.

root@ues-EIE:/var/www/spud/app/install#cd /var/www/spud/app/
root@ues-EIE:/var/www/spud/app/#chown -Rf www-data.www-data tmp/

5. Habilitar el módulo Apache como escritura.

root@ues-EIE:/var/www/spud/app/#cd /etc/apache2
root@ues-EIE:/etc/apache2#a2enmod rewrite

6. Editar el archivo 000-default de Apache2.

root@ues-EIE:/etc/apache2#gedit /etc/apache2/sites-enabled/000-default

Options Indexes FollowSymLinks MultiViews


AllowOverride All

Reiniciar apache:

root@ues-EIE:/etc/apache2#/etc/init.d/apache2 restart

7. Configurar el servidor VIS.

root@ues-EIE:/etc/apache2#gedit /var/www/spud/app/config/config.php

$config['SPUD']= array(
'host' => '127.0.0.1'
);

$config['VIS']= array(
'host' => 'IP_DEL_SERVIDOR (10.30.1.10)',
'port' => '2005',
'timeout' => '30'
'vis_version' => 'legacy',
'mode' => 'batman',
);

NOTA: tener cuidado en la línea: 'port' => '2015', el servidor VIS escucha en el puerto 2005 y no en el
2015.

8. Actualizar los nodos VIS usando el editor cronjob.

a) Open cronjob editor


root@ues-EIE:/etc/apache2#crontab -e

23
b) Agregar la siguiente linea al final del archivo:

*/5 * * * * root /usr/bin/wget -O - -q -t 1 http://localhost/spud/nodes/update >/dev/null 2>&1

9. Iniciar SPUD en un navegador web.

http://localhost/spud

10. Agregar CLIENTES.

En SPUD ir a “Import Data” y cargar el archivo nodosMesh.csv que se encuentra en la carpeta:


/archivosConfiguración/SPUD-nodes/

Con todas las configuraciones realizadas para la redMesh, ahora podemos ver cada uno de los nodos
pertenecientes a la red desde el servidor SPUD, esto se muestra en la siguiente figura:

24
Configuración routers DIR-300 con firmware original.

Para poder conectar computadoras portátiles a la red mesh, necesitamos configurar un router con el
firmware de fábrica, en este interesa configurar el puerto WAN del router.

1- Reseteamos el router para que tome los valores por defecto, para esto mantenemos presionado el
botón de reset aproximadamente durante 15 segundos.

2- Configuramos la tarjeta de red eth0 con una IP de la red 192.168.0.0/24

3- Entramos a la página de configuración del dir-300 con un navegador web a la url: http://192.168.0.1

25
4- Entramos a: “configuración manual de intenet” como lo muestra la siguiente figura:

5- Configurar una IP estática como se muestra a continuación, a manera de ejemplo se configurará con
la IP 10.30.151.2/24, esto dependerá de la mesa de trabajo en la que nos encontremos:

Guardar los cambios.

El router está configurado y podemos acceder a la redMesh sin ningún problema.

26
Pruebas realizadas.

Se realiza ping desde el servidor hasta cada uno de los nodos necesarios para llegar al router
10.30.151.2/24; esta es la IP de la red WAN del Dir-300 con firmware de fábrica.

carlos@carlos-HP:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1a:92:51:ba:ca
inet addr:192.168.1.80 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21a:92ff:fe51:baca/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:890 errors:0 dropped:0 overruns:0 frame:0
TX packets:988 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:748590 (748.5 KB) TX bytes:168410 (168.4 KB)
Interrupt:23 Base address:0x2000

eth0:1 Link encap:Ethernet HWaddr 00:1a:92:51:ba:ca


inet addr:10.30.1.10 Bcast:10.30.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:23 Base address:0x2000

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:747 errors:0 dropped:0 overruns:0 frame:0
TX packets:747 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:59320 (59.3 KB) TX bytes:59320 (59.3 KB)
carlos@carlos-HP:~$

carlos@carlos-HP:~$ ping -c 4 10.30.1.10


PING 10.30.1.10 (10.30.1.10) 56(84) bytes of data.
64 bytes from 10.30.1.10: icmp_req=1 ttl=64 time=0.069 ms
64 bytes from 10.30.1.10: icmp_req=2 ttl=64 time=0.044 ms
64 bytes from 10.30.1.10: icmp_req=3 ttl=64 time=0.043 ms
64 bytes from 10.30.1.10: icmp_req=4 ttl=64 time=0.042 ms
--- 10.30.1.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.042/0.049/0.069/0.013 ms

carlos@carlos-HP:~$ ping -c 4 10.30.1.1


PING 10.30.1.1 (10.30.1.1) 56(84) bytes of data.
64 bytes from 10.30.1.1: icmp_req=1 ttl=64 time=5.62 ms
64 bytes from 10.30.1.1: icmp_req=2 ttl=64 time=0.647 ms
64 bytes from 10.30.1.1: icmp_req=3 ttl=64 time=0.705 ms
64 bytes from 10.30.1.1: icmp_req=4 ttl=64 time=0.641 ms
--- 10.30.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.641/1.903/5.620/2.146 ms

carlos@carlos-HP:~$ ping -c 4 10.130.1.1


PING 10.130.1.1 (10.130.1.1) 56(84) bytes of data.

27
64 bytes from 10.130.1.1: icmp_req=1 ttl=64 time=1.01 ms
64 bytes from 10.130.1.1: icmp_req=2 ttl=64 time=0.694 ms
64 bytes from 10.130.1.1: icmp_req=3 ttl=64 time=0.609 ms
64 bytes from 10.130.1.1: icmp_req=4 ttl=64 time=0.626 ms
--- 10.130.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.609/0.737/1.019/0.165 ms

carlos@carlos-HP:~$ ping -c 4 10.130.1.151


PING 10.130.1.151 (10.130.1.151) 56(84) bytes of data.
64 bytes from 10.130.1.151: icmp_req=1 ttl=63 time=2.61 ms
64 bytes from 10.130.1.151: icmp_req=2 ttl=63 time=1.94 ms
64 bytes from 10.130.1.151: icmp_req=3 ttl=63 time=1.96 ms
64 bytes from 10.130.1.151: icmp_req=4 ttl=63 time=1.92 ms
--- 10.130.1.151 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 1.920/2.110/2.611/0.292 ms

carlos@carlos-HP:~$ ping -c 4 10.30.151.1


PING 10.30.151.1 (10.30.151.1) 56(84) bytes of data.
64 bytes from 10.30.151.1: icmp_req=1 ttl=63 time=2.43 ms
64 bytes from 10.30.151.1: icmp_req=2 ttl=63 time=1.83 ms
64 bytes from 10.30.151.1: icmp_req=3 ttl=63 time=1.83 ms
64 bytes from 10.30.151.1: icmp_req=4 ttl=63 time=2.80 ms
--- 10.30.151.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 1.831/2.228/2.809/0.417 ms

carlos@carlos-HP:~$ ping -c 4 10.30.151.2


PING 10.30.151.2 (10.30.151.2) 56(84) bytes of data.
64 bytes from 10.30.151.2: icmp_req=1 ttl=62 time=9.46 ms
64 bytes from 10.30.151.2: icmp_req=2 ttl=62 time=2.87 ms
64 bytes from 10.30.151.2: icmp_req=3 ttl=62 time=2.64 ms
64 bytes from 10.30.151.2: icmp_req=4 ttl=62 time=2.36 ms
--- 10.30.151.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 2.365/4.335/9.464/2.966 ms
carlos@carlos-HP:~$

28
Se realiza ping desde una laptop hasta cada uno de los nodos necesarios para llegar al servidor
10.30.1.10/24.

carlos@carlos-VAIO:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:1a:80:1d:d2:8b
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wlan0 Link encap:Ethernet HWaddr 00:1d:d9:dd:06:f6


inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21d:d9ff:fedd:6f6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2380 errors:0 dropped:0 overruns:0 frame:0
TX packets:2471 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2209794 (2.2 MB) TX bytes:361722 (361.7 KB)
carlos@carlos-VAIO:~$

carlos@carlos-VAIO:~$ ping -c 4 10.30.151.2


PING 10.30.151.2 (10.30.151.2) 56(84) bytes of data.
64 bytes from 10.30.151.2: icmp_req=1 ttl=64 time=2.08 ms
64 bytes from 10.30.151.2: icmp_req=2 ttl=64 time=1.73 ms
64 bytes from 10.30.151.2: icmp_req=3 ttl=64 time=1.89 ms
64 bytes from 10.30.151.2: icmp_req=4 ttl=64 time=1.74 ms
--- 10.30.151.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 1.733/1.865/2.081/0.146 ms

carlos@carlos-VAIO:~$ ping -c 4 10.30.151.1


PING 10.30.151.1 (10.30.151.1) 56(84) bytes of data.
64 bytes from 10.30.151.1: icmp_req=1 ttl=64 time=2.77 ms
64 bytes from 10.30.151.1: icmp_req=2 ttl=64 time=2.87 ms
64 bytes from 10.30.151.1: icmp_req=3 ttl=64 time=2.30 ms
64 bytes from 10.30.151.1: icmp_req=4 ttl=64 time=129 ms
--- 10.30.151.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.308/34.359/129.483/54.920 ms

carlos@carlos-VAIO:~$ ping -c 4 10.130.1.151


PING 10.130.1.151 (10.130.1.151) 56(84) bytes of data.
64 bytes from 10.130.1.151: icmp_req=1 ttl=64 time=2.80 ms
64 bytes from 10.130.1.151: icmp_req=2 ttl=64 time=3.09 ms

29
64 bytes from 10.130.1.151: icmp_req=3 ttl=64 time=2.35 ms
64 bytes from 10.130.1.151: icmp_req=4 ttl=64 time=2.38 ms
--- 10.130.1.151 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.359/2.659/3.098/0.314 ms

carlos@carlos-VAIO:~$ ping -c 4 10.130.1.1


PING 10.130.1.1 (10.130.1.1) 56(84) bytes of data.
64 bytes from 10.130.1.1: icmp_req=1 ttl=63 time=4.25 ms
64 bytes from 10.130.1.1: icmp_req=2 ttl=63 time=3.78 ms
64 bytes from 10.130.1.1: icmp_req=3 ttl=63 time=3.36 ms
64 bytes from 10.130.1.1: icmp_req=4 ttl=63 time=3.38 ms
--- 10.130.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 3.366/3.696/4.253/0.364 ms

carlos@carlos-VAIO:~$ping -c 4 10.30.1.1
PING 10.30.1.1 (10.30.1.1) 56(84) bytes of data.
64 bytes from 10.30.1.1: icmp_req=1 ttl=63 time=4.43 ms
64 bytes from 10.30.1.1: icmp_req=2 ttl=63 time=3.84 ms
64 bytes from 10.30.1.1: icmp_req=3 ttl=63 time=3.90 ms
64 bytes from 10.30.1.1: icmp_req=4 ttl=63 time=3.40 ms
--- 10.30.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 3.409/3.897/4.430/0.367 ms

carlos@carlos-VAIO:~$ ping -c 4 10.30.1.10


PING 10.30.1.10 (10.30.1.10) 56(84) bytes of data.
64 bytes from 10.30.1.10: icmp_req=1 ttl=62 time=4.32 ms
64 bytes from 10.30.1.10: icmp_req=2 ttl=62 time=4.15 ms
64 bytes from 10.30.1.10: icmp_req=3 ttl=62 time=6.48 ms
64 bytes from 10.30.1.10: icmp_req=4 ttl=62 time=4.07 ms
--- 10.30.1.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.073/4.759/6.481/1.000 ms
carlos@carlos-VAIO:~$

30
Configuración de routers en mesas de trabajo.

Cada uno de los kit's para realizar las prácticas, los encontrará configurados como se muestra en la
siguiente figura:

Cada kit consta de un mueble plástico de 3 niveles, en cada nivel se encuentra un router dir-300, en la
gaveta inferior está el router con su firmware original representado en color naranja, en la gaveta
superior está el router con firmware openWrt 10.03.1 con la configuración por defecto de openWrt y en
la gaveta del centro está un dir-300 configurado para pertenecer a la redMesh la cual se representa en
color celeste.

31
Configuración de cada mesa de trabajo.

Cada mesa de trabajo configurará su redMesh, como ejemplo se muestra en la siguiente figura la
configuración de la mesa#1:

Se usará el router de la gaveta superior como superNodo, como GATEWAY se puede utilizar cualquier
router con firmware original.

32
Configuración de redMesh.

Con los conocimientos adquiridos en cada mesa de trabajo, ahora está en la capacidad de formar una
sola redMesh utilizando todos los kits de las mesas de trabajo:

33
BIBLIOGRAFIA.

- Telefonia inalámbrica y red de acceso a internet para los municipios de Salcoatitán, Juayúa, Apaneca y Ataco. Luis Alonso Colocho
Susaña y Román Abad Tobías Vides.
- Página oficial proyecto Dili Village Telco: http://dili.villagetelco.org/index.php5?title=Main_Page

34