Italiano English
Modifica History Actions

Differenze per "ScriptAutoConfig"

Differenze tra le versioni 10 e 11
Versione 10 del 2012-10-04 11:52:39
Dimensione: 8572
Autore: Arka
Commento:
Versione 11 del 2012-10-05 16:47:37
Dimensione: 9162
Autore: Arka
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 142: Linea 142:
ora il device è pronto per far crescere un altro puntino verde ;)
Linea 155: Linea 156:
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 ed a '''3''' dopo l'upgrade dello script 'core'. 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.
Linea 165: Linea 166:
Questo script rende la configurazione 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 queste varie tipologie di configurazione:

 * Router base
 * Router base + Access Point
 * Router base + HotSpot (tipo AP ma con splashpage di presentazine vedi [[http://wiki.openwrt.org/doc/howto/wireless.hotspot.nodogsplash|Nodogsplah]]
 * Router base + HS + AP

Linea 166: Linea 175:

ora il device è pronto per far crescere un altro puntino verde ;)

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'     # 0 First boot, 1 Run Autoconfig (you should set 1 each time you edit this file), 2 Current configuration.

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

        option ip6addr_mesh '2001:4c00:893b:1:cab::1/128'       # Insert your IPv6 wireless address conforms with radio subnet at "http://wiki.ninux.org/GestioneIndirizzi"
        option ip6addr_lan '2001:4c00:893b:cab::1/64'           # Insert your IPv6 lan address previously declared at "http://wiki.ninux.org/GestioneIndirizzi"
        option ip6_gw_lan '2001:4c00:893b:cab::10'              # Insert your IPv6 lan gateway (IP of the master router, if you have a master router)
        option ip4addr_mesh '172.16.0.1'                        # Insert your IPv4 wireless address conforms with radio IP at "http://wiki.ninux.org/GestioneIndirizzi" ex: 172.16.CAP.XYZ
        option netmask_mesh '255.255.0.0'                       # Insert your IPv4 wireless subnet conforms with radio subnet IP at "http://wiki.ninux.org/GestioneIndirizzi"
        option ip4addr_lan '192.168.1.21'                       # Insert your IPv4 lan address conforms with ninux rule at "http://wiki.ninux.org/GestioneIndirizzi" ex: 10.CAP.XYZ.ABC
        option netmask_lan '255.255.255.0'                      # Insert your IPv4 lan subnet previously declared at "http://wiki.ninux.org/GestioneIndirizzi" ex: declared "10.171.5.0/24" insert 255.255.255.0
        option ip4_gw_lan '192.168.1.1'                         # Insert your IPv4 lan gateway (IP of the master router, if you have a master router)
        option dhcp_enable '1'                                  # Default enable; setting false for siable lan (and AP) dhcp assignment
        option dhcp_lan_init '10'                               # Setting your prefer value of initial dhcp assignment
        list resolvers '160.80.221.11 8.8.8.8'                  # Change (if you want) nameserver for your custom or prefered dns
        option hostName 'nome_device'                           # Insert device name in format "aB09" without special characters
        option wan_set '0'                                      # Setting 'true' if your device is a TP-LINK (or another with a wan port) and you want customize your wan ip
        option ip4_wan '0.0.0.0'                                # Insert your custom wan ip
        option wan_mask '0.0.0.0'                               # Insert the subnet of your custom wan ip

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

config section 'olsrd'
        option supernode '0'                                    # Default false, is true when you have more device on your (super)node
        option gw_enable '0'                                    # Default false, setting true for gateway announce

modifichiamo i parametri del servizio snmp editando almeno la location

config section 'snmp'
        option enable '1'                                       # Default true, setting false for disable this service
        option contact 'contatti@ninux.org'                     # Insert (if you want) your custom email
        option location 'node_name'                             # Insert your 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 cambiamo con determinato criterio le opzioni a seguire

config section 'wireless'
        option wifi_mesh '1'                                    # Default true, setting false for disable Mesh Network
        option mesh_mode 'adhoc'                                # setting your prefer mode adhoc or ap or sta
        option countrycode 'US'
        option wifi_channel '11'                                # 1-14
        option meshSSID 'mesh.ninux.org'                        # Default mesh SSID "mesh.ninux.org"
        option meshBSSID '02:aa:bb:cc:dd:00'                    # Default mesh BSSID "02:aa:bb:cc:dd:00"
        option meshMcastRate '6000'                             # Default mesh MCS rate "6000"
        option station_mac '00:00:00:00:00:00'                  # Setting the mac address of your AP (only in STA mode)
        option ap_staSSID 'ninux.org'                           # Default AP-STA SSID is 'ninux.org'
        option ap_enable '0'                                    # Default true, setting false for disable AP    
        option apSSID 'ap.ninux.org'                            # Default AP SSID
        option apKEY 'none'                                     # Default not setting
        option apMaxClients '25'                                # Default clients AP number "25" (max lan client n+20)
        option tx_power '10'                                    # Default tx power "10" (10-30)

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'                                      # Setting your ssh pubblic key
        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 rende la configurazione 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 queste varie tipologie di configurazione:

  • Router base
  • Router base + Access Point
  • Router base + HotSpot (tipo AP ma con splashpage di presentazine vedi Nodogsplah

  • Router base + HS + AP

DA COMPLETARE