[Ninux-Calabria] routing a terra
Giuseppe De Marco
demarcog83 a gmail.com
Lun 23 Dic 2013 19:32:35 UTC
>
>
> entrare i suoi client direttamente in Ninux. Non l'avessi mai fatto:
> devo aver scatenato un bug immenso di LUCI (l'interfaccia web di
> OpenWRT) che per ragioni indebuggabili mi ha sbattuto fuori dal router,
> chiudendo interfacce che non erano interessate dalla modifica.
>
Purtroppo è stato programmato con i piedi, per avere certezza della
modifiche in network bisogna sempre:
/etc/init.d/network restart
Il fatto che sbatta fuori è condizionato alla VLAN1, eth0 è occupato per il
bridge e attivando lo switch releghiamo l'I/O delle porte ethernet alle
VLAN configurate (VLAN1 di default). Le CPU untagged in VLAN1 solitamente
oscurano tutto perchè untaggano la CPU per una specifica VLAN e di
conseguenza oscurano la VLAN default (VLAN0), spiegato più in seguito.
però il ripristino della copia di backup funziona sempre :)
A Verde ho usato vlan1 e vlan2 in questa configurazione, riscrivendola in:
eth0.1 Link encap:Ethernet HWaddr 64:66:B3:41:3F:71
inet addr:172.17.87.13 Bcast:172.17.255.255 Mask:255.255.0.0
eth0.2 Link encap:Ethernet HWaddr 64:66:B3:41:3F:71
inet addr:192.168.1.33 Bcast:192.168.1.255 Mask:255.255.255.0
config switch_vlan
option device 'eth0'
option vlan '1'
option vid '1'
option ports '0t 2 4t'
config switch_vlan
option device 'eth0'
option vlan '2'
option vid '2'
option ports '0t 1 4t'
La porta 4 è di trunking, un jolly.
Lasciando tutte le CPU delle VLAN come tagged, le porte restanti comunicano
di default sulla VLAN0 come untagged e quì credo di capire che VLAN0
corrisponde ad eth0 (Vlan default, interfaccia che contiene sub-interfacce)
che essendo bridgata in br-lan deve avere - per forza - la CPU untagged
altrimenti blocca tutto.
se noi untagghiamo una CPU di una VLAN dobbiamo essere coscienti che stiamo
a sottrarre l'untagged alla VLAN default !!!
swconfig sembra confermarcelo:
root a VerdebinarioNinux:~# swconfig dev switch0 show
Global attributes:
enable_vlan: 1
Port 0:
pvid: 0
link: port:0 link:up speed:1000baseT full-duplex txflow rxflow
Port 1:
pvid: 2
link: port:1 link:up speed:100baseT full-duplex auto
Port 2:
pvid: 1
link: port:2 link:up speed:100baseT full-duplex auto
Port 3:
pvid: 0
link: port:3 link:down
Port 4:
pvid: 0
link: port:4 link:down
VLAN 0:
vid: 0
ports: 0t 3 4t
VLAN 1:
vid: 1
ports: 0t 2 4t
VLAN 2:
vid: 2
ports: 0t 1 4t
In questa configurazione abbiamo la porta 3 che comunica untagged sulla
VLAN0 (ovvero br-lan, essendo eth0 impegnato) e la porta 4, di trunking,
che comunica untagged sulla rete VLAN0/br-lan e tagged per tutte le VLAN.
La pratica conferma la regola, tagged non è esclusivo e possiamo crearne
fino a 16 in openWRT mentre l'untagged riserva una porta per un link eth
classico.
A verde il router ha la br-lan come 10.87.8.0 e due vlan, una per 172 e
un'altra per 192.
se dovessi aggiungere un'antenna taggerei la porta 3 o userei as-is la
porta 4.
Ad ogni modo la strategia di Stefano per risparmiare un indirizzo IP penso
sia de facto la migliore soluzione per la rete.
Una volta tornato a casa mi sono messo sul mio vecchio 1043ND (v1.8,
> firmware identico) e ho ripetuto la configurazione, questa volta
> utilizzando solo l'utility UCI a riga di comando per tutto, da zero,
> senza mai toccare la GUI. Roba che ti fa rimpiangere la sintassi a tre
> livelli di accesso dei Cisco.
>
Se posti la sequenza di comandi possiamo scriptarlo in un wizard con
semplici raw input bash.
>
> Due parole sulla VLAN di gestione. Le porte sono state tutte taggate, ma
> funzionalmente non sarebbe cambiato niente se avessimo deciso fare la
> VLAN 7 tutta untagged. La ragione principale per cui si è scelto di fare
> così è che questa accortezza è un modo semplice ed elegante di aggirare
> un bug noto presente in molti SoC presenti nei comuni router, di cui
> potete leggere meglio a <https://dev.openwrt.org/ticket/12181>. Questo
> bug impedisce che da una porta possa scaturire contemporaneamente
> traffico taggato e non taggato, ovvero che una porta faccia parte di 2
> VLAN, se in una delle quali essa risulta untagged.
Considero che i comandi di UCI sono universali mentre i chip fanno più di
testa loro. Che faccia dannare è cosa amara...
> http://imgur.com/zAQvvyu
spettacolo.
>
> Due parole sugli ID delle VLAN: perché partiamo da 3? Semplice: AirOS
> non consente di utilizzare la VLAN con ID 1, mentre molto molto spesso
> OpenWRT ha già una VLAN 2 per l'interfaccia WAN, e ha poco senso
> mettersi a riordinarle.
>
>
Sul TL-740N la WAN è sulla eth1. Se avesse più memoria sarebbe il top.
> A questo punto uno potrebbe avere la preoccupazione (e noi l'abbiamo
> avuta): ma se uso le VLAN sulle antenne di un supernodo, poi ogni nodo
> che si collegherà ad esso con le sue antenne dovrà utilizzare
> necessariamente le VLAN? Questo causerebbe molti problemi per i neofiti
> che vogliono entrare in Ninux, e per l'immediatezza di configurazione.
> La risposte è: NO. Come detto, l'interfaccia wireless e la VLAN di
> traffico (che viaggia, ovviamente, sulla porta eth0 dell'antenna) sono
> tra loro in bridge.
Alla pari di una scoperta copernicana, la direzione dello switch
tagga/untagga i frames, scriviamolo sui muri.
> root a OpenWrt:~# uci set firewall. a zone[0].network='LAN_NINUX ANTENNA1
> ANTENNA2 ANTENNA3 ANTENNA4'
>
> Onestamente il firewall è l'unico aspetto che ha bisogno ancora di un
> test esteso. Non ho avuto tempo, modo e voglia di esaminare quali sono i
> default di OpenWRT e come possono influenzare il traffico
> multi-interfaccia che creiamo sul routing a terra. Sia io che Peppe
> abbiamo incontrato problemi che si è potuto risolvere semplicemente
> spegnendo il firewall (/etc/init.d/firewall stop), ma a dire il vero nel
> mio secondo giro di prove tutto è sembrato funzionare anche solo
> aggiungendo tutte le interfacce alla stessa zona LAN, come abbiamo fatto
> col comando appena visto. Spax mi informa che OpenWRT per default non
> forwarda il traffico tra le interfacce appartenenti ad una stessa zona,
> ma devo ancora capire in che modo ci affligge, se lo fa.
>
La firewall può salire sù, va creata una zona per ogni rete, pertanto
zona_172 e zona_10. Il Bug è che luci quando salva e "applica" include nel
postrouting esclusivamente la vlan1 :)
Quindi un essere umano normale dovrebbe inserire le regole mancati a mano
oppure ricreare da capo la firewall nell'eventualità di fare navigare i
frames attraverso le reti delle interfaccie e non solo esclusivamente sulle
interfacce (per il quale l'ip_forward basta )
Stè questa tua esperienza secondo me la puoi pubblicare di sana pianta sul
blog :)
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://ml.ninux.org/pipermail/calabria/attachments/20131223/a922e227/attachment.htm>
Maggiori informazioni sulla lista
Calabria