EigenNet: differenze tra le versioni

Da EigenWiki.
Vai alla navigazione Vai alla ricerca
(creata eigennet, primi àccèntì sbagliati)
 
Nessun oggetto della modifica
Riga 1: Riga 1:
==EigenNet==
==EigenNet==
 
EigenNet è una rete wireless mesh libera e decentralizzata di Pisa.  
una rete wireless mesh libera e decentralizzata di Pisa.  
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.  
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.  


Riga 19: Riga 18:
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 [http://retroshare.sourceforge.net 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 )  
* [http://en.wikipedia.org/wiki/Routing Routing] Scheme agnostic ( eigenNet is transparent for communication at layers upper 2 )  
* [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/wiki/batman-adv 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/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.  
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.  
== Come partecipare ==  
== Come partecipare ==  
Per entrare a far parte della rete bisogna innanzitutto aggiungere un segnaposto sul [http://pisa.eigenlab.org map server].  
Per entrare a far parte della rete bisogna innanzitutto aggiungere un segnaposto sul [http://pisa.eigenlab.org map server].  
=== Facendosi installare una antenna da noi ===  
=== Facendosi installare una antenna da noi ===  
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).
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). E'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 è 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.  
  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
=== Installandosi una antenna da soli ===  
  possibile entrare nella rete anche con un access point wireless gi
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).  
  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
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://eigenlab.org/~gioacchino/openwrt/trunkgelmi/ qui].  
  gratuito (siamo volontari) e il supporto tecnico
Altrimenti è necessario compilare il firmware seguendo le istruzioni reperibili [http://gitorious.org/eigennet/pages/Home qui] (conoscendo l'inglese ed avendo Linux).  
  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
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]]).  
  fortemente consigliato il posizionamento dell'antenna sul tetto, dunque
=== Senza antenna, tunnel VPN, solo per nerds ===  
  necessario poterci salire (siamo atletici ma non possiamo n
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]].  
  volare n
== Configurazione dell'antenna ==  
  andare contro il parere del condominio) ed
=== Connettersi all'antenna ===  
  necessario trovare il modo di alimentare l'antenna, basta un cavo sottile che parta dal sottotetto (se di propriet
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   
) 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 una antenna da soli ===  
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).  
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://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).  
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  
     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   
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  
     passwd  
Da qui in poi ci si potr
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.  
  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:  
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
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:  
  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 ==  
== Approfondimenti ==  
* [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/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.  
* [https://eigenlab.org/eigennet/cose-e-come-partecipare EigenNet] Pagina informativa su EigenNet, molto meno tecnica di questa.  
* [https://eigenlab.org/articoli-e-comunicati/approfondimenti/130-qpezzo-agcomq Articolo] di opinione sulla delibera AGCom del 2011.  
* [https://eigenlab.org/articoli-e-comunicati/approfondimenti/130-qpezzo-agcomq Articolo] di opinione sulla delibera AGCom del 2011.  
* [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.  
* [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.  
* [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à 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.
* [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
  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.

Versione delle 22:03, 19 ott 2012

EigenNet

EigenNet è una rete wireless mesh libera e decentralizzata di Pisa. 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 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 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.

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 approfondimenti.

Come partecipare? Ad esempio mettendo una antenna adatta a casa propria!

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 PicoStation2 (da esterni, omnidirezionali, circa 90 euro, per una casa vicina ad un altro nodo della nostra rete dovrebbe bastare una di queste), Ubiquiti NanoStation (da esterni, direzionali, dai 50 ai 90 euro, necessaria per collegare edifici lontani dal resto della rete) 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 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. 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 )
  • 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.

Come partecipare

Per entrare a far parte della rete bisogna innanzitutto aggiungere un segnaposto sul map server.

Facendosi installare una antenna da noi

Noi siamo ben disposti a montarvi una antenna che ampli 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 80-90 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 una 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) e PicoStation (circa 90 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 qui (conoscendo l'inglese ed avendo Linux). 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 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 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, solo per nerds

Se si è solo curiosi di sperimentare i servizi interni alla nostra rete senza ampliarla con una antenna è possibile collegarsi tramite una VPN (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 

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

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.

Approfondimenti