Italiano English
Modifica History Actions

Differenze per "Lombardia/Openwrt_batman"

Differenze tra le versioni 3 e 14 (in 11 versioni)
Versione 3 del 2016-03-09 20:42:17
Dimensione: 895
Autore: DiegoRoversi
Commento:
Versione 14 del 2016-05-01 16:14:58
Dimensione: 6746
Autore: DiegoRoversi
Commento: aggiunto split porte lan
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 13: Linea 13:
Il firmware attuale di openwrt non gestisce in modo completo l'inizializzazione di batman.

Il primo passo e' configurarlo nei file di configurazione di openwrt:

aggiungere in /etc/config/network:
{{{
config interface 'bat0'
        option ifname 'bat0'
        option proto 'static'
        option mtu '1468'
        option ipaddr '192.168.5.12'
        option netmask '255.255.255.0'
                                      
config interface 'mesh_wifi'
        option mtu '1500'
        option proto 'batadv'
        option mesh 'bat0'
                                      
config interface 'mesh_lan'
        option ifname 'br-lan'
        option proto 'batadv'
        option mesh 'bat0'

}}}

aggiungere in /etc/config/wireless (cambiando il bssid):
{{{
config wifi-iface
        option device 'radio0'
        option ifname 'mesh0'
        option network 'mesh-wifi'
        option mode adhoc
        option ssid 'mesh'
        option bssid '02:ca:fe:ca:ca:40'
        option encryption none
}}}

e verificare che la radio sia abilitata, commentando o cancellando la seguente riga:

{{{
       option disabled 1
}}}


