Italiano English
Modifica History Actions

Differenze per "ScriptAutoConfig"

Differenze tra le versioni 11 e 12
Versione 11 del 2012-10-05 16:47:37
Dimensione: 9162
Autore: Arka
Commento:
Versione 12 del 2012-10-05 17:44:15
Dimensione: 7317
Autore: Arka
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 31: Linea 31:
 option bootmode '0' # 0 First boot, 1 Run Autoconfig (you should set 1 each time you edit this file), 2 Current configuration.  option bootmode '0'
Linea 36: Linea 36:
 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}}}
 option ip6addr_mesh '2001:4c00:893b:1:cab::1/128'
 option ip6addr_lan '2001:4c00:893b:cab::1/64'
 option ip6_gw_lan '2001:4c00:893b:cab::10'
 option ip4addr_mesh '172.16.0.1'
 option netmask_mesh '255.255.0.0'
 option ip4addr_lan '192.168.1.21'
 option netmask_lan '255.255.255.0'
 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 '160.80.221.11 8.8.8.8'
Linea 55: Linea 55:
 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
 option enable '0'
 option supernode '0'
 option gw_enable '0'
Linea 62: Linea 63:
 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
 option enable '1'
 option contact 'contatti@ninux.org'
 option location 'node_name'
Linea 72: Linea 73:
 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 wifi_mesh '1'
 option mesh_mode 'adhoc'
Linea 75: Linea 76:
 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)
 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'
Linea 126: Linea 127:
config section 'sshserver'     # Setting your ssh pubblic key config section 'sshserver'
Linea 166: Linea 167:
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: 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à:
Linea 170: Linea 171:
 * Router base + HotSpot (tipo AP ma con splashpage di presentazine vedi [[http://wiki.openwrt.org/doc/howto/wireless.hotspot.nodogsplash|Nodogsplah]]  * 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)
Linea 172: Linea 175:
 * Router base + HS + AP +OLSRd on LAN (es: router casalingo + HS + nodo sul tetto)
 * Router base + HS + AP + Mesh (in questo caso OLSRd è già attivo ma solo sull'interfaccia mesh, per attivarlo anche sulla LAN selezionare enable '1' e supernode '1')

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 ip6addr_lan '2001:4c00:893b:cab::1/64'
        option ip6_gw_lan '2001:4c00:893b:cab::10'
        option ip4addr_mesh '172.16.0.1'
        option netmask_mesh '255.255.0.0'
        option ip4addr_lan '192.168.1.21'
        option netmask_lan '255.255.255.0'
        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 '160.80.221.11 8.8.8.8'

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 cambiamo con determinato criterio le opzioni a seguire

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 (in questo caso OLSRd è già attivo ma solo sull'interfaccia mesh, per attivarlo anche sulla LAN selezionare enable '1' e supernode '1')

DA COMPLETARE