Diferencia entre revisiones de «R00thouse-mesh»

De Hacklab La Paz - r00thouse
Sin resumen de edición
(Super reorganizacion)
Línea 1: Línea 1:
A esta configuración de redes la llamamos r00thouse-mesh y es la primera que tiene enlace con la Universidad Mayor de San Andres (UMSA carrera de informática)
Una red que funciona en wifi 2.4 y 5 GHz (la mayor parte de los estándares [https://en.wikipedia.org/wiki/IEEE_802.11 IEEE_802.11].
 
Si estas cerca al [http://hacklab.org.bo/spip.php?article4 #r00thouse] o en la [http://www.openstreetmap.org/?mlat=-16.50393&mlon=-68.12371#map=18/-16.50401/-68.12873 carrera de informatica de la UMSA], puedes conectarte libremente a la señal wifi.
<blockquote>
<blockquote>
Nombre: '''r00thouse-mesh'''
Nombre: '''r00thouse-mesh'''


Password: '''red-libre'''
Password: '''red-libre'''
</blockquote>
</blockquote>
= Servicios =


* Wikipedia castellano off-line
= Infraestructura de red =
* [[Ejabberd| chat xmpp]] (con llamadas de voz y videollamadas experimentales)
* Servidor ftp para descarga de archivos


== Pagina principal ==
Puede que necesites ver primero [[Red Mesh - Idea básica]].


Una vez te conectes a la red, en un navegador entra en '''mesh.uta''' o '''http://mesh.uta''' si lo ultimo no funciona, alli tambien hay contenido extra.
== Infraestructura proyectada ==


= Como Aportar  =
[[Archivo:R00thouse-mesh2.png]]


= Como puedo ayudar a extender el alcance de la red =
Planeamos manejar distintos niveles de '''nodos de conexión''' a la red.


Si quieres eyudar hacer esta red de libre y gratis acceso más grande, puedes usar un router al que se le pueda
=== Super Nodos ===
instalar un sistema operativo libre como [https://openwrt.org/ openwrt]  o [https://librecmc.org/ librecmc].
Revisa la sección configurar un nodo para ver como hacerlo, una vez tengas el router configurado sólo hace falta encenderlo y funcionará como nodo y así ampliarás el alcance de la red.


== IMPORTANTE ==
[[Archivo:Supernodo.png]]


Para extender la red el router que quieres agregar debe estar al alcance de otros nodos ya conectados o se debe hacer un enlace inalámbrico con algún nodo de la red. Se tienen nodos funcionales en:
La opción más interesante. Un supernodo consta de varias antenas (para extender el alcance a niveles superiores) y un enlace punto-a-punto con otro supernodo. Se caracteriza porposee gran capacidad de tráfico por lo que soporta gran cantidad de conexiones.


* r00thouse [http://www.openstreetmap.org/?mlat=-16.50393&mlon=-68.12371#map=18/-16.50393/-68.12371 ver mapa]
Puede servir como enlace troncal interconectando otros nodos de la red. Este tipo de nodo '''ayuda en gran medida a extender la red distribuida'''.
* Monoblock UMSA [http://www.openstreetmap.org/node/690820498 ver mapa]


Si quieres hacer enlace haz contacto con nostros te podemos ayudar.
El equipamiento para este tipo de nodos es grande lo que incluye:


= Configurar un nodo =
* Enrutadores de alto rendimiento (para 2.4 y 5 Ghz)
* Antenas de alto rendimiento (para 2.4 y 5 Ghz)
* Switchs ethernet de red de alto rendimiento
* Cableado de calidad


Si se quiere agregar un nodo a la red para extenderla, sólo se necesita un router con sistema operativo libre [https://openwrt.org/ openwrt] (podría también funcionar con [https://librecmc.org/ librecmc] queda probar esto].
'''Recomendado para:'''
Hay que realizar las siguientes configuraciones, todas estas configuraciones requieren '''acceso por ssh al router '''.
* Universidades
* Ayuntamientos
* Edificios grandes
* Como enlace entre zonas
* Personas que pueden conseguir una significativa cantidad de recursos para expandir la red distribuida


== Instalar BATMAN adv ==
>>> '''[[Configuraciones Super Nodo]]''' <<<


Es necesario tener instalado [http://www.open-mesh.org BATMAN] por que es el protocolo de red mesh que usa.
=== Nodos Mesh ===


Una vez el router tenga conexión a internet se puede instalar con los siguientes comandos:
[[Archivo:Nodo_mesh.png]]


opkg update
Son nodos que '''ayudan a extender la red distribuida''', su principal característica es que hacen conexión en modo ad-hoc con otros '''nodos-mesh''' o '''supernodos'''.
opkg install kmod-batman-adv


Nos hemos basado en esta guía http://wiki.openwrt.org/doc/howto/mesh.batman
Gracias a esta característica si ocurre una pérdida de conexión el nodo buscará una ruta alternativa con otros nodos para no perder la conexión. Además si un nodo adyacente pierde conexión el nodo-mesh prestará sus recursos para que otro nodo no pierda la conexión.


== /etc/config/network ==
Este tipo de nodos son de gran utilidad por que no sólo permiten una conexión distribuida y descentralizada, también es posible conectar una moderada cantidad de clientes en modo AP (donde el nodo mismo es el punto centralizador)


hay que agregar lo siguiente a este archivo para tener tres interfaces de red.
El equipamiento para este tipo de nodos incluye:


<source lang="bash">
* Enrutadores de 5Ghz
config interface 'publan'
* Antenas caseras o de rendimiento moderado
option type 'bridge'
* Enrutadores o Puntos de Acceso de 2.4 Ghz (opcional)
option proto 'static'
* Switch ethernet de bajo a alto rendimiento (opcional)
option ipaddr '10.0.0.6' #ip unica del router
option netmask '255.255.0.0'
option ifname 'eth1.2 bat0'


config interface 'lan'
'''Recomendado para:'''
option ifname 'eth1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
       
config interface 'mesh'               
        option ifname 'mesh0'
        option proto 'none'
        option mtu '1528'


</source>
* Escuelas
* Edificios pequeños
* Centros de reunión
* Calles
* Personas que desean ayudar a expandir la red distribuida.


=== publan ===
>>> '''[[Configuracions Nodo mesh]]''' <<<


La primera define una red pública que hace que los clientes que se conecten sean visibles en toda la red (una especie de red donde todas las IP son visibles por todos los que están conectados a la red). ''ipaddr'' es la dirección estática del nodo, única de cada nodo. (10.0.0.6 ya está asignado hay que usar otro no asignado)
=== Nodos Pequeños ===


'''TODO:''' poner una lista de IP estáticas no asignadas para los nodos.
Este tipo de nodos son "consumidores" y dada su simplicidad sólo se conectan a un nodo de nivel superior u otro nodo peuqeño en modo AP (modo infraestructura).


=== lan (privada) ===
No ayudan a extender el alcance de la red distribuida, sino sirven como punto centralizador y de tráfico extra. Este tipo de nodos se caracteriza también por '''sólo permitir la conexión con clientes''' que pueden ser cualquier dispositivo wifi (2.4 Ghz).


La segunda define una red "privada" donde los clientes conectados tienen las IP visibles sólo con los que estén conectados mediante esta interfaz
La configuración de este tipo de nodos es tan sencilla como conectarse a una red wifi y repartir esa señal a otros clientes ( ... colocar tutoriales externos ... )


'''TODO:''' Estas configuraciones no se han terminado por lo que esta interfaz no funciona todavía.
El equipamiento para este tipo de nodos incluye:


=== mesh ===
* Puntos de acceso o enrutadores de bajo rendimiento para 2.4Ghz


Para hacer interfaz con una red ad-hoc mesh
'''Recomendado para:'''


=== /etc/config/wireless ===
* Casas
* Departamentos de particulares
* Personas con muy bajo presupuesto que no pueden aportar a expandir la red


Este es el contenido que debe tener el archivo
== Infraestructura actual ==


<source lang="bash">
[[Archivo:R00thouse-mesh1.png]]
config wifi-device 'radio0'
option type 'mac80211'
option macaddr '64:66:b3:8b:cf:ca' # mac del router
option hwmode '11ng'
option htmode 'HT20'
list ht_capab 'LDPC'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'TX-STBC'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option txpower '27'
option country 'US'
option disabled '0'
option channel '4' # Es importante estar en el mismo canal
config wifi-iface
option device 'radio0'
option encryption 'none'
option network 'publan'
option mode 'ap'
option ssid 'r00thouse-mesh-6' # nombre de la zona wifi


config wifi-iface                     
= Servicios =
        option device 'radio0'         
        option encryption 'none'       
        option network 'lan'       
        option mode 'ap'               
        option ssid 'nodo-pri-6' # nombre de la zona wifi-pri
       
config wifi-iface
option device 'radio0'
option ifname 'mesh0'
option encryption 'none'
option network 'mesh'
option mode 'adhoc'
option bssid 'CA:FE:BA:BE:06:DF' # MAC comun para toda la red
option ssid 'r00thouse-mesh'


</source>
* Wikipedia castellano off-line
* [[Ejabberd| chat xmpp]] (con llamadas de voz y videollamadas experimentales)
* Servidor ftp para descarga de archivos


=== /etc/config/batman-adv ===
== Pagina principal ==
<source lang="bash">
config 'mesh' 'bat0'
option 'interfaces' 'mesh0'
option 'aggregated_ogms'
option 'ap_isolation'
option 'bonding'
option 'fragmentation'
option 'gw_bandwidth'
option 'gw_mode'
option 'gw_sel_class'
option 'log_level'
option 'orig_interval'
option 'vis_mode'
option 'bridge_loop_avoidance'
</source>


=== /etc/config/dhcp ===
Una vez te conectes a la red, en un navegador entra en '''mesh.uta''' o '''http://mesh.uta''' si lo ultimo no funciona, alli tambien hay contenido extra.


Como openwrt usa dnsmasq por defecto como dhcp y dns-cache hay que especificar que se va a utilizar otro servidor dns por defecto en la red la configuracion de dnsmasq en dhcp deberia lucir asi:
== IMPORTANTE ==


<source lang="bash">
Para extender la red el nodo que quieres agregar debe estar al alcance de otros nodos ya conectados o se debe hacer un enlace inalámbrico con algún nodo de la red. Se tienen nodos funcionales en:
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
# listando varios servidores dns adicionales
# se enviaran todas las busquedas de maquinas internas a este server dns
# enviara todas las busquedas  por *.lawiki.uta hacia 10.0.0.11
list server '/lawiki.uta/10.0.0.11'
# es necesaria la siguiente opcion
option rebind_protection '0'


* r00thouse [http://www.openstreetmap.org/?mlat=-16.50393&mlon=-68.12371#map=18/-16.50393/-68.12371 ver mapa]
* Monoblock UMSA [http://www.openstreetmap.org/node/690820498 ver mapa]


</source>
Si estas cerca al [http://hacklab.org.bo/spip.php?article4 #r00thouse] o en la [http://www.openstreetmap.org/?mlat=-16.50393&mlon=-68.12371#map=18/-16.50401/-68.12873 carrera de informatica de la UMSA], puedes conectarte libremente a la señal wifi.


[1] list server '/lawiki.uta/10.0.0.11'
= Configuraciones Funcionales =


=== Agregar VLANS ===
== Configuracion funcional basica (BATMAN-ADV) ==


Se pueden definir VLANS en el router editando el archivo ''/etc/config/network'' para por ejemplo asigar interfaces ethernet fijas a determinadas configuraciones de red
Es la primera configuración funcional que hicimos :).
<source lang="bash">
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'


config switch_vlan
[[Jugando con BATMAN-ADV]]
option device 'switch0'
option vlan '1'
option ports '0t 1 2'


config switch_vlan
== Configuracion (BABEL) ==
option device 'switch0'
option vlan '2'
option ports '0t 3 4'
</source>


=== Configurar automaticamente ejecutando script ===
Esta configuración no ha sido probada pero es un intento interesante para aprovechar este protocolo.


Aqui se va a agregar un script para autoconfigurar un router para que funcione como nodo de la red.
[[Jugando con Babel]]


== Portal Cautivo ==
== Portal Cautivo ==
Línea 218: Línea 128:


[1] http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html (ver opcion --server)
[1] http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html (ver opcion --server)
[2] http://wiki.laotrared.net/doku.php?id=unirse_a_la_red_mesh

Revisión del 20:25 22 oct 2015

Una red que funciona en wifi 2.4 y 5 GHz (la mayor parte de los estándares IEEE_802.11.

Nombre: r00thouse-mesh

Password: red-libre

Infraestructura de red

Puede que necesites ver primero Red Mesh - Idea básica.

Infraestructura proyectada

R00thouse-mesh2.png

Planeamos manejar distintos niveles de nodos de conexión a la red.

Super Nodos

Supernodo.png

La opción más interesante. Un supernodo consta de varias antenas (para extender el alcance a niveles superiores) y un enlace punto-a-punto con otro supernodo. Se caracteriza porposee gran capacidad de tráfico por lo que soporta gran cantidad de conexiones.

Puede servir como enlace troncal interconectando otros nodos de la red. Este tipo de nodo ayuda en gran medida a extender la red distribuida.

El equipamiento para este tipo de nodos es grande lo que incluye:

  • Enrutadores de alto rendimiento (para 2.4 y 5 Ghz)
  • Antenas de alto rendimiento (para 2.4 y 5 Ghz)
  • Switchs ethernet de red de alto rendimiento
  • Cableado de calidad

Recomendado para:

  • Universidades
  • Ayuntamientos
  • Edificios grandes
  • Como enlace entre zonas
  • Personas que pueden conseguir una significativa cantidad de recursos para expandir la red distribuida

>>> Configuraciones Super Nodo <<<

Nodos Mesh

Nodo mesh.png

Son nodos que ayudan a extender la red distribuida, su principal característica es que hacen conexión en modo ad-hoc con otros nodos-mesh o supernodos.

Gracias a esta característica si ocurre una pérdida de conexión el nodo buscará una ruta alternativa con otros nodos para no perder la conexión. Además si un nodo adyacente pierde conexión el nodo-mesh prestará sus recursos para que otro nodo no pierda la conexión.

Este tipo de nodos son de gran utilidad por que no sólo permiten una conexión distribuida y descentralizada, también es posible conectar una moderada cantidad de clientes en modo AP (donde el nodo mismo es el punto centralizador)

El equipamiento para este tipo de nodos incluye:

  • Enrutadores de 5Ghz
  • Antenas caseras o de rendimiento moderado
  • Enrutadores o Puntos de Acceso de 2.4 Ghz (opcional)
  • Switch ethernet de bajo a alto rendimiento (opcional)

Recomendado para:

  • Escuelas
  • Edificios pequeños
  • Centros de reunión
  • Calles
  • Personas que desean ayudar a expandir la red distribuida.

>>> Configuracions Nodo mesh <<<

Nodos Pequeños

Este tipo de nodos son "consumidores" y dada su simplicidad sólo se conectan a un nodo de nivel superior u otro nodo peuqeño en modo AP (modo infraestructura).

No ayudan a extender el alcance de la red distribuida, sino sirven como punto centralizador y de tráfico extra. Este tipo de nodos se caracteriza también por sólo permitir la conexión con clientes que pueden ser cualquier dispositivo wifi (2.4 Ghz).

La configuración de este tipo de nodos es tan sencilla como conectarse a una red wifi y repartir esa señal a otros clientes ( ... colocar tutoriales externos ... )

El equipamiento para este tipo de nodos incluye:

  • Puntos de acceso o enrutadores de bajo rendimiento para 2.4Ghz

Recomendado para:

  • Casas
  • Departamentos de particulares
  • Personas con muy bajo presupuesto que no pueden aportar a expandir la red

Infraestructura actual

R00thouse-mesh1.png

Servicios

  • Wikipedia castellano off-line
  • chat xmpp (con llamadas de voz y videollamadas experimentales)
  • Servidor ftp para descarga de archivos

Pagina principal

Una vez te conectes a la red, en un navegador entra en mesh.uta o http://mesh.uta si lo ultimo no funciona, alli tambien hay contenido extra.

IMPORTANTE

Para extender la red el nodo que quieres agregar debe estar al alcance de otros nodos ya conectados o se debe hacer un enlace inalámbrico con algún nodo de la red. Se tienen nodos funcionales en:

Si estas cerca al #r00thouse o en la carrera de informatica de la UMSA, puedes conectarte libremente a la señal wifi.

Configuraciones Funcionales

Configuracion funcional basica (BATMAN-ADV)

Es la primera configuración funcional que hicimos :).

Jugando con BATMAN-ADV

Configuracion (BABEL)

Esta configuración no ha sido probada pero es un intento interesante para aprovechar este protocolo.

Jugando con Babel

Portal Cautivo

Referencias

[1] http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html (ver opcion --server) [2] http://wiki.laotrared.net/doku.php?id=unirse_a_la_red_mesh