¡Esta es una revisión vieja del documento!
Configuración para los routers principales
- Se asume que los routers que desean participar de la sesión troncal (BMX7 desde 2018), tienen capacidad suficiente. De lo contrario, es preferible conectarse a LOR mediante otro tipo de sesión.
- Se asume que la configuración presente no es exacta: mas bien, es una idea general aplicable a distintos tipos de nodo, como un nodo simple o un supernodo. No es recomendable copiar y pegar sin un análisis previo.
- Se asume que las configuraciones siguientes están enfocadas a LaOtraRed. Si agregas configuración adicional (relacionada a LaOtraRed o no), cosas que-ya-se-asume-que-funcionan (como el firewall) podrían presentar problemas y necesitas saber resolverlos por tu cuenta.
Router principal con OpenWrt
Su misión básica es enrutar todo el tráfico que va a/llega de LOR: además suele ser el router principal de la red, en el lugar donde se ubica el nodo.
Para el ejemplo, asumimos que tenemos para el nodo los bloques IP-LOR públicos v4 y v6: 10.64.7.0/27 y fc01:1934:1:1d00::/56.
Configuración de red
A una configuración por defecto de OpenWrt (que incluye las interfaces LAN y WAN, con sus reglas de firewall), les hacemos las siguientes modificaciones:
- Podemos partir las redes que nos asignaron en segmentos más pequeños, si es deseable.
- En este caso, en IPv4 estamos bien con nuestro /27.
- En IPv6, partiremos nuestro /56 y tomaremos un /60 (útil si aparece otro router dentro ésa red, así DHCPv6-PD podrá enrutarle automáticamente un bloque IPv6 y nos evitamos ruteo estático). También se puede asignar directamente un bloque más chico, hasta un /64.
- Editamos LAN y le asignamos a éste las IP gateway de nuestras redes asignadas:
- 10.64.7.1/27
- fc01:1934:1:1d20::1/60
- Creamos una nueva interfaz meshlocal para la sesión de routing LOR: agregamos una interfaz estática sin IPs en LuCi, o podemos editar /etc/config/network:
config interface 'meshlocal' option ifname 'eth0.5' option proto 'static' # La sesión de routing troncal (BMX7 en 2018+) no necesita especificar direcciones aquí: # el demonio bmx7 les asigna IPs por su cuenta. Babel y otros protocolos quizás necesiten especificar direcciones.
Configuración de la sesión de routing
- Si estás en la sesión troncal, debes saber que poder hacer uso de anuncios dinámicos en LOR es algo muy serio. Errores como el solapar o impersonar por completo una subnet que no te pertenece, harán que tu sesión BMX7 sea automáticamente rechazada por los nodos vecinos, y ya no podrás conectarte hasta corregir los problemas. Si los problemas son continuos, los nodos vecinos dentro de la Nube LOR pueden expulsarte.
Para la sesión troncal, el archivo /etc/config/bmx7 debe ser editado con cuidado:
config bmx7 'general' config plugin option plugin 'bmx7_config.so' config plugin option plugin 'bmx7_json.so' config plugin option plugin 'bmx7_topology.so' config dev 'meshlocal' option dev 'eth0.5' # Si tu conexión es cableada y no es Gigabit (o es VPN), agrega la siguiente opción para corregir las estimaciones que bmx7 hace de la interfaz, en Kbit/s: # option rateMax '100000000' config plugin option plugin 'bmx7_tun.so' config plugin option plugin 'bmx7_table.so' # Anuncios nativos (IPv6) # Anuncia aquí tu bloque IPv6 config unicastHna 'miPrefijoGlobal' option unicastHna 'fc01:1934:1:1d00::/56' # Anuncios por túnel (IPv4v6) # Anuncia aquí tu bloque IPv4 junto a una IP asignada al router (probablemente sea la IP gateway) # El bloque completo pertenece aquí, no importa si subdividiste tu /27 o no. config tunDev 'default' option tunDev 'miPrefijoV4' option tun4Address '10.64.7.1/27' # Receptor de anuncios por túnel (IPv4v6) # Aceptar anuncios de redes LOR config tunOut option tunOut 'ip4LOR' option network '10.64.0.0/15' option maxPrefixLen '30' option minPrefixLen '20' # Experimental, PIT-RFC1918 config tunOut option tunOut 'ip4lnet' option network '10.0.0.0/8' option maxPrefixLen '23' option minPrefixLen '20' # Experimental: PIT Ciudadano integrado a LOR config tunOut option tunOut 'ip4pub' option network '0.0.0.0/0' option maxPrefixLen '27' option minPrefixLen '24'
Además, debes proteger los archivos dentro de /etc/bmx7/ para asegurar que las características de seguridad de BMX7 funcionen. No distribuyas backups de tu configuración.