Jugando con BATMAN-ADV
Estas configuraciones se han probado sobre [1] y requieren que el router lo tenga instalado primero.
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.