Configuracion nodo rezo
Configuración del nodo "Rezo" en r00thouse-mesh (primer nodo fuerte de esta red)
Siguiendo la asiganción de direcciones IP descrita aquí http://wiki.laotrared.net/doku.php?id=direcciones_asignadas , se definen 62 hosts para este nodo.
Notar que estos 62 hosts son para dispositivos con IP pública (No salen a través de NAT y son visibles directamente en la red).
Tipo de nodo
Se ha usado el protocolo babel como protocolo de enrutamiento dinámico sobre openwrt, para que este nodo funcione como Nodo-mesh.
Direcciones IP y subredes
Se tienen 62 hosts (máscara de red /26) a partir de 10.1.0.0 , si se cuenta con 2 routers en 5Ghz para que funcionen como nodos-mesh, entonces para mantenerse dentro de los 62 hosts se tiene que dividir 2 subredes distintas dentro el rango 10.1.0.0 hasta 10.1.0.64.
Router 1
Con dirección 10.1.0.1 y máscara /27 (255.255.255.224) , hasta 30 hosts.
Router 2
Con dirección 10.1.0.32 y máscara /27 (255.255.255.224) , hasta 30 hosts.
Configuración del router1 con BABEL
En el primer router
/etc/config/network
No hay la necesidad de crear puentes para lograr conexión entre interfaces
nota.- wlan0 y eth0 tienen la misma IP --> TODO: Colocar implicaciones de esto
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd41:d711:fcf6::/48'
config interface 'lan'
option proto 'static'
option ipaddr '10.1.0.1' # direccion del router
option ifname 'eth0'
option netmask '255.255.255.224'
config interface 'mesh'
option proto 'static'
option ifname 'wlan0'
option ipaddr '10.1.0.1' # direccion del router
option netmask '255.255.255.255' # /32
/etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211'
option hwmode '11a'
option path 'platform/ar934x_wmac'
option txpower '30'
option country 'US'
option channel '161'
option htmode 'HT40'
config wifi-iface
option network 'mesh'
option encryption 'none'
option device 'radio0'
option mode 'adhoc'
option ssid 'r00thouse-mesh' # SSID
/etc/config/babeld
Basado en las configuraciones propuestas en Jugando-con-babel
package babeld
config general
option 'random_id' 'true'
option 'ipv6_subtrees' 'true'
config interface
option 'ifname' 'wlan0' #interfaz (preferiblemente virtual) donde Babel actúa
# permitir las rutas que se aceptan 'in'
config filter
option 'type' 'in'
option 'ip' '10.0.0.0/8'
option 'action' 'allow'
# las rutas que este router redistribuye de su red local
config filter
option 'type' 'redistribute'
option 'local' 'true'
option 'ip' '10.1.0.1/27'
# las rutas que este router redistribuye de otros routers
config filter
option 'type' 'redistribute'
option 'ip' '10.0.0.0/8'
# Complemento (todo lo demas que hay que rechazar)
config filter
option 'type' 'in'
option 'action' 'deny'
config filter
option 'type' 'redistribute'
option 'local' 'true'
option 'action' 'deny'
config filter
option 'type' 'redistribute'
option 'action' 'deny'
En los clientes
No es buena idea hacer que el router asigne direcciones (DHCP) por que se supone que a estos routers no se conectan clientes ocasionales directamente, si no equipos fijos y públicos como servidores.
Cada cliente debe conectarse a este router por eht0 y se le debe asignar manualmente una dirección IP estatica en el rango del router, para este caso por ejemplo 10.1.0.2 /27, además es muy importante que el equipo conectado tenga como gateway por defecto al propio router de otra manera la conexión entre clientes de distintos routers no funciona.
Esto resumen para el cliente del router mesh :
- IP=10.1.0.2
- netmask=255.255.255.224
- default gateway=10.1.0.1
Configuración del router2 con BABEL
Las configuraciones son similares a la del router 1 con los siguientes cambios.
/etc/config/network
config interface 'lan'
option proto 'static'
option ipaddr '10.1.0.32' # direccion del router
option ifname 'eth0'
option netmask '255.255.255.224'
config interface 'mesh'
option proto 'static'
option ifname 'wlan0'
option ipaddr '10.1.0.32' # direccion del router
option netmask '255.255.255.255' # /32
/etc/config/babeld
# las rutas que este router redistribuye de su red local
config filter
option 'type' 'redistribute'
option 'local' 'true'
option 'ip' '10.1.0.32/26'
En los clientes
- IP a partir de =10.1.0.33
- netmask=255.255.255.224
- default gateway=10.1.0.32
Observaciones generales
Como babeld se encarga de determinar la mejor ruta entre nodos, y en las configuraciones de arriba se usan 2 interfaces; -- eth0 que se conecta a un conmutador de red) , y wlan0 (conexión inalámbrica para que otros nodos se unan) --.
Incluso si los dos routers están instalados lado a lado, babel usará la interfaz eth0 para conectar a estos dos routers y wlan0 para cuando otros routers configurados de la misma forma intenten conectarse.