Differenze tra le versioni di "EigenNet"

Da EigenWiki.
Jump to navigation Jump to search
(creata eigennet, primi àccèntì sbagliati)
 
m (minor fixes)
 
(36 versioni intermedie di 10 utenti non mostrate)
Riga 1: Riga 1:
==EigenNet==
 
  
una rete wireless mesh libera e decentralizzata di Pisa.
+
[[File:EigenNet.png|right]]
In altri termini il progetto di una rete wireless diffusa su una buona parte del centro di Pisa tramite da Access Point dislocati in vari punti della città. Questi dispositivi devono formare tra di loro una vera e propria [http://pisa.ninux.org rete] in cui le intersezioni o "nodi" sono in comunicazione wireless o via cavo tra di loro. La rete connette tutti quelli che si connettono e li tratta alla pari, permettendo a tutti di accedere ai [[EigenNet#I_servizi_offerti|servizi offerti]] da tutti. I dati sulla rete corrono da un capo all'altro della rete [[EigenNet#Il_firmware_di_EigenNet|calcolando] il percorso migliore.
+
== eigenNet ==
  
Chiunque può connettersi alla nostra rete e chiunque può partecipare, anche indipendentemente da noi, al suo ampliamento, non ne vogliamo essere i padroni: infatti se tutti sono padroni di un pezzetto di rete allora nessuno avrà mai il potere per censurarla.  Se ti chiedi quali ragionamenti ci hanno spinto a far partire un progetto così impegnativo dai un'occhiata agli [[EigenNet#Approfondimenti|approfondimenti]].  
+
EigenNet è una rete wireless mesh libera e decentralizzata di Pisa.
 +
In altri termini si tratta di una rete wireless diffusa su una buona parte del centro di Pisa tramite antenne dislocate in vari punti della città. Questi dispositivi formano una vera e propria [http://pisa.ninux.org rete] in cui le intersezioni o "nodi" sono in comunicazione wireless o via cavo tra di loro. La rete unisce tutti quelli che si connettono e li tratta alla pari, permettendo a tutti di accedere ai [[EigenNet#I_servizi_offerti|servizi offerti]] da tutti. Oltre ad essere paritaria, la rete è anche ridondante, cioè ogni dispositivo si occupa anche di rilanciare il segnale della rete.
 +
 
 +
I dati sulla rete corrono da un nodo all'altro [[EigenNet#Il_firmware_di_EigenNet | calcolando]] il percorso migliore, secondo un complesso algoritmo di "routing".
 +
 
 +
Clicca [http://wiki.ninux.org/Presentazioni?action=AttachFile&do=view&target=eigenNet-presentazione-linuxday2012.pdf qui] per una vedere delle diapositive su eigenNet e [http://vimeo.com/52582719 qui] per vedere il video in cui Gioacchino Mazzurco espone le diapositive.
 +
 
 +
== Filosofia ==
 +
EigenNet è autogestita. Chiunque può connettersi alla nostra rete e chiunque può partecipare, indipendentemente da noi, al suo ampliamento.  Non ne vogliamo essere i padroni e per questo abbiamo costruito l'infrastruttura in modo decentralizzato.
 +
Infatti se tutti fossero padroni di un pezzetto di rete allora nessuno avrà mai il potere per censurarla.  Se ti chiedi quali ragionamenti ci hanno spinto a far partire un progetto così impegnativo dai un'occhiata agli [[EigenNet#Approfondimenti|approfondimenti]].  
  
[[EigenNet#Come_partecipare|Come partecipare?]] Ad esempio mettendo una antenna adatta a casa propria!
 
 
== Come funziona ==  
 
== Come funziona ==  
I nodi partecipano alla rete tutti in modo '''paritario''' e sono connessi fra loro solitamente tramite wireless ma dove possibile anche tramite link [[ethernet]]. Stiamo pensando anche ai primi link in fibra ottica. I nodi sono formati fisicamente da '''antenne poste sui tetti delle case pisane''' e l'hardware da noi usato si compone di [[PicoStation|Ubiquity PicoStation2]] (da esterni, omnidirezionali, circa 90 euro, per una casa vicina ad un altro nodo della nostra rete dovrebbe bastare una di queste), [http://www.ubnt.com/nanostation Ubiquiti NanoStation] (da esterni, direzionali, dai 50 ai 90 euro, necessaria per collegare edifici lontani dal resto della rete) e [[Fonera|Fonere]] (da interni, omnidirezionali, poche decine di euro) ma possiamo acquistare o riutilizzare una ampia gamma di antenne in caso di necessità specifiche. Su queste antenne viene installata una [[EigenNet#Il_firmware_di_EigenNet|versione modificata]] di [https://openwrt.org OpenWRT], pronta per essere usata con EigenNet.  
+
I nodi partecipano alla rete tutti in modo '''paritario''' e sono connessi fra loro solitamente tramite wireless ma dove possibile anche tramite link [[ethernet]]. Stiamo pensando anche ai primi link in fibra ottica. I nodi sono formati fisicamente da '''antenne poste sui tetti delle case pisane''' e l'hardware da noi usato si compone di [[PicoStation|Ubiquity PicoStation M2 HP]] (da esterni, omnidirezionali, circa [http://www.wifistore.it/index.php/ubiquiti-picostation-m2-hp.html 70] euro, per una casa vicina ad un altro nodo della nostra rete dovrebbe bastare una di queste), [http://www.ubnt.com/downloads/datasheets/nanostationm/nsm_ds_web.pdf Ubiquiti NanoStation M5] (da esterni, settoriali, da [http://www.wifistore.it/index.php/ubiquiti-nanostation-locom5-5ghz.html 50] a [http://www.wifistore.it/index.php/ubiquiti-nanostationm5-5ghz-16dbi.html 65] euro, necessaria per collegare edifici lontani pochi km dal resto della rete), [http://www.ubnt.com/downloads/datasheets/airgridm/agmhp_datasheet_web.pdf Ubiquiti AirGrid M5 HP] (da esterni, direzionali, da [http://www.wifistore.it/index.php/ubiquiti-airgrid-m5-23-hp.html 47] a [http://www.wifistore.it/index.php/ubiquiti-airgrid-m5-27-hp.html 54] euro, collegamenti a lunghezze di parecchi km) e [[Fonera|Fonere]] (da interni, omnidirezionali, poche decine di euro) ma possiamo acquistare o riutilizzare una ampia gamma di antenne in caso di necessità specifiche. Su queste antenne viene installata una [[EigenNet#Il_firmware_di_EigenNet|versione modificata]] di [https://openwrt.org OpenWRT], pronta per essere usata con EigenNet.
 +
 
 +
Se vuoi sapere subito come puoi partecipare vai alla sezione [[#Come partecipare]].
  
Se vuoi sapere subito come puoi partecipare vai alla sezione [[#Come partecipare]].
 
 
==Status - Mappa di EigenNet==  
 
==Status - Mappa di EigenNet==  
 
Al momento EigenNet è ancora in fase sperimentale, ma sta crescendo.  
 
Al momento EigenNet è ancora in fase sperimentale, ma sta crescendo.  
La struttura della rete osservabile tramite il [http://pisa.ninux.org map server] messo a disposizione dagli amici di [http://ninux.org Ninux] (per capire il map server: segnaposto arancioni = nodi potenziali, verde = solo per struttura della rete, blu = anche possibilità di connessione).  
+
La struttura della rete osservabile tramite il [http://pisa.ninux.org map server] messo a disposizione dagli amici di [http://ninux.org Ninux] (per capire il map server:  
 +
*segnaposto arancioni = nodi potenziali,  
 +
*verde = solo per struttura della rete,  
 +
*blu = anche possibilità di connessione).  
 
==I servizi offerti==  
 
==I servizi offerti==  
Avere internet gratis è solo uno dei tanti vantaggi che si acquista facendo parte di EigenNet, e non lo riteniamo il più importante, per quanto nonostante abbattere il digital divide sia una missione nobile.
+
Avere la possibilità di condividere internet è solo uno dei tanti vantaggi che si ha facendo parte di EigenNet, e non lo riteniamo il più importante, per quanto nonostante abbattere il digital divide sia una missione nobile.
 
Rimandiamo agli approfondimenti chi vuole sapere perchè abbiamo creato EigenNet.  
 
Rimandiamo agli approfondimenti chi vuole sapere perchè abbiamo creato EigenNet.  
 
EigenNet è concepita per dare servizi e contenere siti, non solo per dare accesso ad Internet. Chiunque può connettersi ad EigenNet e offrire, ad esempio, un nuovo sito senza esser censurato.  
 
EigenNet è concepita per dare servizi e contenere siti, non solo per dare accesso ad Internet. Chiunque può connettersi ad EigenNet e offrire, ad esempio, un nuovo sito senza esser censurato.  
 
Alcuni esempi di questi servizi sono:  
 
Alcuni esempi di questi servizi sono:  
* poter usare l'ipv6 ossia poter sopravvivere alla [http://it.wikipedia.org/wiki/Saturazione_di_IPv4 fine degli ipv4];  
+
* poter usare l'ipv6 ossia poter sopravvivere alla [http://it.wikipedia.org/wiki/Saturazione_di_IPv4 fine degli ipv4];  
* poter gestire liberamente su un proprio pc un sito o qualsiasi servizio che sarà accessibile dall'interno della rete (sfruttando l'alta velocità di trasferimento dati della nostra rete ed una bassa latenza: da 1 a 5 millisecondi per ogni antenna che i dati devono passare) ma anche dall'esterno da chi ha già un ipv6;  
+
* poter gestire liberamente su un proprio pc un sito o qualsiasi servizio che sarà accessibile dall'interno della rete (sfruttando l'alta velocità di trasferimento dati della nostra rete ed una bassa latenza: da 1 a 5 millisecondi per ogni antenna che i dati devono passare) ma anche dall'esterno da chi ha già un ipv6;  
* libero scambio di ogni tipo di dato (per avere la massima sicurezza nello scambio di file consigliamo l'uso del software [http://retroshare.sourceforge.net RetroShare] che utilizza la cifratura con [[PGP]]).  
+
* libero scambio di ogni tipo di dato (per avere la massima sicurezza nello scambio di file consigliamo l'uso del software [[RetroShare]] che utilizza la cifratura con [[PGP]]).  
 
== Features ==  
 
== Features ==  
 
Dettagli tecnici sulle features al momento implementate sulla nostra rete: EigenNet Mobile Ad Hoc Network  
 
Dettagli tecnici sulle features al momento implementate sulla nostra rete: EigenNet Mobile Ad Hoc Network  
* Native auto-configuration  
+
* Native auto-configuration  
* Low cost infrastructure (100 - 200  
+
* Low cost infrastructure (60 - 200 each node)  
  each node)  
+
* Perfect integration with existent infrastructure  
* Perfect integration with existent infrastructure  
+
* Can create [http://en.wikipedia.org/wiki/IEEE_802.1Q multiple separated] native layer 2 network on same mesh   
* Can create [http://en.wikipedia.org/wiki/IEEE_802.1Q multiple separated] native layer 2 network on same mesh   
+
* [http://en.wikipedia.org/wiki/Scalability Highly Scalable] [3]  
* [http://en.wikipedia.org/wiki/Scalability Highly Scalable] [3]  
+
* Native [http://en.wikipedia.org/wiki/Mobile_ad_hoc_network Mobility] and [http://en.wikipedia.org/wiki/Wireless_LAN#Roaming client Roaming] support  
* Native [http://en.wikipedia.org/wiki/Mobile_ad_hoc_network Mobility] and [http://en.wikipedia.org/wiki/Wireless_LAN#Roaming client Roaming] support  
+
* [http://en.wikipedia.org/wiki/OSI_model Layer 3] agnostic ( EigenNet doesn't need to regard about ipv6 ipv4 etc etc, EigenNet is transparent for communication at layers upper 2 )  
* [http://en.wikipedia.org/wiki/OSI_model Layer 3] agnostic ( EigenNet doesn't need to regard about ipv6 ipv4 etc etc, EigenNet is transparent for communication at layers upper 2 )  
+
* Routing Scheme agnostic ( eigenNet is transparent for communication at layers upper 2 ).See also [[Routing EigenNet]].
* [http://en.wikipedia.org/wiki/Routing Routing] Scheme agnostic ( eigenNet is transparent for communication at layers upper 2 )  
+
* Routing managed at level 2 by [http://www.open-mesh.org/projects/batman-adv/wiki B.A.T.M.A.N. Advanced] and at level 3 by [http://www.pps.jussieu.fr/~jch/software/babel/ Babeld]  
* Routing managed at level 2 by [http://www.open-mesh.org/wiki/batman-adv B.A.T.M.A.N. Advanced] and at level 3 by [http://www.pps.jussieu.fr/~jch/software/babel/ Babeld]  
+
* No need of centralized or external control  
* No need of centralized or external control  
+
* Distributed network (no one possess the entire network, no one is responsible of all network)  
* Distributed network (no one possess the entire network, no one is responsible of all network)  
+
* Due to his distributed nature no cost/licenses/fees related to the use of open spectrum  
* Due to his distributed nature no cost/licenses/fees related to the use of open spectrum  
+
* High [http://en.wikipedia.org/wiki/Resilience_(network) resilience] due the [http://en.wikipedia.org/wiki/Wireless_mesh_networks mesh] nature  
* High [http://en.wikipedia.org/wiki/Resilience_(network) resilience] due the [http://en.wikipedia.org/wiki/Wireless_mesh_networks mesh] nature  
+
* Used frequencies are 2.4GHz (802.11g, mostly) and 5GHz (802.11a)  
* Used frequencies are 2.4GHz (802.11g, mostly) and 5GHz (802.11a)  
+
* We have a /48 subnet of IPv6  
* We have a /48 subnet of IPv6  
+
* No cost for software licenses/fees everything used is released under [http://en.wikipedia.org/wiki/GNU_General_Public_License GPL] or less restrictive Licenses
* No cost for software licenses/fees everything used is released under [http://en.wikipedia.org/wiki/GNU_General_Public_License GPL] or less restrictive Licenses  
+
 
== Il firmware di EigenNet ==  
+
== Il firmware di EigenNet ==  
Il firmware è il sistema operativo che viene flashato nelle antenne, noi siamo partiti dall'ottimo [http://openwrt.org OpenWRT] per realizzare il [http://gitorious.org/eigennet nostro firmware].  
+
Il firmware è il sistema operativo che viene flashato nelle antenne, noi siamo partiti dall'ottimo [http://openwrt.org OpenWRT] per realizzare il [http://gitorious.org/eigennet nostro firmware].  
In particolare implementa un modulo nel kernel linux, [http://www.open-mesh.org/wiki/batman-adv Batman adv], che serve per gestire il routing tra le antenne (ossia che percorso far fare ai dati) ed ha la peculiarità di lavorare a Layer 2.  
+
In particolare implementa un modulo nel kernel linux, [http://www.open-mesh.org/projects/batman-adv/wiki Batman adv], che serve per gestire il routing tra le antenne (ossia che percorso far fare ai dati) ed ha la peculiarità di lavorare a Layer 2.  
Il firmware eigenNet con il suo modulo eigennet-autoconf, si occupa di far sì che i dispositivi possano immediatamente entrare a far parte della nostra rete configurandoli automaticamente.  
+
Il firmware eigenNet con il suo modulo eigennet-autoconf, si occupa di far sì che i dispositivi possano immediatamente entrare a far parte della nostra rete configurandoli automaticamente. Ulteriori informazioni sull'auto-configurazione si trovano [[Firmware_eigenNet|qui]] e [http://wiki.ninux.org/ScriptAutoConfig qui].
== Come partecipare ==  
+
 
Per entrare a far parte della rete bisogna innanzitutto aggiungere un segnaposto sul [http://pisa.eigenlab.org map server].
+
== Come partecipare ==  
=== Facendosi installare una antenna da noi ===
+
Per entrare a far parte della rete bisogna innanzitutto aggiungere un segnaposto sul [http://pisa.eigenlab.org map server] ed è caldamente consigliata l'iscrizione alla apposita mailing list locale: [http://ml.ninux.org/mailman/listinfo/nodi-pisa mailing list eigenNet] ed a quella nazionale: [http://ml.ninux.org/mailman/listinfo/wireless mailing list Ninux].
Noi siamo ben disposti a montarvi una antenna che ampli EigenNet, prima di tutto [https://eigenlab.org/contatti contattateci], possibilmente fatevi conoscere di persona passando al [[casottino]] altrimenti possiamo direttamente venire da voi per un sopralluogo (se dal [http://pisa.ninux.org mapserver] sembra possibile fare il collegamento).
+
=== Chiedendo aiuto alla comunità ===
  richiesto il pagamento dell'attrezzatura necessaria al montaggio fisico del nodo e dei componenti (indicativamente: sugli 80-90 euro di antenna Ubiquity [[PicoStation]] o NanoStation, qualche decina di euro per cavo di rete FTP cat5 e per il corrugato). Chiaramente
+
Noi siamo ben disposti ad aiutarvi a montare una antenna che estenda eigenNet, prima di tutto [https://eigenlab.org/contatti contattateci], possibilmente fatevi conoscere di persona passando al [[Mappa Laboratorio | casottino]] altrimenti possiamo direttamente venire da voi per un sopralluogo (se dal [http://pisa.ninux.org mapserver] sembra possibile fare il collegamento). E' richiesto il pagamento dell'attrezzatura necessaria al montaggio fisico del nodo e dei componenti (indicativamente: sugli 70-80 euro di antenna Ubiquity [[PicoStation]] o NanoStation, qualche decina di euro per cavo di rete FTP cat5 e per il corrugato). Chiaramente è possibile entrare nella rete anche con un access point wireless già in vostro possesso, controllate che sia [http://wiki.openwrt.org/toh/start compatibile con OpenWrt] e che abbia almeno 4 MB di memoria Flash. Il servizio è gratuito (siamo volontari) e il supporto tecnico è offerto da eigenLab ( ma coerentemente con la nostra filosofia di AutoFormazione vi incoraggiamo a sperimentare e a cercar di risolvere i problemi che potrebbero sorgere, anche se solitamente si risolvono staccando e riattaccando la presa di corrente dell'antenna ). Da non dimenticare che fortemente consigliato il posizionamento dell'antenna sul tetto, dunque è necessario poterci salire ( siamo atletici ma non possiamo volare andare contro il parere del condominio) ed è necessario trovare il modo di alimentare l'antenna, basta un cavo sottile che parta dal sottotetto (se di proprietà) o da casa vostra, nel sopralluogo studieremo le possibilità, nel caso peggiore potremo posizionare l'antenna fuori da una finestra o in altri luoghi più convenienti.
  possibile entrare nella rete anche con un access point wireless gi
+
 
  in vostro possesso, controllate che sia [http://wiki.openwrt.org/toh/start compatibile con OpenWrt] e che abbia almeno 4 MB di memoria Flash. Il servizio
+
=== Installandosi un'antenna da soli ===  
  gratuito (siamo volontari) e il supporto tecnico
+
Una volta segnalata la propria posizione sul [http://pisa.ninux.org mapserver] bisogna trovare/acquistare un access point [http://wiki.openwrt.org/toh/start compatibile con OpenWRT] ed almeno 4 MB di memoria Flash (non di quella RAM). Abbiamo scritto alcune istruzioni per l'hardware che usiamo solitamente: [[Fonera]] (poche decine di euro, da interni), [[PicoStation]] (circa [http://www.wifistore.it/index.php/ubiquiti-picostation-m2-hp.html 70] euro, da esterni) e NanoStation (da [http://www.wifistore.it/index.php/ubiquiti-nanostation-locom5-5ghz.html 50] a [http://www.wifistore.it/index.php/ubiquiti-nanostationm5-5ghz-16dbi.html 65] euro, da esterni).  
  offerto da eigenLab (ma coerentemente con la nostra filosofia di AutoFormazione vi incoraggiamo a sperimentare e a cercar di risolvere i problemi che potrebbero sorgere, anche se solitamente si risolvono staccando e riattaccando la presa di corrente dell'antenna). Da non dimenticare che
+
Dunque c'è da individuare quale "target" è adatto ad essere installato sulla nostra antenna (informazione spesso recuperabile sempre nella tabella dell'hardware compatibile con OpenWRT). Se il target è atheros o ar71xx le immagini già compilate possono esser trovate [http://efesto.eigenlab.org/~gioacchino/openwrt/pisaAttitude/ar71xx/ qui].
  fortemente consigliato il posizionamento dell'antenna sul tetto, dunque
+
Altrimenti è necessario compilare il firmware seguendo le istruzioni reperibili [[Flashing]] (conoscendo l'inglese ed avendo Linux) e [http://wiki.ninux.org/FirmwareEigenNet qui].
  necessario poterci salire (siamo atletici ma non possiamo n
+
La compilazione può durare delle ore, dipende dalla macchina su cui si compila. Per l'installazione del firmware (ossia il flashing) ottenuto si può far riferimento alle istruzioni valide per l'installazione di OpenWRT sul proprio access point.Dopo aver completato la [[#Configurazione dell'antenna]] questa sarà da fissare sul tetto di casa (ma solo se l'antenna è da esterni) e dovrà essere alimentata. Nel caso delle [[PicoStation]] è possibile posizionare nel sottotetto o dentro casa vostra il [http://it.wikipedia.org/wiki/Power_over_Ethernet POE] collegato alla 220V da cui parte un cavo di rete che porta 12V fino all'antenna all'esterno. Per diminuire i problemi elettrici che possono rovinare l'antenna sul tetto è preferibile utilizzare un cavo schermato FTP per collegare il POE all'antenna in modo da avere anche la messa a terra. Per maggiori dettagli: [[Montaggio nodi]]. Infine [https://eigenlab.org/contatti inviateci] i dati necessari a compilare la scheda del vostro nodo sul [http://pisa.ninux.org mapserver] (dovrebbe essere sufficiente l'output del comando ''ip address show'' che potete lanciare alla fine della [[#Configurazione_dell'antenna|configurazione]]).
  volare n
+
 
  andare contro il parere del condominio) ed
+
=== Senza antenna, tunnel VPN ===  
  necessario trovare il modo di alimentare l'antenna, basta un cavo sottile che parta dal sottotetto (se di propriet
+
Se si è curiosi di sperimentare i servizi interni alla nostra rete ma non si ha la possibilità di raggiungerla fisicamente è possibile collegarsi tramite una [[VPN | VPN]] ([http://it.wikipedia.org/wiki/Virtual_Private_Network VPN su Wikipedia]) ad uno dei nostri server. Ecco le istruzioni per connettersi alla nostra [[VPN ]].  
) o da casa vostra, nel sopralluogo studieremo le possibilit
+
== Configurazione dell'antenna ==  
, nel caso peggiore potremo posizionare l'antenna fuori da una finestra o in altri luoghi pi
+
=== Connettersi all'antenna ===  
  convenienti.  
+
Una volta installato il firmware ci si può connettere all'antenna via cavo ethernet in ipv6, per scoprire l'ip dell'antenna date
=== Installandosi una antenna da soli ===  
+
ping6 ff02::1%(interfaccia usata per la connessione)
Una volta segnalata la propria posizione sul [http://pisa.ninux.org mapserver] bisogna trovare/acquistare un access point [http://wiki.openwrt.org/toh/start compatibile con OpenWRT] ed almeno 4 MB di memoria Flash (non di quella RAM). Abbiamo scritto alcune istruzioni per l'hardware che usiamo solitamente: [[Fonera]] (poche decine di euro, da interni) e [[PicoStation]] (circa 90 euro, da esterni).  
+
ie
Dunque c'
+
  ping6 ff02::1%eth0
  da individuare quale "target" 
+
Per pingare in broadcast e, guardando il mac address dell'antenna, potete trovare l'antenna
  adatto ad essere installato sulla nostra antenna (informazione spesso recuperabile sempre nella tabella dell'hardware compatibile con OpenWRT).  
+
 
Se il target 
+
Per connettersi all'antenna bisogna possedere la chiave dei nodi (se avete compilato l'immagine con firmware branch pisa) col comando
  atheros o ar71xx le immagini gi
+
ssh -i [patch della chiave dei nodi] root@[ipv6 dell'antenna]%[interfaccia usata per la connessione]
  compilate possono esser trovate [http://eigenlab.org/~gioacchino/openwrt/trunkgelmi/ qui].  
+
 
Altrimenti 
+
 
  necessario compilare il firmware seguendo le istruzioni reperibili [http://gitorious.org/eigennet/pages/Home qui] (conoscendo l'inglese ed avendo Linux).  
+
Ecco come ricavare l'ipv6 della propria antenna dal mac address:  
La compilazione pu
 
  durare delle ore.  
 
Per l'installazione del firmware (ossia il flashing) ottenuto si pu
 
  far riferimento alle istruzioni valide per l'installazione di OpenWRT sul proprio access point.  
 
Dopo aver completato la [[#Configurazione dell'antenna]] questa sar
 
  da fissare sul tetto di casa (ma solo se l'antenna 
 
  da esterni) e dovr
 
  essere alimentata. Nel caso delle [[PicoStation]]
 
  possibile posizionare nel sottotetto o dentro casa vostra il [http://it.wikipedia.org/wiki/Power_over_Ethernet POE] collegato alla 220V da cui parte un cavo di rete che porta 12V fino all'antenna all'esterno. Per diminuire i problemi elettrici che possono rovinare l'antenna sul tetto
 
  preferibile utilizzare un cavo schermato FTP per collegare il POE all'antenna in modo da avere anche la messa a terra.  
 
Per maggiori dettagli: [[Montaggio delle antenne]].  
 
Infine [https://eigenlab.org/contatti inviateci] i dati necessari a compilare la scheda del vostro nodo sul [http://pisa.ninux.org mapserver] (dovrebbe essere sufficiente l'output del comando ''ip address show'' che potete lanciare alla fine della [[#Configurazione_dell'antenna|configurazione]]).  
 
=== Senza antenna, tunnel VPN, solo per nerds ===  
 
Se si
 
  solo curiosi di sperimentare i servizi interni alla nostra rete senza ampliarla con una antenna 
 
  possibile collegarsi tramite una [[TincVPN | VPN]] ([http://it.wikipedia.org/wiki/Virtual_Private_Network VPN su Wikipedia]) ad uno dei nostri server. Ecco le istruzioni [[TincVPN]].  
 
== Configurazione dell'antenna ==  
 
=== Connettersi all'antenna ===  
 
Una volta installato il firmware ci si pu
 
  connettere all'antenna via cavo ethernet impostando al proprio pc un ip fisso che inizi con 192.168.1 (ad esempio 192.168.1.10), dunque da terminale lanciare il comando  
 
    telnet 192.168.1.21
 
dovrebbe comparire la schermata di benvenuto di OpenWRT. A quel punto si possono dare comandi all'antenna, come prima cosa impostare una password per i prossimi accessi usando il comando 
 
    passwd
 
Da qui in poi ci si potr
 
  connettere con ssh root@192.168.1.21 (ma tutte le antenne hanno lo stesso indirizzo ipv4) oppure con l'indirizzo ipv6 dell'antenna.
 
Ecco come ricavare l'ipv6 della propria antenna dal mac address:  
 
 
     iwlist scan |grep -B 5 -i eigen  
 
     iwlist scan |grep -B 5 -i eigen  
la stringa dopo Address
+
la stringa dopo Address è il mac address dell'antenna. Come esempio prendiamo 1a:2b:3c:4d:5e:6f.  
  il mac address dell'antenna. Come esempio prendiamo 1a:2b:3c:4d:5e:6f.  
+
Dopo aver tolto dal mac address metà dei due punti c'è da aggiungere il prefisso 2001:1418:1a9:eeab: così da avere qualcosa tipo 2001:1418:1a9:eeab:1a2b:3c4d:5e6f. Ora ci si potrà connettere con:  
Dopo aver tolto dal mac address met
 
  dei due punti c'  
 
  da aggiungere il prefisso 2001:470:ca42:ee:ab: cos
 
  da avere qualcosa tipo 2001:470:ca42:ee:ab:1a2b:3c4d:5e6f. Ora ci si potr
 
  connettere con:  
 
 
     ssh root@2001:470:ca42:ee:ab:1a2b:3c4d:5e6f  
 
     ssh root@2001:470:ca42:ee:ab:1a2b:3c4d:5e6f  
una volta connessi all'antenna
+
una volta connessi all'antenna è possibile, tra le altre cose, verificare quali altre antenne riesce a raggiungere direttamente o passando da altre antenne e con quale qualità usando il comando:  
  possibile, tra le altre cose, verificare quali altre antenne riesce a raggiungere direttamente o passando da altre antenne e con quale qualit
 
  usando il comando:  
 
 
     batctl o  
 
     batctl o  
=== I file di configurazione ===  
+
=== I file di configurazione ===  
Il file di configurazione principale del nostro firmware pu
+
Il file di configurazione principale del nostro firmware può esser modificato (una volta entrati nell'antenna usando ssh) con:  
  esser modificato (una volta entrati nell'antenna usando ssh) con:  
 
 
     vi /etc/config/eigennet  
 
     vi /etc/config/eigennet  
premere "i" per iniziare le modifiche, premere "alt + :" e poi "wq" invio per salvare e chiudere il file.  
+
premere "i" per iniziare le modifiche, premere "alt + :" e poi "wq" invio per salvare e chiudere il file.  
Per applicare ogni modifica, sempre nel file di configurazione va impostata   
+
Per applicare ogni modifica, sempre nel file di configurazione va impostata   
 
     option 'bootmode' '1'  
 
     option 'bootmode' '1'  
e riavviata l'antenna con  
+
e riavviata l'antenna con  
 
     reboot && exit  
 
     reboot && exit  
Le opzioni pi
+
Le opzioni più interessanti che si possono modificare sono:  
  interessanti che si possono modificare sono:  
 
 
     option 'wifi_clients' 'true'  
 
     option 'wifi_clients' 'true'  
che permette di connettersi alla antenna via wireless e fa annunciare una rete accessibile di nome "eigenNet" (scrivendo false l'antenna funzioner
+
che permette di connettersi alla antenna via wireless e fa annunciare una rete accessibile di nome "eigenNet" (scrivendo false l'antenna funzionerà solo da collegamento tra più punti della rete ed annuncerà solo una rete non accessibile di nome "www.eigenlab.org-www.ninux.org").   
  solo da collegamento tra pi
 
  punti della rete ed annuncer
 
  solo una rete non accessibile di nome "www.eigenlab.org-www.ninux.org").   
 
 
     option 'apSSID' 'eigenNet'  
 
     option 'apSSID' 'eigenNet'  
  il nome della rete accessibile.  
+
il nome della rete accessibile.  
 
     list 'resolvers' '2001:470:ca42:ee:ab::1000 8.8.8.8'  
 
     list 'resolvers' '2001:470:ca42:ee:ab::1000 8.8.8.8'  
  l'elenco dei DNS, siete lberi di usarne di diversi, ad esempio un vostro DNS, purch
+
è l'elenco dei DNS, siete lberi di usarne di diversi, ad esempio un vostro DNS, purchè non ci siano collisioni con il nostro.
  non ci siano collisioni con il nostro.  
+
 
== Approfondimenti ==  
+
Altre informazioni possono essere reperite [[Firmware_eigenNet|qui]] e [http://wiki.ninux.org/ScriptAutoConfig qui].
* [https://eigenlab.org/articoli-e-comunicati/approfondimenti/102-eigennet-la-nuova-frontiera-delle-reti La nuova frontiera delle reti] Articolo con le motivazioni che ci hanno spinto a creare EigenNet.  
+
 
* [https://eigenlab.org/eigennet/cose-e-come-partecipare EigenNet] Pagina informativa su EigenNet, molto meno tecnica di questa.  
+
== Approfondimenti ==  
* [https://eigenlab.org/articoli-e-comunicati/approfondimenti/130-qpezzo-agcomq Articolo] di opinione sulla delibera AGCom del 2011.  
+
* [http://eigenlab.org/2012/11/eigennet-la-nuova-frontiera-delle-reti/ La nuova frontiera delle reti] Articolo con le motivazioni che ci hanno spinto a creare EigenNet.  
* [https://eigenlab.org/articoli-e-comunicati/approfondimenti/145-la-prima-guerra-mondiale-del-web-spunti-per-una-discussione-sulla-rete-come-bene-comune La prima guerra mondiale del Web - Spunti per una discussione sulla rete come bene comune] Spunti di riflessione sui tentativi di censura.  
+
* [http://eigenlab.org/eigennet/partecipa/ EigenNet] Pagina informativa su EigenNet, molto meno tecnica di questa.  
* [https://eigenlab.org/articoli-e-comunicati/approfondimenti/149-prospettive-di-liberta-in-rete-appunti-per-la-costruzione-di-una-rete-libera-da-controllo-e-censura Prospettive di libert
+
* [http://eigenlab.org/2012/11/legge-ammazzablog-verso-una-rete-senza-liberta/ Articolo] di opinione sulla delibera AGCom del 2011. [http://eigenlab.org/2013/12/riflessioni-sul-nuovo-regolamento-in-materia-di-tutela-del-diritto-dautore/ Qui] un aggiornamento.
  in rete: appunti per la costruzione di una rete libera da controllo e censura] Sulla storia dei tentativi (e successi) di censura e controllo di internet.
+
* [http://eigenlab.org/2012/11/la-prima-guerra-mondiale-del-web-spunti-per-una-discussione-sulla-rete-come-bene-comune/ La prima guerra mondiale del web] Spunti di riflessione sui tentativi di censura.  
 +
* [http://eigenlab.org/2012/11/prospettive-di-liberta-in-rete-appunti-per-la-costruzione-di-una-rete-libera-da-controllo-e-censura/ Prospettive di libertà in rete: appunti per la costruzione di una rete libera da controllo e censura] Sulla storia dei tentativi (e successi) di censura e controllo di internet.
 +
 
 +
== Voci correlate ==
 +
* [[BitArno]]
 +
* [[Ethernet]]
 +
* [[Flashing]]
 +
* [[Firmware eigenNet]]
 +
* [[Glossario]]
 +
* [[HowToRete]]
 +
* [[HowToBatman]]
 +
* [[Lista dei server di eigenNet]]
 +
* [[Owncloud]]
 +
* [[PicoStation]]
 +
* [[RetroShare]]
 +
* [[Routing Babeld]]
 +
* [[Trashware]]
 +
 
 +
[[Categoria:eigenNet]]

Versione attuale delle 03:42, 9 lug 2018

EigenNet.png

eigenNet

EigenNet è una rete wireless mesh libera e decentralizzata di Pisa. In altri termini si tratta di una rete wireless diffusa su una buona parte del centro di Pisa tramite antenne dislocate in vari punti della città. Questi dispositivi formano una vera e propria rete in cui le intersezioni o "nodi" sono in comunicazione wireless o via cavo tra di loro. La rete unisce tutti quelli che si connettono e li tratta alla pari, permettendo a tutti di accedere ai servizi offerti da tutti. Oltre ad essere paritaria, la rete è anche ridondante, cioè ogni dispositivo si occupa anche di rilanciare il segnale della rete.

I dati sulla rete corrono da un nodo all'altro calcolando il percorso migliore, secondo un complesso algoritmo di "routing".

Clicca qui per una vedere delle diapositive su eigenNet e qui per vedere il video in cui Gioacchino Mazzurco espone le diapositive.

Filosofia

EigenNet è autogestita. Chiunque può connettersi alla nostra rete e chiunque può partecipare, indipendentemente da noi, al suo ampliamento. Non ne vogliamo essere i padroni e per questo abbiamo costruito l'infrastruttura in modo decentralizzato. Infatti se tutti fossero padroni di un pezzetto di rete allora nessuno avrà mai il potere per censurarla. Se ti chiedi quali ragionamenti ci hanno spinto a far partire un progetto così impegnativo dai un'occhiata agli approfondimenti.

Come funziona

I nodi partecipano alla rete tutti in modo paritario e sono connessi fra loro solitamente tramite wireless ma dove possibile anche tramite link ethernet. Stiamo pensando anche ai primi link in fibra ottica. I nodi sono formati fisicamente da antenne poste sui tetti delle case pisane e l'hardware da noi usato si compone di Ubiquity PicoStation M2 HP (da esterni, omnidirezionali, circa 70 euro, per una casa vicina ad un altro nodo della nostra rete dovrebbe bastare una di queste), Ubiquiti NanoStation M5 (da esterni, settoriali, da 50 a 65 euro, necessaria per collegare edifici lontani pochi km dal resto della rete), Ubiquiti AirGrid M5 HP (da esterni, direzionali, da 47 a 54 euro, collegamenti a lunghezze di parecchi km) e Fonere (da interni, omnidirezionali, poche decine di euro) ma possiamo acquistare o riutilizzare una ampia gamma di antenne in caso di necessità specifiche. Su queste antenne viene installata una versione modificata di OpenWRT, pronta per essere usata con EigenNet.

Se vuoi sapere subito come puoi partecipare vai alla sezione #Come partecipare.

Status - Mappa di EigenNet

Al momento EigenNet è ancora in fase sperimentale, ma sta crescendo. La struttura della rete osservabile tramite il map server messo a disposizione dagli amici di Ninux (per capire il map server:

  • segnaposto arancioni = nodi potenziali,
  • verde = solo per struttura della rete,
  • blu = anche possibilità di connessione).

I servizi offerti

Avere la possibilità di condividere internet è solo uno dei tanti vantaggi che si ha facendo parte di EigenNet, e non lo riteniamo il più importante, per quanto nonostante abbattere il digital divide sia una missione nobile. Rimandiamo agli approfondimenti chi vuole sapere perchè abbiamo creato EigenNet. EigenNet è concepita per dare servizi e contenere siti, non solo per dare accesso ad Internet. Chiunque può connettersi ad EigenNet e offrire, ad esempio, un nuovo sito senza esser censurato. Alcuni esempi di questi servizi sono:

  • poter usare l'ipv6 ossia poter sopravvivere alla fine degli ipv4;
  • poter gestire liberamente su un proprio pc un sito o qualsiasi servizio che sarà accessibile dall'interno della rete (sfruttando l'alta velocità di trasferimento dati della nostra rete ed una bassa latenza: da 1 a 5 millisecondi per ogni antenna che i dati devono passare) ma anche dall'esterno da chi ha già un ipv6;
  • libero scambio di ogni tipo di dato (per avere la massima sicurezza nello scambio di file consigliamo l'uso del software RetroShare che utilizza la cifratura con PGP).

Features

Dettagli tecnici sulle features al momento implementate sulla nostra rete: EigenNet Mobile Ad Hoc Network

  • Native auto-configuration
  • Low cost infrastructure (60 - 200 each node)
  • Perfect integration with existent infrastructure
  • Can create multiple separated native layer 2 network on same mesh
  • Highly Scalable [3]
  • Native Mobility and client Roaming support
  • Layer 3 agnostic ( EigenNet doesn't need to regard about ipv6 ipv4 etc etc, EigenNet is transparent for communication at layers upper 2 )
  • Routing Scheme agnostic ( eigenNet is transparent for communication at layers upper 2 ).See also Routing EigenNet.
  • Routing managed at level 2 by B.A.T.M.A.N. Advanced and at level 3 by Babeld
  • No need of centralized or external control
  • Distributed network (no one possess the entire network, no one is responsible of all network)
  • Due to his distributed nature no cost/licenses/fees related to the use of open spectrum
  • High resilience due the mesh nature
  • Used frequencies are 2.4GHz (802.11g, mostly) and 5GHz (802.11a)
  • We have a /48 subnet of IPv6
  • No cost for software licenses/fees everything used is released under GPL or less restrictive Licenses

Il firmware di EigenNet

Il firmware è il sistema operativo che viene flashato nelle antenne, noi siamo partiti dall'ottimo OpenWRT per realizzare il nostro firmware. In particolare implementa un modulo nel kernel linux, Batman adv, che serve per gestire il routing tra le antenne (ossia che percorso far fare ai dati) ed ha la peculiarità di lavorare a Layer 2. Il firmware eigenNet con il suo modulo eigennet-autoconf, si occupa di far sì che i dispositivi possano immediatamente entrare a far parte della nostra rete configurandoli automaticamente. Ulteriori informazioni sull'auto-configurazione si trovano qui e qui.

Come partecipare

Per entrare a far parte della rete bisogna innanzitutto aggiungere un segnaposto sul map server ed è caldamente consigliata l'iscrizione alla apposita mailing list locale: mailing list eigenNet ed a quella nazionale: mailing list Ninux.

Chiedendo aiuto alla comunità

Noi siamo ben disposti ad aiutarvi a montare una antenna che estenda eigenNet, prima di tutto contattateci, possibilmente fatevi conoscere di persona passando al casottino altrimenti possiamo direttamente venire da voi per un sopralluogo (se dal mapserver sembra possibile fare il collegamento). E' richiesto il pagamento dell'attrezzatura necessaria al montaggio fisico del nodo e dei componenti (indicativamente: sugli 70-80 euro di antenna Ubiquity PicoStation o NanoStation, qualche decina di euro per cavo di rete FTP cat5 e per il corrugato). Chiaramente è possibile entrare nella rete anche con un access point wireless già in vostro possesso, controllate che sia compatibile con OpenWrt e che abbia almeno 4 MB di memoria Flash. Il servizio è gratuito (siamo volontari) e il supporto tecnico è offerto da eigenLab ( ma coerentemente con la nostra filosofia di AutoFormazione vi incoraggiamo a sperimentare e a cercar di risolvere i problemi che potrebbero sorgere, anche se solitamente si risolvono staccando e riattaccando la presa di corrente dell'antenna ). Da non dimenticare che fortemente consigliato il posizionamento dell'antenna sul tetto, dunque è necessario poterci salire ( siamo atletici ma non possiamo nè volare nè andare contro il parere del condominio) ed è necessario trovare il modo di alimentare l'antenna, basta un cavo sottile che parta dal sottotetto (se di proprietà) o da casa vostra, nel sopralluogo studieremo le possibilità, nel caso peggiore potremo posizionare l'antenna fuori da una finestra o in altri luoghi più convenienti.

Installandosi un'antenna da soli

Una volta segnalata la propria posizione sul mapserver bisogna trovare/acquistare un access point compatibile con OpenWRT ed almeno 4 MB di memoria Flash (non di quella RAM). Abbiamo scritto alcune istruzioni per l'hardware che usiamo solitamente: Fonera (poche decine di euro, da interni), PicoStation (circa 70 euro, da esterni) e NanoStation (da 50 a 65 euro, da esterni). Dunque c'è da individuare quale "target" è adatto ad essere installato sulla nostra antenna (informazione spesso recuperabile sempre nella tabella dell'hardware compatibile con OpenWRT). Se il target è atheros o ar71xx le immagini già compilate possono esser trovate qui. Altrimenti è necessario compilare il firmware seguendo le istruzioni reperibili Flashing (conoscendo l'inglese ed avendo Linux) e qui. La compilazione può durare delle ore, dipende dalla macchina su cui si compila. Per l'installazione del firmware (ossia il flashing) ottenuto si può far riferimento alle istruzioni valide per l'installazione di OpenWRT sul proprio access point.Dopo aver completato la #Configurazione dell'antenna questa sarà da fissare sul tetto di casa (ma solo se l'antenna è da esterni) e dovrà essere alimentata. Nel caso delle PicoStation è possibile posizionare nel sottotetto o dentro casa vostra il POE collegato alla 220V da cui parte un cavo di rete che porta 12V fino all'antenna all'esterno. Per diminuire i problemi elettrici che possono rovinare l'antenna sul tetto è preferibile utilizzare un cavo schermato FTP per collegare il POE all'antenna in modo da avere anche la messa a terra. Per maggiori dettagli: Montaggio nodi. Infine inviateci i dati necessari a compilare la scheda del vostro nodo sul mapserver (dovrebbe essere sufficiente l'output del comando ip address show che potete lanciare alla fine della configurazione).

Senza antenna, tunnel VPN

Se si è curiosi di sperimentare i servizi interni alla nostra rete ma non si ha la possibilità di raggiungerla fisicamente è possibile collegarsi tramite una VPN (VPN su Wikipedia) ad uno dei nostri server. Ecco le istruzioni per connettersi alla nostra VPN .

Configurazione dell'antenna

Connettersi all'antenna

Una volta installato il firmware ci si può connettere all'antenna via cavo ethernet in ipv6, per scoprire l'ip dell'antenna date

ping6 ff02::1%(interfaccia usata per la connessione)

ie

ping6 ff02::1%eth0

Per pingare in broadcast e, guardando il mac address dell'antenna, potete trovare l'antenna

Per connettersi all'antenna bisogna possedere la chiave dei nodi (se avete compilato l'immagine con firmware branch pisa) col comando

ssh -i [patch della chiave dei nodi] root@[ipv6 dell'antenna]%[interfaccia usata per la connessione]


Ecco come ricavare l'ipv6 della propria antenna dal mac address:

    iwlist scan |grep -B 5 -i eigen 

la stringa dopo Address è il mac address dell'antenna. Come esempio prendiamo 1a:2b:3c:4d:5e:6f. Dopo aver tolto dal mac address metà dei due punti c'è da aggiungere il prefisso 2001:1418:1a9:eeab: così da avere qualcosa tipo 2001:1418:1a9:eeab:1a2b:3c4d:5e6f. Ora ci si potrà connettere con:

    ssh root@2001:470:ca42:ee:ab:1a2b:3c4d:5e6f 

una volta connessi all'antenna è possibile, tra le altre cose, verificare quali altre antenne riesce a raggiungere direttamente o passando da altre antenne e con quale qualità usando il comando:

    batctl o 

I file di configurazione

Il file di configurazione principale del nostro firmware può esser modificato (una volta entrati nell'antenna usando ssh) con:

    vi /etc/config/eigennet 

premere "i" per iniziare le modifiche, premere "alt + :" e poi "wq" invio per salvare e chiudere il file. Per applicare ogni modifica, sempre nel file di configurazione va impostata

    option 'bootmode' '1' 

e riavviata l'antenna con

    reboot && exit 

Le opzioni più interessanti che si possono modificare sono:

    option 'wifi_clients' 'true' 

che permette di connettersi alla antenna via wireless e fa annunciare una rete accessibile di nome "eigenNet" (scrivendo false l'antenna funzionerà solo da collegamento tra più punti della rete ed annuncerà solo una rete non accessibile di nome "www.eigenlab.org-www.ninux.org").

    option 'apSSID' 'eigenNet' 

il nome della rete accessibile.

    list 'resolvers' '2001:470:ca42:ee:ab::1000 8.8.8.8' 

è l'elenco dei DNS, siete lberi di usarne di diversi, ad esempio un vostro DNS, purchè non ci siano collisioni con il nostro.

Altre informazioni possono essere reperite qui e qui.

Approfondimenti

Voci correlate