R00thouse-mesh

De Hacklab La Paz - r00thouse

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)

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

r00thouse-mesh

El password: redlibre

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.

Como Aportar

Como puedo ayudar a extender el alcance de 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 instalar un sistema operativo libre como openwrt p 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

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:

Si quieres hacer enlace haz contacto con nostros te podemos ayudar.

Configurar un nodo

Si se quiere agregar un nodo a la red para extenderla, sólo se necesita un router con sistema operativo libre openwrt (podría también funcionar con librecmc queda probar esto]. Hay que realizar las siguientes configuraciones, todas estas configuraciones requieren acceso por ssh al router .

Instalar BATMAN adv

Es necesario tener instalado BATMAN por que es el protocolo de red mesh que usa.

Una vez el router tenga conexión a internet se puede instalar con los siguientes comandos:

opkg update
opkg install kmod-batman-adv

Nos hemos basado en esta guía http://wiki.openwrt.org/doc/howto/mesh.batman

/etc/config/network

hay que agregar lo siguiente a este archivo para tener tres interfaces de red.

config interface 'publan'
	option type 'bridge'
	option proto 'static'
	option ipaddr '10.0.0.6' #ip unica del router
	option netmask '255.255.0.0'
	option ifname 'eth1.2 bat0'
	

config interface 'lan'
	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'

publan

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)

TODO: poner una lista de IP estáticas no asignadas para los nodos.

lan (privada)

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

TODO: Estas configuraciones no se han terminado por lo que esta interfaz no funciona todavía.

mesh

Para hacer interfaz con una red ad-hoc mesh

/etc/config/wireless

Este es el contenido que debe tener el archivo

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                       
        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'

/etc/config/batman-adv

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'

/etc/config/dhcp

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:

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'

[1] list server '/lawiki.uta/10.0.0.11'

Agregar VLANS

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

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1' 

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0t 1 2'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option ports '0t 3 4'

Configurar automaticamente ejecutando script

Aqui se va a agregar un script para autoconfigurar un router para que funcione como nodo de la red.

Portal Cautivo

Referencias

[1] http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html (ver opcion --server)