Italiano English
Modifica History Actions

Differenze per "ScriptAutoConfig"

Differenze tra le versioni 1 e 17 (in 16 versioni)
Versione 1 del 2012-09-07 20:44:56
Dimensione: 1901
Autore: Arka
Commento: Inizio Pagina "ScriptAutoConfig"
Versione 17 del 2014-05-19 19:28:16
Dimensione: 9062
Autore: BornAgain
Commento: corretta parola che punta a pagina inesistente
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
Per agevolare la creazione di isole mesh a Pisa i ragazzi di EigenLab hanno già da tempo Per agevolare la creazione di isole mesh a Pisa i ragazzi di [[https://eigenlab.org|eigenLab]] hanno già da tempo
Linea 5: Linea 5:
in maniera molto veloce i device che creano la rete EigenNet. in maniera molto veloce i device che creano la rete [[http://eigenlab.org/eigennet/cose-e-come-partecipare|EigenNet]] ([[https://wiki.eigenlab.org|wiki]] e [[http://eigenlab.org/articoli-e-comunicati/approfondimenti/102-eigennet-la-nuova-frontiera-delle-reti|manifesto]]).
Linea 13: Linea 13:
Nel REAMDE sono presenti le istruzioni per l'integrazine nel builder di OpenWrt. Nel README sono presenti le istruzioni per l'integrazione nel builder di OpenWrt.
Linea 17: Linea 17:
Una volta compilato il firmware posiiamo flashare il device (io uso Ap51Flash per comodità) Una volta compilato il firmware possiamo flashare il device (io uso !Ap51Flash per comodità)
Linea 23: Linea 23:
Linea 28: Linea 27:
mettiamo il bootmode ad 1 per applicare, al riavvio, le modifiche settiamo il '''bootmode''' a '''1''' per attivare, al riavvio, la configurazione che stiamo impostando
Linea 31: Linea 30:
        option debugLevel '0'
        option bootmode '0'
 option debugLevel '0'
 option bootmode '0'
Linea 35: Linea 34:
modifichiamo i seguenti parametri a seconda delle nostre specifiche impostiamo i valori relativi agli indirizzi v4 e v6 che abbiamo annunciato sulla wiki
{{{
 option ip6addr_mesh '2001:4c00:893b:1:cab::1/128'
 option ip4addr_mesh '172.16.0.1'
 option netmask_mesh '255.255.0.0'
 option ip6addr_lan '2001:4c00:893b:cab::1/64'
 option ip4addr_lan '192.168.1.21'
 option netmask_lan '255.255.255.0'
 option gw_lan '0'
 option ip6_gw_lan '2001:4c00:893b:cab::10'
 option ip4_gw_lan '192.168.1.1'
 option dhcp_enable '1'
 option dhcp_lan_init '10'
 option hostName 'nome_device'
 option wan_set '0'
 option ip4_wan '0.0.0.0'
 option wan_mask '0.0.0.0'
 list resolvers '8.8.8.8 2001:4860:4860::8888'
}}}
Linea 37: Linea 54:
attivare olsrd e configurarla se il nodo è/sarà integrato in rete nel caso abbiamo più di un device nel nostro nodo è bene che tra loro parlino olsrd, attiviamo l'opzione '''supernode'''
{{{
config section 'olsrd'
 option enable '0'
 option supernode '0'
 option gw_enable '0'
}}}
Linea 39: Linea 62:
personalizzare la configurazione di mini_snmp con il nome del nodo modifichiamo i parametri del servizio snmp editando ''almeno'' la '''location'''
{{{
config section 'snmp'
 option enable '1'
 option contact 'contatti@ninux.org'
 option location 'node_name'
}}}
Linea 41: Linea 70:
configurare le interfacce wireless a seconda della modalità d'uso settiamo '''wifi_mesh''' su '''1''' se vogliamo attivare l'interfaccia wireless per mettere il device in rete e poterlo collegare ad altri,
scegliamo la ''modalità'' del collegamento wireless con l'opzione '''mesh_mode''' inserendo il modo '''adhoc''' o '''ap''' o '''sta'''

{{{
config section 'wireless'
 option wifi_mesh '1'
 option mesh_mode 'adhoc'
 option countrycode 'US'
 option wifi_channel '11'
 option meshSSID 'mesh.ninux.org'
 option meshBSSID '02:aa:bb:cc:dd:00'
 option meshMcastRate '6000'
 option station_mac '00:00:00:00:00:00'
 option ap_staSSID 'ninux.org'
 option ap_enable '0'
 option apSSID 'ap.ninux.org'
 option apKEY 'none'
 option apMaxClients '25'
 option tx_power '10'
}}}

se vogliamo che il router possa fungere da hotspot, abilitiamolo in questa sezione modificando a dovere le opzioni qui sotto
{{{
config section 'hotspot'
 option hs_enable '0'
 option hsMaxClients '50'
 option hsSSID 'www.ninux.org'
 option ip4addr_hs '192.168.10.1'
 option netmask_hs '255.255.255.0'
}}}

questo è da implementare e serve per il check della connettività personale, qualora ci fosse
{{{
config section 'gw4server' # TODO
 option enabled '0'
 option strictCheck '0'
 option checkInterval '10s'
 option bandwidth '2000/512'
 list checkHosts '8.8.8.8'
 list checkHosts '8.8.4.4'
}}}

queste opzioni, abilitate di default, ci consentono di visualizzare tramite interfaccia web una semplice pagina informativa dove potremo anche effettuare il test di capienza del link
{{{
config section 'httpinfo'
 option enabled '1'

config section 'pointing'
 option enabled '1'

config section 'bwtestclient'
 option enabled '1'

config section 'bwtestserver'
 option enabled '1'
}}}

Nel caso si disponga di una ''chiave ssh'' personale, la possiamo inserire qui di seguito
{{{
config section 'sshserver'
 option enabled '1'
 option passwdAuth '1'
 option sshAuthorizedKeys ''
}}}

per salvare tutto il nostro lavoro digitiamo ''':wq'''
se pensiamo di aver fatto cavolate, no proble, ''':q!''' e possiamo ricominciare da capo
Linea 44: Linea 139:
{{{
reboot && exit
}}}
è consigliato lasciare il terminale in ping su 192.168.1.21
dopo un paio di riavvii si noterà una sequenza di ping
terminata la sequenza staccare il device dalla corrente per 10 secondi e riattaccarlo
ora il device è pronto per far crescere un altro puntino verde ;)
Linea 45: Linea 147:
reboot && exit === Si ... ma COSA FA? ===
Linea 47: Linea 149:
il device si riavvierà due volte dopodiché sarà pronto per far crescere un altro puntino verde ;) Questo script parte all'avvio del device e genera in sequenza i file predisposti alla intera configurazione del router.
In particolare va a creare/modificare i file presenti in /etc/config che risulteranno comunque editabili a seconda della opzione scelta in /etc/config/eigennet

{{{
config section 'general'
 option debugLevel '0'
 option bootmode '0'
}}}

Con il ''bootmode'' a '''0''' si comanda il primo avvio dello script, viene usato generalmente solo la prima volta ed in completo automatismo.
Ad '''1''' si comanda la scrittura dei cambiamenti inseriti nel file /etc/config/eigennet, mentre si porterà autonomamente a '''2''' per dare conferma dell'avvenuta applicazione dei cambiamenti, è possibile settare un numero maggiore di 2 per ricordarsi che quella impostata è una configurazione personalizzata.

Riguardo l'assegnazione degli indirizzi possiamo controllare sia il dhcp che radvd tramite

{{{
option dhcp_enable '1'
}}}

che sono attivi di default per assegnare indirizzi IPv4 (dhcp) e IPv6 (radvd) all'interno della propria lan.

Questo script è abbastanza flessibile da poter decidere molteplici configurazioni quindi è possibile utilizzarlo sia sulle ''antenne'' sia sui router ''casalinghi'' (device che comunque supportino OpenWrt) e possiamo avere le seguenti realtà:

 * Router base
 * Router base + Access Point
 * Router base + Access Point + OLSRd on LAN (es: router casalingo + nodo sul tetto)
 * Router base + [[http://it.wikipedia.org/wiki/Hotspot_(WLAN)|!HotSpot]] (tipo AP ma con splashpage di presentazine vedi [[http://wiki.openwrt.org/doc/howto/wireless.hotspot.nodogsplash|Nodogsplah]])
 * Router base + HS + OLSRd on LAN (es: HS + nodo sul tetto)
 * Router base + HS + AP
 * Router base + HS + AP + OLSRd on LAN (es: router casalingo + HS + nodo sul tetto)
 * Router base + HS + AP + Mesh
 * Router base + HS + AP + Mesh + OLSRd on LAN
 * Router base + Mesh
 * Router base + Mesh + HS
 * Router base + Mesh + HS + OLSRd on LAN
 * Router base + Mesh + AP
 * Router base + Mesh + AP + OLSRd on LAN

In modalità ''mesh'' OLSRd risulterà già attivo sulla sola interfaccia wireless dedicata alla mesh, per attivare OLSRd anche sulla LAN occorrerà abilitare anche le opzioni ''enable'' e ''supernode''.

Abbiamo inoltre la possibilità di selezionare la modalità di collegamento wireless tra i device, ovvero se volessimo creare una mesh pura (fortemente consigliata in ambienti come piccole comunità, quartieri, zone ad alta densità di router wifi e comunque in tutte le situazioni dove si vogliano instaurare molti link in modalità omnidirezionale) allora nell'opzione ''mesh_mode'' inseriamo il parametro ''adhoc''.
Per tutti quei collegamenti definibili punto-punto, e cioè dove si utilizza un device, definito master, in !AccessPoint ed uno, definito slave, in SationMode, selezioniamo sul device master la modalità 'ap' e sullo slave la modalità 'sta' avendo cura di inserire, su quest'ultimo, il mac address dell'access point master nell'opzione ''station_mac''

La modalità HotSpot fa partire il [[http://it.wikipedia.org/wiki/Captive_portal|captive portal]] personalizzato preconfigurato per consentire una connessione pulita da eventuale traffico ''poco consono'' da parte degli utenti, è comunque possibile modificare i parametri di configurazione editando il file ''/etc/nodogsplash/nodogsplash.conf''

Nella modalità Access Point il router si comporterà come un semplice router casalingo con interfaccia wifi.

Se volessimo modificare, aggiungere, togliere plugin dalla configurazione di OLSRd basta editare i file olsrd4 per l'istanza di OLSRd IPv4 ed olsrd6 per l'istanza di OLSRd in IPv6 che sono sono presenti nella cartella /etc/config/


<<ev1(DA COMPLETARE)>>##

Script AutoConfig

Per agevolare la creazione di isole mesh a Pisa i ragazzi di eigenLab hanno già da tempo adottato uno script, da inserire in fase di compilazione del firmware, per configurare in maniera molto veloce i device che creano la rete EigenNet (wiki e manifesto). Lavorandoci sopra ho cercato di adattare lo script alle esigenze di compatibilità con altre realtà come Roma che, invece di utilizzare batman, utilizza olsrd come protocollo di routing. O più semplicemente per poter avere una scelta più ampia ;)

Dove recuperarlo

Lo script è ospitato all'indirizzo https://gitorious.org/eigennet/packages nel branch 'roma'. Nel README sono presenti le istruzioni per l'integrazione nel builder di OpenWrt.

Cosa devo sapere

Una volta compilato il firmware possiamo flashare il device (io uso Ap51Flash per comodità) lo stesso risponderà all'indirizzo 192.168.1.21 dove entreremo in telnet (solo il primo accesso) per settare la password di root o la key personale tramite il file di configurazione.

Configurazione

Prima di configurare il device è molto importante annunciare gli indirizzi scelti nell'apposita pagina di GestioneIndirizzi

vi etc/config/eigennet

settiamo il bootmode a 1 per attivare, al riavvio, la configurazione che stiamo impostando

config section 'general'
        option debugLevel '0'
        option bootmode '0'

impostiamo i valori relativi agli indirizzi v4 e v6 che abbiamo annunciato sulla wiki

        option ip6addr_mesh '2001:4c00:893b:1:cab::1/128'
        option ip4addr_mesh '172.16.0.1'
        option netmask_mesh '255.255.0.0'
        option ip6addr_lan '2001:4c00:893b:cab::1/64'
        option ip4addr_lan '192.168.1.21'
        option netmask_lan '255.255.255.0'
        option gw_lan '0'
        option ip6_gw_lan '2001:4c00:893b:cab::10'
        option ip4_gw_lan '192.168.1.1'
        option dhcp_enable '1'
        option dhcp_lan_init '10'
        option hostName 'nome_device'
        option wan_set '0'
        option ip4_wan '0.0.0.0'
        option wan_mask '0.0.0.0'
        list resolvers '8.8.8.8 2001:4860:4860::8888'

nel caso abbiamo più di un device nel nostro nodo è bene che tra loro parlino olsrd, attiviamo l'opzione supernode

config section 'olsrd'
        option enable '0'
        option supernode '0'
        option gw_enable '0'

modifichiamo i parametri del servizio snmp editando almeno la location

config section 'snmp'
        option enable '1'
        option contact 'contatti@ninux.org'
        option location 'node_name'

settiamo wifi_mesh su 1 se vogliamo attivare l'interfaccia wireless per mettere il device in rete e poterlo collegare ad altri, scegliamo la modalità del collegamento wireless con l'opzione mesh_mode inserendo il modo adhoc o ap o sta

config section 'wireless'
        option wifi_mesh '1'
        option mesh_mode 'adhoc'
        option countrycode 'US'
        option wifi_channel '11'
        option meshSSID 'mesh.ninux.org'
        option meshBSSID '02:aa:bb:cc:dd:00'
        option meshMcastRate '6000'
        option station_mac '00:00:00:00:00:00'
        option ap_staSSID 'ninux.org'
        option ap_enable '0'
        option apSSID 'ap.ninux.org'
        option apKEY 'none'
        option apMaxClients '25'
        option tx_power '10'

se vogliamo che il router possa fungere da hotspot, abilitiamolo in questa sezione modificando a dovere le opzioni qui sotto

config section 'hotspot'
        option hs_enable '0'
        option hsMaxClients '50'
        option hsSSID 'www.ninux.org'
        option ip4addr_hs '192.168.10.1'
        option netmask_hs '255.255.255.0'

questo è da implementare e serve per il check della connettività personale, qualora ci fosse

config section 'gw4server'                                      # TODO
        option enabled '0'
        option strictCheck '0'
        option checkInterval '10s'
        option bandwidth '2000/512'
        list checkHosts '8.8.8.8'
        list checkHosts '8.8.4.4'

queste opzioni, abilitate di default, ci consentono di visualizzare tramite interfaccia web una semplice pagina informativa dove potremo anche effettuare il test di capienza del link

config section 'httpinfo'
        option enabled '1'

config section 'pointing'
        option enabled '1'

config section 'bwtestclient'
        option enabled '1'

config section 'bwtestserver'
        option enabled '1'

Nel caso si disponga di una chiave ssh personale, la possiamo inserire qui di seguito

config section 'sshserver'
        option enabled '1'
        option passwdAuth '1'
        option sshAuthorizedKeys ''

per salvare tutto il nostro lavoro digitiamo :wq se pensiamo di aver fatto cavolate, no proble, :q! e possiamo ricominciare da capo

quando si è certi della configurazione salvare e dare il comando

reboot && exit

è consigliato lasciare il terminale in ping su 192.168.1.21 dopo un paio di riavvii si noterà una sequenza di ping terminata la sequenza staccare il device dalla corrente per 10 secondi e riattaccarlo ora il device è pronto per far crescere un altro puntino verde ;)

Si ... ma COSA FA?

Questo script parte all'avvio del device e genera in sequenza i file predisposti alla intera configurazione del router. In particolare va a creare/modificare i file presenti in /etc/config che risulteranno comunque editabili a seconda della opzione scelta in /etc/config/eigennet

config section 'general'
        option debugLevel '0'
        option bootmode '0'

Con il bootmode a 0 si comanda il primo avvio dello script, viene usato generalmente solo la prima volta ed in completo automatismo. Ad 1 si comanda la scrittura dei cambiamenti inseriti nel file /etc/config/eigennet, mentre si porterà autonomamente a 2 per dare conferma dell'avvenuta applicazione dei cambiamenti, è possibile settare un numero maggiore di 2 per ricordarsi che quella impostata è una configurazione personalizzata.

Riguardo l'assegnazione degli indirizzi possiamo controllare sia il dhcp che radvd tramite

option dhcp_enable '1'

che sono attivi di default per assegnare indirizzi IPv4 (dhcp) e IPv6 (radvd) all'interno della propria lan.

Questo script è abbastanza flessibile da poter decidere molteplici configurazioni quindi è possibile utilizzarlo sia sulle antenne sia sui router casalinghi (device che comunque supportino OpenWrt) e possiamo avere le seguenti realtà:

  • Router base
  • Router base + Access Point
  • Router base + Access Point + OLSRd on LAN (es: router casalingo + nodo sul tetto)
  • Router base + !HotSpot (tipo AP ma con splashpage di presentazine vedi Nodogsplah)

  • Router base + HS + OLSRd on LAN (es: HS + nodo sul tetto)
  • Router base + HS + AP
  • Router base + HS + AP + OLSRd on LAN (es: router casalingo + HS + nodo sul tetto)
  • Router base + HS + AP + Mesh
  • Router base + HS + AP + Mesh + OLSRd on LAN
  • Router base + Mesh
  • Router base + Mesh + HS
  • Router base + Mesh + HS + OLSRd on LAN
  • Router base + Mesh + AP
  • Router base + Mesh + AP + OLSRd on LAN

In modalità mesh OLSRd risulterà già attivo sulla sola interfaccia wireless dedicata alla mesh, per attivare OLSRd anche sulla LAN occorrerà abilitare anche le opzioni enable e supernode.

Abbiamo inoltre la possibilità di selezionare la modalità di collegamento wireless tra i device, ovvero se volessimo creare una mesh pura (fortemente consigliata in ambienti come piccole comunità, quartieri, zone ad alta densità di router wifi e comunque in tutte le situazioni dove si vogliano instaurare molti link in modalità omnidirezionale) allora nell'opzione mesh_mode inseriamo il parametro adhoc. Per tutti quei collegamenti definibili punto-punto, e cioè dove si utilizza un device, definito master, in AccessPoint ed uno, definito slave, in SationMode, selezioniamo sul device master la modalità 'ap' e sullo slave la modalità 'sta' avendo cura di inserire, su quest'ultimo, il mac address dell'access point master nell'opzione station_mac

La modalità HotSpot fa partire il captive portal personalizzato preconfigurato per consentire una connessione pulita da eventuale traffico poco consono da parte degli utenti, è comunque possibile modificare i parametri di configurazione editando il file /etc/nodogsplash/nodogsplash.conf

Nella modalità Access Point il router si comporterà come un semplice router casalingo con interfaccia wifi.

Se volessimo modificare, aggiungere, togliere plugin dalla configurazione di OLSRd basta editare i file olsrd4 per l'istanza di OLSRd IPv4 ed olsrd6 per l'istanza di OLSRd in IPv6 che sono sono presenti nella cartella /etc/config/

DA COMPLETARE##