[Lugro-mesh] Red Graciasensefils, nuevo BMX e implementación de wifidog-auth

Agusti Moll agusti en biruji.org
Mar Ago 4 23:02:42 ART 2009


>> Hola,
>> Primero de todo, me presento: Me llamo Agustí Moll, vivo en Barcelona
>> [...]
> Nuevamente hola Agustí.
> Estaré mirando los links que pasaste.

Hola Sebastian,
> [...]
>>
>> Hemos tenido la suerte que desde el principio Axel (mantenedor y
>> [...]
> Muy importante esto que comentas. Nosotros estamos usando la versión del
> svn.

Si a nosotros por ejemplo la version de svn de open-mesh, cada X
tiempo hacia que el proceso de BMX cascara, ahora no recurdo que señal
llegaba, pero desde que integramos la ultima versión el sistema no ha
petado ni una vez.
Era curioso por que no cascaba un nodo solo (parecia que estaba en el
core de protocolo de bmx).

>> Si queréis podéis descargarla de aquí [3]. El protocolo en si es
>> [...]
> Bien. Nos pondremos a verla para saber si puede ser incluida en la próxima
> versión de nuestro firmware.

Yo os lo aconsejo, aunque también os digo que todavía, por lo que
dijo, habria algun cambio más. Mucho más integrado con el uci. (Si se
fijan, en esta versión hay un plugin de configuración con uci), en el
se puede hacer show_config y save_config (lee/crea un fichero
/etc/config/bmx) donde se almacena toda la informacion. En las
siguientes versiones ya no hay save_config, por que para grabar la
configuración lo haras con uci commit, y puedes ver las diferencias
con uci changes.

A parté vi en sus scripts que ya usan uci, por tanto el sistema serà
totalmente integrado.

con el fichero de configuracion de bmx, ya se puede arrancar bmx con
un simple bmx -d 3, también se puede arrancar con #BMX_DEBUG=3 bmx -d3
y aquí conseguimos mucha más información.

>
>> No quiero llenaros la lista con información que no es de vuestro
>> proyecto, si os interesa os lo cuento más calmadamente.
> Es interesante. Nos encantaría saber más de su implementación. Puedes
> hacerlo en este o otro hilo sin problemas.

Bueno nosotros, como comentaba estamos integrados en guifi.net, en
guifi se utiliza las 10.0.0.0/8 como direccionamiento de red, si para
cada interficie ( principalmente usuamos alix2c2) necessitabamos 4 ips
(dos ath, y dos eth) el numero de ips se multiplicaba, aquí lo
explicamos un poco mejor [1]. Así que cada nodo tiene una sola IP
assignada a la interficie lo (lo:bmx) y toda la mesh esta en el
direccionamiento 172.16.0.0/12 en modo ilustrativo éste nodo es esté
http://guifi.net/guifi/device/12117

root en 10_139_68_3:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet 10.139.68.3/32 brd 10.139.68.3 scope global lo:bmx
2: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN
    link/ipip 0.0.0.0 brd 0.0.0.0
3: wifi0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UNKNOWN qlen 195
    link/ieee802.11 00:02:6f:4a:32:97 brd ff:ff:ff:ff:ff:ff
4: wifi1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UNKNOWN qlen 195
    link/ieee802.11 00:02:6f:4a:32:bd brd ff:ff:ff:ff:ff:ff
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP qlen 1000
    link/ether 00:0d:b9:17:1e:34 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.3/14 brd 172.19.255.255 scope global eth0
    inet 192.168.101.125/24 brd 192.168.101.255 scope global eth0:gw
    inet 172.28.3.1/28 brd 172.28.3.15 scope global eth0:dh
    inet 172.20.0.3/14 brd 172.23.255.255 scope global eth0:bmx
    inet 172.24.0.3/14 brd 172.27.255.255 scope global eth0:bat
6: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
state DOWN qlen 1000
    link/ether 00:0d:b9:17:1e:35 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.3/14 brd 172.19.255.255 scope global eth1
    inet 172.21.0.3/14 brd 172.23.255.255 scope global eth1:bmx
    inet 172.25.0.3/14 brd 172.27.255.255 scope global eth1:bat
7: ath0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 00:02:6f:4a:32:97 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.3/14 brd 172.19.255.255 scope global ath0
    inet 172.22.0.3/14 brd 172.23.255.255 scope global ath0:bmx
    inet 172.26.0.3/14 brd 172.27.255.255 scope global ath0:bat
8: ath1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 00:02:6f:4a:32:bd brd ff:ff:ff:ff:ff:ff
    inet 172.19.0.3/14 brd 172.19.255.255 scope global ath1
    inet 172.29.3.1/28 brd 172.29.3.15 scope global ath1:dhc
    inet 172.23.0.3/14 brd 172.23.255.255 scope global ath1:bmx
    inet 172.27.0.3/14 brd 172.27.255.255 scope global ath1:bat
12: bat0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1471 qdisc
pfifo_fast state UNKNOWN qlen 500
    link/[65534]
    inet 169.254.128.0/32 scope global bat0
13: gate0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1471 qdisc
pfifo_fast state UNKNOWN qlen 500
    link/[65534]
    inet 169.254.0.0/32 scope global gate0

>>
>> Bueno, a lo que iba. Ahora queriamos integrar en el firm un portal
>> cautivo y en principio nos decantamos por nodogsplash [4], por que
>> [...]
>> No he probado ninguno más pero veo que vosotros utilizáis wifidog, ¿
>> que tal va ? ¿ como lo configurais ?
> Bueno, te comento que nosotros hemos tenido éxito en la implementación de
> wifidog y hemos hecho mejoras al wifidog-auth para que muestre la
> información del VIS. Puedes ver las mismas en: [1].

Lo probaré y les cuento... pero como todas las peticiones de internet
se hacen por el tunnel (bat0), aquí tuve los problemas en nodogslash.
Aunque ahora estoy de vacaciones y no tengo una buena conexion, no lo
podré probar hasta la ultima de agosto.

> Con respecto al control del ancho de banda, estamos trabajando en el
> desarrollo de un script que permita hacer traffic shaping tanto en la
> interfaces públicas como en las mesh.
> Puede ver en [2] lo que hemos hecho. Todavía está en desarrollo y estamos
> trabajando para poder incluirlo en la próxima versión

Esta muy bien :-) quizas lo incluamos en futuras versions del firm. :-)

>> PD: Uno de los plugins que lleva genera código JSON de bmxd -c d 8 así
>> [...]
> Ah, muy bueno, nosotros hemos hecho tomado la información directamente del
> vis y la hemos transformado a JSON.
> Tendremos que mirar lo que han realizado ustedes, tal vez podamos incorporar
> más datos al mapa. [3]

Otra parte del proyecto, que puede interesarles es el generador de
firms [2] un script que nos genera firms con las ultimas versions del
svn + descarga del openwrt.
./fw.sh -h
y veran la ayuda.

Por cierto cuando vuelva a bcn, probaré su firm que todavía no lo he probado :-)

Un saludo,

Agustí

[1] http://translate.google.com/translate?prev=hp&hl=ca&js=y&u=http%3A%2F%2Fwww.graciasensefils.net%2Fdoku.php%3Fid%3Ddesenvolupament%3Aadrecament_ip&sl=ca&tl=es&history_state0=
[2] https://rilat.guifi.net/svn/mesh-gracia/0.2/fw.sh


Más información sobre la lista de distribución Lugro-mesh