Antecedents

Version 3 (Ál Cano, 08/23/2013 10:39 am)

1 1 Nicolás Echániz
2 3 Ál Cano
{{>toc}}
3 3 Ál Cano
4 3 Ál Cano
h1. Libre-mesh antecedents
5 3 Ál Cano
6 1 Nicolás Echániz
h2. AlterMesh
7 1 Nicolás Echániz
8 1 Nicolás Echániz
AlterMesh was designed as a simple fully auto-configurable firmware for multi-radio nodes to enable the deployment of community networks in small towns that usually lack technically oriented people with specific networking skills. It's part of the MiniMaxi network model developed by AlterMundi. It uses batman-adv as dynamic routing protocol and takes advantages of the L2 cloud for easy public IPv6 provision.
9 1 Nicolás Echániz
10 3 Ál Cano
h3. Components
11 1 Nicolás Echániz
12 1 Nicolás Echániz
* "firmware":https://colectivo.altermundi.net/projects/altermesh-packages/repository:
13 1 Nicolás Echániz
** batman-adv-auto-gw-mode, gw_mode=master on Internet connected nodes
14 1 Nicolás Echániz
** batmesh-autoconf, batman mesh auto-config
15 1 Nicolás Echániz
** safe-reboot, config testing and revert on fail
16 1 Nicolás Echániz
** watchping, versatile ping watchdog
17 1 Nicolás Echániz
** altermesh-webgui, minimalistic web gui (work in progress)
18 1 Nicolás Echániz
* chef, firmware "cooker" http://chef.mesh.altermundi.net
19 1 Nicolás Echániz
* "altermap":https://colectivo.altermundi.net/projects/altermap, federated "network map":http://mapa.mesh.altermundi.net (CouchApp).
20 1 Nicolás Echániz
* "ruci":https://colectivo.altermundi.net/projects/ruci, remote config administration
21 1 Nicolás Echániz
* Librenet6 mesh tunnel broker
22 1 Nicolás Echániz
* dynamic global hostname resolution
23 1 Nicolás Echániz
24 1 Nicolás Echániz
25 1 Nicolás Echániz
h2. qMp
26 1 Nicolás Echániz
27 1 Nicolás Echániz
It is a firmware to easy and quick build a mesh network. It tries to be as generic as possible.
28 1 Nicolás Echániz
29 1 Nicolás Echániz
Two modes:
30 1 Nicolás Echániz
31 1 Nicolás Echániz
* Roaming: for quick deployments, for instance to cover a natural disaster
32 1 Nicolás Echániz
* Community: for network communities such as Guifi or NiNux
33 1 Nicolás Echániz
34 1 Nicolás Echániz
Each mode has its own needs. User can select his mode.
35 1 Nicolás Echániz
36 3 Ál Cano
h3. Key Features
37 1 Nicolás Echániz
38 1 Nicolás Echániz
* Complete LUCI-based web interface
39 1 Nicolás Echániz
** Wizard
40 1 Nicolás Echániz
** Configuration
41 1 Nicolás Echániz
** Tools for measure the network
42 1 Nicolás Echániz
** Tools to monitorize the network
43 1 Nicolás Echániz
* Native IPv6 (ULA if user does not configure public ipv6)
44 1 Nicolás Echániz
* IPv4 is tunneled over IPv6 backbone ( There is some MTU stuff to take in account ? )
45 1 Nicolás Echániz
* Use VLAN tags to isolate routing protocol
46 1 Nicolás Echániz
* Each interface can be configured in three modes:
47 1 Nicolás Echániz
** LAN
48 1 Nicolás Echániz
** WAN
49 1 Nicolás Echániz
** MESH
50 1 Nicolás Echániz
* Shell tools to manage and monitorize the system
51 1 Nicolás Echániz
** qmpcontrol
52 1 Nicolás Echániz
** qmpinfo
53 1 Nicolás Echániz
* Auto-upgrade system implemented
54 1 Nicolás Echániz
* Complete autoconfiguration system
55 1 Nicolás Echániz
* Map Tool based on OpenStreetMaps (b6m)
56 1 Nicolás Echániz
* Gateway checker (gwck) to auto-publish internet
57 1 Nicolás Echániz
* TINC VPN to manage the nodes in remote
58 1 Nicolás Echániz
* Structured as feed for OpenWRT (in packages)
59 1 Nicolás Echániz
* Splash screen support (configurable via web iface)
60 1 Nicolás Echániz
* Small chat using bmx6 sms plugin :-P
61 1 Nicolás Echániz
62 1 Nicolás Echániz
h3. Components
63 1 Nicolás Echániz
64 1 Nicolás Echániz
* qmp firmware
65 1 Nicolás Echániz
* qmpfw a powerful tool to build automaticaly the firmware from a shell
66 1 Nicolás Echániz
* synctincvpn cake-PHP web interface (for manage the network in remote)
67 1 Nicolás Echániz
* synctincvpn client (installed in the nodes)
68 1 Nicolás Echániz
* LUPI, a Lua API for OpenWRT
69 1 Nicolás Echániz
70 1 Nicolás Echániz
71 1 Nicolás Echániz
h2. eigenNet
72 1 Nicolás Echániz
73 2 Ál Cano
For eigenNet we have developed a set of tools, to help deploying the community network in the simplest way possible (just flash and plug).
74 1 Nicolás Echániz
75 1 Nicolás Echániz
h3. Key Features
76 1 Nicolás Echániz
77 1 Nicolás Echániz
Completely decentralized and human indipendent autoconfiguration, native client roaming in the same cloud, basic multicast support, L3 agnostic, (a lot of other things i don't remember now :| )
78 1 Nicolás Echániz
79 1 Nicolás Echániz
h3. Components
80 1 Nicolás Echániz
81 1 Nicolás Echániz
Nodes based on openwrt with batman-adv does just L2 things except for gateway checking
82 1 Nicolás Echániz
83 1 Nicolás Echániz
* eigennet-autoconf autoconfigure the nodes to make the mesh and/or make hotspot
84 1 Nicolás Echániz
* eigennet-bwtest Bandwidth Measurement Tool using nc yes and pv commands
85 1 Nicolás Echániz
* eigennet-bwtest-webui Bandwidth Measurement Tool Web Interface (need some refactoring to be luci compatible)
86 2 Ál Cano
* eigennet-firewall Layer 2 Firewall based on ebtables, provide common rules out of the box (like DHCP isolation)
87 2 Ál Cano
* eigennet-gw4server IPv4 Gateway Checker (i think this si the same as altermesh batman-adv-auto-gw-mode)
88 2 Ál Cano
* eigennet-httpinfo Export info via HTTP protocol (just some cgi script on uhttpd) (need some refactoring to be luci compatible)
89 1 Nicolás Echániz
* eigennet-pointing Antenna Pointing Tools
90 1 Nicolás Echániz
* eigennet-pointing-webui Antenna pointing tools Web Interface (need refactoring to be luci compatible)
91 1 Nicolás Echániz
* eigennet-reghack Regulatory domain unlocker
92 1 Nicolás Echániz
93 2 Ál Cano
Server (Border gateways and various services) based on gentoo
94 1 Nicolás Echániz
95 2 Ál Cano
* babeld as L3 routing (read routes directly from routing table, powerfull route filtering –announcing, forwarding and also receiving!–, near to 0 footprint on vpn/wired links)
96 1 Nicolás Echániz
* babeld-route-share a little daemon that check "static" routes validity and add/remove them from routing table
97 1 Nicolás Echániz
* Anycast DNS
98 2 Ál Cano
* Anycast ipv6 gateway (we are doing this only for ipv6 because in ipv4 we are natted so it would break some connection)