Configuraciones de Nodo en LaOtraRed con uno o varios enrutadores usando Babel
Estuve probando configuraciones para un nodo con 2 routers y he conseguido conectar los nodos de esta forma:

Como esta prueba ha funcionado, pondré las configuraciones de cada enrutador como referencia aquí, cosa que cualquiera pueda probarlo en un enrutador con LEDE o derivados de openwrt.
NODO A
El nodo A consta de dos enrutadores, un principal y un auxiliar para extender la conexión.
router principal
Como se ve en el dibujo este tiene 2 direcciones IP donde 80.0.3.1
es su IP dentro del bloque publico, el enrutador usa Babel para anunciar el bloque 80.0.3.1/24. También este enrutador anuncia su bloque de direcciones IP privadas 172.24.3.1/24
de la misma forma.
/etc/config/network
Archivo principal de configuración de las interfaces de red.
# configs por defecto (interfaz loopback)
# ..
# una red lan privada
config interface 'lan'
option proto 'static'
option type 'bridge'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
# red privada del nodo , se usa para que los clientes de este nodo
# se conecten a otros nodos en LaOtraRed)
config interface 'lor-clientes'
option proto 'static'
option ipaddr '172.24.3.1'
option netmask '255.255.255.0'
# interfaz mesh con IP publica se conecta al resto de LaOtraRed
config interface 'mesh'
option proto 'static'
option ipaddr '80.0.3.1'
option netmask '255.255.255.0'
option ip6addr 'fc01:1934:fffe::0303/128'
option ifname 'eth0' # sale a traves de conexion cableada
/etc/config/wireless
Archivo de configuración para el WIFI.
config wifi-device 'radio0'
option type 'mac80211'
option hwmode '11g'
option path 'platform/ar933x_wmac'
option htmode 'HT20'
option channel '7' # canal wifi compartido
option country 'BO'
option txpower '19'
option disabled '0'
# una red para conectarse al nodo en modo cliente
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'NODO A'
option encryption 'none'
Como se ve en el dibujo este nodo, no usa el wifi para unirse a LaOtraRed, sino lo hace mediante ethernet conectándose al router auxiliar.
/etc/config/babeld
Archivo de configuración del protocolo Babel, para que se encargue del enrutamiento en LaOtraRed
config general
option 'random_id' 'true'
option 'ipv6_subtrees' 'true'
# se usara la interfaz cableada
config interface
option 'ifname' 'eth0'
# permitir anuncios de otros vecinos en red publica
config filter
option type 'in'
option ip '80.0.0.0/22'
option action 'allow'
# permitir anuncios de otros vecinos en red bloque de privada
config filter
option type 'in'
option ip '172.24.0.0/15'
option action 'allow'
config filter
option type 'in'
option ip 'fc01:1934::/32'
option 'allow'
# redistribuir anuncios de este nodo
config filter
option type 'redistribute'
option ip '80.0.3.1/24'
option action 'allow'
# redistribuir anuncios de red privada propia.
config filter
option type 'redistribute'
option ip '172.24.3.1/24'
option action 'allow'
config filter
option type 'in'
option action 'deny'
config filter
option type 'redistribute'
option local 'true'
option action 'deny'
Pruebas:
root@nodoA:/# ip r
80.0.2.0/24 via 80.0.3.127 dev eth0 onlink
80.0.3.0/24 dev eth0 src 80.0.3.1
172.24.3.0/24 dev br-lan src 172.24.3.1
172.24.2.0/24 via 80.0.3.127 dev eth0 onlink
root@nodoA:/etc/config# traceroute 80.0.2.1
traceroute to 80.0.2.1 (80.0.2.1), 30 hops max, 38 byte packets
1 80.0.3.127 (80.0.3.127) 0.184 ms 1.476 ms 0.057 ms
2 80.0.2.1 (80.0.2.1) 1.909 ms 3.373 ms 1.858 ms
root@nodoA:/etc/config# traceroute 172.24.2.1
traceroute to 172.24.2.1 (172.24.2.1), 30 hops max, 38 byte packets
1 80.0.3.127 (80.0.3.127) 0.457 ms 0.991 ms 0.584 ms
2 172.24.2.1 (172.24.2.1) 1.640 ms 5.040 ms 1.880 ms
Coo se ve, el nodo A puede llegar al nodo B pasando a través del router Auxliar al que está conectado mediante cable ethernet en eth0
Router auxiliar del nodo A
Es como un puente, por que permite que el router principal A conectado por ethernet se conecte con el nodo B que se conecta a este por wifi, además redistribuye las rutas que anuncian el nodo B y el nodo A extendiendo la red distribuida.
/etc/config/network
Interfaces NodoA auxiliar
config interface 'loopback'
# ...
# una interfaz lan privada
config interface 'lan'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0''
option ipaddr '192.168.1.10'
# interfaz mesh cableada
config interface 'wiredmesh'
option proto 'static'
option ipaddr '80.0.3.127'
option netmask '255.255.255.255'
option ip6addr 'fc01:1934:fffe::0316/128'
# sale a traves de ethernet
option ifname 'eth0'
# interfaz mesh para salir por wifi
config interface 'mesh'
option proto 'static'
option ipaddr '80.0.3.127'
option netmask '255.255.255.255'
option ip6addr 'fc01:1934:fffe::0317/128'
/etc/config/wireless
Wifi nodo A Auxliar
config wifi-device 'radio0'
# similar al nodo A
# wifi para clientes
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'nodo a1'
option encryption 'none'
option disabled '0'
# wifi para conectarse a los demas nodos de LaOtraRed
config wifi-iface
option device 'radio0'
option network 'mesh'
option mode 'adhoc'
option ssid 'babel.pruebas'
option encryption 'none'
option bssid 'BA:BE:BA:BE:01:01'
/etc/config/babeld
Configuración del protocolo Babel en el nodo A auxiliar
config general
option ‘random_id’ ‘true’
option ‘ipv6_subtrees’ ‘true’
# Babel actua sobre wifi
config interface
option ‘ifname’ ‘wlan0’
option ‘channel’ ‘7’
# para que tambien actue sobre ethernet
config interface
option ‘ifname’ ‘eth0’
# permitir anuncios de otros nodos en la red publica
config filter
option type ‘in’
option ip ‘80.0.0.0/22’
option action ‘allow’
config filter
option type ‘in’
option ip ‘fc01:1934::/32’
option ‘allow’
# perimitr anuncios de otros nodos en la red privada
config filter
option type ‘in’
option ip ‘172.24.0.0/15’
option ‘allow’
# anunciar ruta de si mismo (una sola IP por eso /32)
config filter
option type ‘redistribute’
option ip ‘80.0.3.127/32’ # esta dentro el rango 80.0.3.1/24
option action ‘allow’
config filter
option type 'in'
option action 'deny'
config filter
option type 'redistribute'
option local 'true'
option action 'deny'
Luego reiniciando babel con /etc/init.d/babeld restart
las pruebas:
root@nodoAAuxiliar:/etc/config# ip r
80.0.2.0/24 via 80.0.2.1 dev wlan0 proto babel onlink
80.0.3.0/24 via 80.0.3.1 dev eth0 proto babel onlink
172.24.3.0/24 via 80.0.3.1 dev eth0 proto babel onlink
172.24.2.0/24 via 80.0.2.1 dev wlan0 proto babel onlink
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.10
NODO B
Similar al Nodo A sólo que tiene un sólo enrutador que se conecta por wifi al resto de LaOtraRed y este mismo anuncia el bloque público y privado.
/etc/config/network
archivo principal de configuración de las interfaces de red.
config interface 'lan'
option type 'bridge'
option proto 'static'
option ipaddr '172.24.2.1'
option netmask '255.255.255.0'
config interface 'mesh'
option proto 'static'
option ipaddr '80.0.2.1'
option netmask '255.255.255.0'
option ip6addr 'fc01:1934:fffe::0201/128'
/etc/config/wireless
Archivo de configuración del wifi.
config wifi-device 'radio0'
# ...
config wifi-iface
option ssid 'cliente del nodo B'
# similar al nodo A
# ...
# se define wifi en modo adhoc para conectarse a otros nodos de la red, usando la interfaz mesh
config wifi-iface
option device 'radio0'
option ssid 'babel.pruebas'
option mode 'adhoc'
option encryption 'none'
option network 'mesh' # red mesh definida
option bssid 'BA:BE:BA:BE:01:01' # bssid de pruebas
/etc/config/babeld
Configuraciones para que el protocolo Babel ayude en el enrutamiento automático
package babeld
config general
option 'random_id' 'true'
option 'ipv6_subtrees' 'true'
config interface
option 'ifname' 'wlan0'
option 'channel' '7'
config filter
option type 'in'
option ip '80.0.0.0/22'
option action 'allow'
config filter
option type 'in'
option ip 'fc01:1934::/32'
option 'allow'
config filter
option type 'in'
option ip '172.24.0.0/16'
option 'allow'
# Anunciando el bloque de IPs publicas
config filter
option type 'redistribute'
option ip '80.0.2.1/24'
option action 'allow'
# bloque de IPs privadas
config filter
option type 'redistribute'
option ip '172.24.2.1/24'
option action 'allow'
config filter
option type 'in'
option action 'deny'
config filter
option type 'redistribute'
option local 'true'
option action 'deny'
Luego haciendo pruebas:
root@NodoB:/etc/config# traceroute 80.0.3.1
traceroute to 80.0.3.1 (80.0.3.1), 30 hops max, 38 byte packets
1 80.0.3.127 (80.0.3.127) 0.061 ms 1.386 ms 1.993 ms
2 80.0.3.1 (80.0.3.1) 1.879 ms 5.048 ms 1.789 ms
Lo que prueba que hay conexión hacia el nodo A pasando a través del enrutador auxiliar del nodo A.
Conclusiones
Con estas configuraciones comprobamos que se pueden agregar varios enrutadores para un solo nodo, en el caso del enrutador Auxiliar del nodo A, este puede tranquilamente ser una antena direccional de larga distancia que se conecta a otros nodos de la red.