12
contributi
(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 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]]). | |||
== 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 | |||
* Low cost infrastructure (60 - 200 each node) | |||
* Perfect integration with existent infrastructure | |||
* 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] | |||
* 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/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] | |||
* 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 [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) | |||
* 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 | |||
== 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]. | |||
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 == | |||
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 === | |||
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 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 [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 | |||
passwd | 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: | |||
è 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 | 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 | 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 | 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' | option 'bootmode' '1' | ||
e riavviata l'antenna con | |||
reboot && exit | reboot && exit | ||
Le opzioni più 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à 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. | |||
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è non ci siano collisioni con il nostro. | |||
== 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/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/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. | |||