'''Nota''': questa parte potrebbe non essere piu' vera.
Questa configurazione permette solo di aggiungere un interfaccia wifi alla mesh batman (vedere ad [[https://forum.openwrt.org/viewtopic.php?id=54509|esempio]]) . Se si vuole configurare una qualsiasi interfaccia di rete, si puo' usare il seguente script, che va creato come /etc/init.d/batman:
{{{#!sh

#!/bin/sh /etc/rc.common

START=99
STOP=10

interfaces="br-antenna mesh0"

start() {
        echo "Adding $interfaces to bat0 mesh"
        for i in $interfaces; do
                batctl if add $i
        done
}

stop() {
        echo "Removing $interfaces from bat0 mesh"
        for i in $interfaces; do
                batctl if del $i
        done
}


}}}

Mettere nella variabile interfaces, l'elenco delle interfaccie da includere nella mesh. E' consigliabile usare le interfaccie in bridge piuttosto che quelle fisiche. Per intenderci mettere br-lan, br-wan, invece che eth0 e simili.

Per abilitare al boot l'inizializzazione di batman, bisogna collegarsi in ssh, e dare i seguenti comandi:

{{{
/etc/init.d/batman enable
/etc/init.d/batman start
}}}



Linea 15: Linea 99:
Per prima cosa bisogna abilitare alfred, nel file di configurazione: Per prima cosa bisogna abilitare alfred; modificare il file di configurazione:
Linea 19: Linea 103:
e commentare la seguente che contiene ''disabled'': e commentare la seguente riga che contiene ''disabled'':
Linea 38: Linea 122:
seguito da questo comando, per farlo partire subito: seguito da questo comando, per farlo partire subito, senza riavviare:
Linea 43: Linea 127:

== Split delle porte lan ==

Sui router casalinghi come ad esempio il tp-link wr841-n, le porte lan (quelle gialle nel router in questione) sono normalmente in modalita' bridge. Nota bene che gli esempi di configurazione sono riferiti a questo modello; i modelli diversi potrebbero cambiare i parametri.

E' possibile far diventare ciascuna porta una porta indipendente dalle altre. Per farlo bisogna modificare le impostazioni dello switch interno del router. Per chi vuole approfondimenti puo' guardare la seguente [[pagina|https://wiki.openwrt.org/doc/uci/network/switch]].

Per prima cosa va modificato il file /etc/config/network, la parte riguardante lo switch nel seguente modo:

{{{
config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'
                                               
config switch_vlan
        option device 'switch0'
        option vlan '4'
        option ports '1 0t'
                                      
config switch_vlan
        option device 'switch0'
        option vlan 3
        option ports '2 0t'
                                      
config switch_vlan
        option device 'switch0'
        option vlan 2
        option ports '3 0t'
                                      
config switch_vlan
        option device 'switch0'
        option vlan 1
        option ports '4 0t'
}}}

In questo modo ogni porta dello switch e' configurato internamente su una vlan diversa. Dato che sul wr841n la numerazione delle porte sullo switch e' invertito rispetto alla numerazione scritta sull'esterno del router, l'associazione vlan - porta switch e' anch'essa invertita, in modo che vlan1 corrisponda poi alla porta 1, e cosi' via.

Fatto questo si possono poi configurare le singole porte:

{{{
config interface 'lan1'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.1.88'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option network 'mesh_wifi'
}}}

In questo modo la vlan1 dello switch, che ha come nome interfaccia eth0.1, dove ".1" indica la vlan, viene configurata. L'interfaccia di rete creata sara br-lan1. Il prefisso "br-" e' perche' e' stata definita di tipo bridge.

Se si vuole poi che la porta sia associata anche alla mesh batman, la configurazione sara' la seguente:

{{{
config interface 'mesh_lan1'
 option ifname 'br-lan1'
        option proto 'batadv'
        option mesh 'bat0'
}}}

In alternativa si puo' mettere:

{{{
       option ifname 'eth0.1'
}}}

ma SOLO se eth0.1 non e' stato associato ad un bridge, come nell'esempio precedente del 'interface lan1'. Se lo fate la porta non funzionera' piu' correttamente.

A questo punto si puo' ripetere allo stesso modo per le altre porte, cambiando dove serve il numero di vlan.

Come configurare batman-adv su openwrt

Prerequisiti

Assicurarsi che i seguenti pacchetti siano gia' presenti:

  • alfred
  • batctl
  • kmod-batman-adv

Configurazione di batman-adv

Il firmware attuale di openwrt non gestisce in modo completo l'inizializzazione di batman.

Il primo passo e' configurarlo nei file di configurazione di openwrt:

aggiungere in /etc/config/network:

config interface 'bat0'         
        option ifname 'bat0'    
        option proto 'static'   
        option mtu '1468'       
        option ipaddr '192.168.5.12'
        option netmask '255.255.255.0'
                                      
config interface 'mesh_wifi'          
        option mtu '1500'             
        option proto 'batadv'         
        option mesh 'bat0'            
                                      
config interface 'mesh_lan'           
        option ifname 'br-lan'        
        option proto 'batadv'         
        option mesh 'bat0'    

aggiungere in /etc/config/wireless (cambiando il bssid):

config wifi-iface
        option device   'radio0'
        option ifname   'mesh0'
        option network  'mesh-wifi'
        option mode     adhoc
        option ssid     'mesh'
        option bssid    '02:ca:fe:ca:ca:40'
        option encryption none

e verificare che la radio sia abilitata, commentando o cancellando la seguente riga:

       option disabled 1

Nota: questa parte potrebbe non essere piu' vera. Questa configurazione permette solo di aggiungere un interfaccia wifi alla mesh batman (vedere ad esempio) . Se si vuole configurare una qualsiasi interfaccia di rete, si puo' usare il seguente script, che va creato come /etc/init.d/batman:

#!/bin/sh /etc/rc.common

START=99
STOP=10

interfaces="br-antenna mesh0"

start() {        
        echo "Adding $interfaces to bat0 mesh"
        for i in $interfaces; do 
                batctl if add $i
        done
}   

stop() {
        echo "Removing $interfaces from bat0 mesh"
        for i in $interfaces; do
                batctl if del $i
        done
}

Mettere nella variabile interfaces, l'elenco delle interfaccie da includere nella mesh. E' consigliabile usare le interfaccie in bridge piuttosto che quelle fisiche. Per intenderci mettere br-lan, br-wan, invece che eth0 e simili.

Per abilitare al boot l'inizializzazione di batman, bisogna collegarsi in ssh, e dare i seguenti comandi:

/etc/init.d/batman enable
/etc/init.d/batman start

Configurazione di alfred

Per prima cosa bisogna abilitare alfred; modificare il file di configurazione:

  • /etc/config/alfred

e commentare la seguente riga che contiene disabled:

  config 'alfred' 'alfred'
          option interface 'br-lan'
          option mode 'master'
          option batmanif 'bat0'
          option start_vis '1'
          option run_facters '1'
  # REMOVE THIS LINE TO ENABLE ALFRED
  #       option disabled '1'

Abilitare poi il servizio alfred, in modo che parta in modo automatico, collegandosi con ssh, e lanciando questo comando:

/etc/init.d/alfred enable

seguito da questo comando, per farlo partire subito, senza riavviare:

/etc/init.d/alfred start

Split delle porte lan

Sui router casalinghi come ad esempio il tp-link wr841-n, le porte lan (quelle gialle nel router in questione) sono normalmente in modalita' bridge. Nota bene che gli esempi di configurazione sono riferiti a questo modello; i modelli diversi potrebbero cambiare i parametri.

E' possibile far diventare ciascuna porta una porta indipendente dalle altre. Per farlo bisogna modificare le impostazioni dello switch interno del router. Per chi vuole approfondimenti puo' guardare la seguente https://wiki.openwrt.org/doc/uci/network/switch.

Per prima cosa va modificato il file /etc/config/network, la parte riguardante lo switch nel seguente modo:

config switch                                  
        option name 'switch0'                  
        option reset '1'                       
        option enable_vlan '1'                 
                                               
config switch_vlan                             
        option device 'switch0'                
        option vlan '4'                        
        option ports '1 0t'           
                                      
config switch_vlan                    
        option device 'switch0'       
        option vlan 3                 
        option ports '2 0t'           
                                      
config switch_vlan                    
        option device 'switch0'       
        option vlan 2                 
        option ports '3 0t'           
                                      
config switch_vlan                    
        option device 'switch0'       
        option vlan 1                 
        option ports '4 0t'

In questo modo ogni porta dello switch e' configurato internamente su una vlan diversa. Dato che sul wr841n la numerazione delle porte sullo switch e' invertito rispetto alla numerazione scritta sull'esterno del router, l'associazione vlan - porta switch e' anch'essa invertita, in modo che vlan1 corrisponda poi alla porta 1, e cosi' via.

Fatto questo si possono poi configurare le singole porte:

config interface 'lan1'                        
        option type 'bridge'                   
        option ifname 'eth0.1'                 
        option proto 'static'                  
        option ipaddr '192.168.1.88'           
        option netmask '255.255.255.0'         
        option ip6assign '60'                  
        option network 'mesh_wifi'    

In questo modo la vlan1 dello switch, che ha come nome interfaccia eth0.1, dove ".1" indica la vlan, viene configurata. L'interfaccia di rete creata sara br-lan1. Il prefisso "br-" e' perche' e' stata definita di tipo bridge.

Se si vuole poi che la porta sia associata anche alla mesh batman, la configurazione sara' la seguente:

config interface 'mesh_lan1'
        option ifname 'br-lan1'
        option proto 'batadv'              
        option mesh 'bat0'

In alternativa si puo' mettere:

       option ifname 'eth0.1'

ma SOLO se eth0.1 non e' stato associato ad un bridge, come nell'esempio precedente del 'interface lan1'. Se lo fate la porta non funzionera' piu' correttamente.

A questo punto si puo' ripetere allo stesso modo per le altre porte, cambiando dove serve il numero di vlan.