====== Configuración de un nodo normal ======
Estas configuraciones son experimentales y podrían requerir correcciones.
:!: Falta actualizar las configuraciones para creacion de subred publica y subred privada (ver ¿qué es un nodo? para más referencia)
Sabiendo lo [[redlibre:montar_un_nodo|que es un nodo en LaOtraRed]], y el caso específico de un [[redlibre:tipos_de_conexiones#nodos_normales|nodo normal]] ahora se verán las configuraciones por defecto que se usan.
Estas configuraciones son las que sigue el sistema de creación de firmware de LaOtraRed La Paz. (FIXME agregar referencia)
Hay que notar que se entiende que el medio físico por el cual se hará conexión a otros nodos es **vía wifi**, así:
{{:redlibre:nodo.png?200|}}
Si se requiere que el enlace sea cableado se deben hacer unos cambios ligeros.
===== Dirección IP =====
Siguiendo la [[redlibre:politica_de_asignacion_de_ips|Política de asignación de direcciones IP v4]] sabemos que a un nodo en particular se le asignará una dirección IP y máscara de subred.
Por ejemplo imaginemos que la asignación es ''10.64.14.0 /26'' lo que implica que la dirección **IP del router** será ''10.64.14.1'' y la **máscara de red** que usará es ''255.255.255.192'' = /26
Hay que tomar en cuenta esos datos para indicarle a babeld (el protocolo de enrutamiento dinámico que usamos) el bloque de IPs que debe anunciar a los nodos vecinos.
La siguiente es una configuración minimalista, el sistema de gestión de nodos para este proyecto utiliza esta configuración. Puedes revisar el script generador de imágenes [[https://git.laotrared.net/LaOtraRed-dev/generador-firmwares-script|aquí]].
===== /etc/config/network =====
Un nodo normal es típicamente un enrutador DUAL BAND que se conecta a la red distribuida por wifi en 2.4 y 5 GHz.
En un S.O. basado en openwrt este es el archivo de configuración principal de las interfaces de red, para un nodo normal este puede ser el contenido del archivo de configuración:
# interfaz loopback
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
## Interfaz mesh para 2.4Ghz
config interface 'mesh24'
option proto 'static'
option ipaddr '10.64.14.1' # IP publica del router
option netmask '255.255.255.192' # /26
## Interfaz mesh para 5Ghz
config interface 'mesh5'
option proto 'static'
option ipaddr '10.64.14.1' # IP publica del router
option netmask '255.255.255.192' # /26
## Interfaz lan
config interface 'lan'
option force_link '1'
option proto 'static'
option ipaddr '192.168.1.1' # IP en la lan privada
option netmask '255.255.255.0' # mascara en la lan privada
option type 'bridge'
option ifname 'eth0' # interfaz cableada
## interfaz wan y otras privadas en el router
# ...
En la configuración de arriba se ha definido 3 interfaces de red. ''mesh24'' se destinará a conectar tráfico de la red distribuida en wifi de 2.4Gh y ''mesh5'' de igual forma pero para 5Ghz.
Además se tiene la típica interfaz ''lan'' para la red interna del router, la dirección IP de esta interfaz puede ser la que el dueño del nodo quiera siempre y cuando este fuera del rango 10.64.0.0 /15 que está reservado para los nodos públicos de LaOtraRed La Paz - El Alto.
===== /etc/config/wireless ====
Se deben definir entradas para que el enrutador inalámbrico emita las señales wifi requeridas, este podría ser el archivo de configuración.
# dispositivo 2.4Ghz
config wifi-device 'radio0'
option type 'mac80211'
option hwmode '11g'
option path 'platform/ar934x_wmac'
option htmode 'HT20'
option country 'BO' # normativa Boliviana
option channel '7' # Canal comun
option disabled '0'
# dispositivo 5Ghz
config wifi-device 'radio1'
option type 'mac80211'
option txpower '22'
option country 'BO' # normativa Boliviana
option channel '153' # Canal comun para LaOtraRed
option path 'pci0000:00/0000:00:00.0'
option htmode 'HT20'
option disabled '0'
# 5 Ghz mesh
config wifi-iface
option device 'radio1'
option network 'mesh5'
option mode 'adhoc'
option ssid 'lapaz.laotrared.net' # SSID comun
option bssid 'BE:BA:CA:FE:BE:BE' # MAC comun 5Ghz
option encryption 'none'
# 2.4 Ghz mesh
config wifi-iface
option device 'radio0'
option mode 'adhoc'
option network 'mesh24'
option ssid 'lapaz.laotrared.net' # SSID comun
option bssid 'BE:BA:CA:FE:B3:B3' # MAC comun 2.4Ghz
option encryption 'none'
# 2.4 Ghz clientes (lan privada)
config wifi-iface
option device 'radio0'
option mode 'ap'
option encryption 'none' # podria usarse cifrado aqui tambien
option ssid 'LaOtraRed - Libre'
option network 'lan'
# wifi adicionales
# ...
El enrutador ahora emitirá 3 señales wifi; una en 5Ghz y otra 2.4Ghz para unirse a la red distribuida y ayudar a expandirla usando las interfaces ''mesh5'' y ''mesh24'' respectivamente. Hay otra señal wifi en modo AP para que otros dispositivos clientes se conecten a la red a través de la red ''lan'' del nodo pero esta es opcional y se podría incluso prescindir de ella.
===== /etc/config/babel =====
El protocolo de enrutamiento dinámico babel es el que permite que la red sea descentralizada y que crezca automáticamente. Como se está siguiendo la [[redlibre:politica_de_asignacion_de_ips|política de asignación de direcciones IPv4]] para este ejemplo sabemos que a este nodo se la ha asignado el bloque ''10.64.14.0 /26'', entonces sólo hay que configurar babeld para que anuncie este bloque a los vecinos y además acepte anuncios de otros vecinos dentro el rango reservado para LaOtraRed La Paz - El Alto.
:!: Se requiere tener instalado babeld, se puede hacer conectando el router a internet con ''opkg install babeld'''
package babeld
config general
option 'random_id' 'true'
option 'ipv6_subtrees' 'true'
##### interfaces en las que babel participa
config interface
option 'ifname' 'mesh24'
config interface
option 'ifname' 'mesh5'
###### filtros para rutas de entrada (anunciadas por los vecinos)
# permitir rutas del bloque 10.64.0.0 /15 (LaOtraRed La Paz - El Alto)
config filter
option type 'in'
option ip '10.64.0.0/15'
option action 'allow'
config filter
option type 'in'
option ip 'fc01:1934::/32'
option 'allow'
###### filtros para rutas internas (kernel)
# anunciar a los vecinos el bloque de este nodo
config filter
option type 'redistribute'
option ip '10.64.14.0/26' # bloque IPv4 de este nodo
option action 'allow'
###### denegar otras rutas no definidas
config filter
option type 'in'
option action 'deny'
config filter
option type 'redistribute'
option local 'true'
option action 'deny'
===== /etc/config/firewall =====
La interfaz ''lan'' está destinada a conectar dispositivos clientes que se conectan y desconectan a voluntad y además estos **no son públicos** y se conectan a otros dispositivos públicos dentro de LaOtraRed a través de las interfaces mesh usando NAT.
En este caso haremos que se use la dirección IP pública del router 10.64.14.1 para enviar el tráfico desde la interfaz lan hacia otros nodos en LaOtraRed. Para que esto sea posible se agregan opciones en el archivo de firewall:
#...
config zone
option input 'ACCEPT'
option output 'ACCEPT'
option name 'mesh'
option forward 'ACCEPT'
option network 'lan mesh24 mesh5'
option masq '1' # masquerading (NAT)
config forwarding
option dest 'lan'
option src 'mesh'
Con todas estas configuraciones el nodo ya estaría participando de la red distribuida y ayudando a expandirla.
Pero no está brindando algún servicio adicional, revisa la [[guias:indice_servicios|guía de servicios]] o los ejemplos vivos de otros nodos en la red.
====== Ejemplos vivos ======
* https://rmgss.net/posts/nodo-chersky-LaOtraRed (nodo Chersky)