guias:configuracion_nodo_normal

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
guias:configuracion_nodo_normal [2016/11/20 23:14] strysgguias:configuracion_nodo_normal [2017/06/12 03:40] (actual) – se ha restaurado la vieja versión (2017/03/24 11:12) strysg
Línea 1: Línea 1:
 ====== Configuración de un nodo normal ====== ====== Configuración de un nodo normal ======
  
-Sabiendo lo [[redlibre:montar_un_nodo|que es un nodo en LaOtraRed]], y el caso específico de un [[redlibre:tipos_de_conexiones|nodo normal]] ahora se verán las configuraciones por defecto que se usan.+<WRAP center round important 60%> 
 +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) 
 +</WRAP> 
 + 
 +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)  Estas configuraciones son las que sigue el sistema de creación de firmware de LaOtraRed La Paz. (FIXME agregar referencia) 
Línea 17: Línea 22:
 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 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 anunciar.+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. 
 + 
 +<WRAP center round important 60%> 
 +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í]]. 
 +</WRAP>
  
 ===== /etc/config/network ===== ===== /etc/config/network =====
  
-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 es el contenido del archivo de configuración:+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:
  
 <code bash> <code bash>
Línea 30: Línea 41:
  option ipaddr '127.0.0.1'  option ipaddr '127.0.0.1'
  option netmask '255.0.0.0'  option netmask '255.0.0.0'
-## ajustes para ipv6 +## Interfaz mesh para 2.4Ghz 
-config globals 'globals' +config interface 'mesh24'
- option ula_prefix 'fd41:d711:fcf6::/48' +
-## Interfaz mesh +
-config interface 'mesh'+
  option proto 'static'  option proto 'static'
- option ifname 'wlan0'            # interfaz por defecto 
  option ipaddr '10.64.14.1'       # IP publica del router  option ipaddr '10.64.14.1'       # IP publica del router
  option netmask '255.255.255.192' # /26  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  ## Interfaz lan 
 config interface 'lan' config interface 'lan'
Línea 47: Línea 59:
  option type 'bridge'  option type 'bridge'
  option ifname 'eth0'             # interfaz cableada  option ifname 'eth0'             # interfaz cableada
- option ip6assign '60'+## interfaz wan y otras privadas en el router 
 +# ...
 </code> </code>
  
-En la configuración de arriba se ha definido dos interfaces, la** interfaz mesh** que mediante wifi se conectará otros nodos de la redy la **interfaz lan** usada para la red lan privada de cada nodo.+En la configuración de arriba se ha definido interfaces de red. ''mesh24'' se destinará conectar tráfico de la red distribuida en wifi de 2.4Gh ''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. 
 + 
 +<code bash> 
 +# 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 
 +# ... 
 +</code> 
 + 
 +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 ===== ===== /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'''
 +
 +<code bash>
 +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'
 +</code>
 +
 +===== /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:
 +
 +<code bash>
 +#...
 +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'
 +</code>
 +
 +<WRAP center round tip 70%>
 +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.
 +</WRAP>
 +
 +====== Ejemplos vivos ======
  
 +  * https://rmgss.net/posts/nodo-chersky-LaOtraRed (nodo Chersky)
  • guias/configuracion_nodo_normal.1479683690.txt.gz
  • Última modificación: 2016/11/20 23:14
  • por strysg