Newsgroup: it.comp.os.linux.sys
Titolo: VLAN in bridge

ciao a tutti.
ho due firewall connessi tramite un ponte radio che attraversa una
zona insicura ( LOL ).
Ho la necessità di veicolare, tenendole separate, 5 network distinte.
Lato A ho uno switch con configurate 5 vlan. Ogni vlan esce ed entra
in una ethernet sul firewall A.
La 6° ethernet del firewall è quella connessa al ponte radio.
Lato B ho l'opposto: 1 ethernet che arriva dal ponte radio e la
necessità di uscire con 5 ethernet distinti verso altrettanti switch.
(non ho vlan qui).
Il ponte radio è insicuro, per cui oltre ad avere la WEP attivata (non
ho WPA o qualcosa di migliore, ma solo WEP) pensavo di fare 5 vpn, una
per ogni rete da tenere separata.
Il problema: sul firewall A dovrei fare il bridge di ciascuna VLAN/
ethernet verso il tunnel VPN di riferimento, è possibile? In questo
modo dovrei riuscire a unire la eth3 (per dirne una) alla VPN3,
rimanendo separato tra eth2 e VPN2.
Lato B dovrei fare la stessa cosa: VPN3 in bridge con eth3 e così via.
Secondo voi funziona? E sicura come soluzione?
Esistono soluzioni migliori ed altrettanto sicure? Non vorrei lavorare
mezza giornata per ritrovarmi con una soluzione poco ottimale ed
insicura.

 insicura.
Tranquillo che per essere sicura è sicura.
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 provato. Per provare comunque ci metti 2 minuti.
Facendo 802.1q dovrei anche poter utilizzare un singolo cavo uscente
dallo switch.
Giusto? Così sul server mi ritroverei varie vlan eth0.1, eth0.2,
eth0.3...
Una volta che ho le vlan, attivo la VPN tra i due estremi e trasformo
il canale in un trunk
per trasportare le vlan dall'altra parte.
Bene, non ho idea di come si faccia su linux a dire che tun0/tap0 sia
un trunk di tutte quelle vlan...
Booo
Per quanto riguarda l'overhead delle vpn, secondo te un VIA EDEN V4
1GHz con 1GB ram tiene in piedi 5 vpn?
Il ponte radio è 11mbit, per cui, al massimo, tutte le vpn vanno a
11mbit.
Non mi sono mai posto il problema lavorando solo con server, ma con
questo appliance forse mi collassa la macchina.

 da tutti?
Beh, con il wep ritardi di una quindicina di secondi/qualche minuto
l'evento.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 questo appliance forse mi collassa la macchina.
No, tranquillo. Al piů scegli AES128 o un BFC-128 al posto del AES256.


 No, tranquillo. Al più scegli AES128 o un BFC-128 al posto del AES256.
Ok.

 tun0 ?
No, se usi tap nella *teoria* dovrebbe essere che da una parte fai bridge 
tra la eth su cui ti arrivano le VLAN taggate e il device tap.
Dall'altra parte dovresti fare 5 bridge tra i device tap0.[1-5] e le eth 
corrispondenti. Come detto è teoria, perché non sono sicuro che si possa 
fare e non ho al momento tempo di fare test in tal senso.


 fare e non ho al momento tempo di fare test in tal senso.
Ok, ma come creo i singoli device tap? Se io faccio 1 tunnel, mi
ritrovo 1 device tap.
Vedi, il problema è che per fare questo impianto devo coinvolgere
altre due ditte
esterne per la riprogrammazione di quasi tutti gli apparati. Tali
ditte hanno tempistiche
di intervento epocali (tipo 1 mese) e (giustamente) vogliono essere
pagate ad ogni piccola variazione.
Devo quindi fare un progettino in modo da poter dire: ditta1 fai così,
ditta2 fai cosà evitando
di dover chiamare più di una volta le ditte, altrimenti qui finisco a
natale.
Ma non avendo ne due switch managed disponibili con cui testare la
vlan, ne i due firewall del cliente, faccio veramente
fatica a focalizzare il problema.
(se butta male, metto in piedi 5 vpn e esco con 5 cavi dallo switch
veso il firewall, e chissenefrega)

 fatica a focalizzare il problema.
Al momento non posso fare io i test. Con le 5 VPN funziona sicuramente, 
quindi segui la strada sicura.


 quindi segui la strada sicura.
Si, credo che farò proprio così.

 fare e non ho al momento tempo di fare test in tal senso.
Riesumo.... (devo collegare 2 firewall tramite ponte radio non protetto.
Per cui mi serve una VPN 'sopra' il ponteradio e tale VPN deve veicolare
5 VLAN distinte, senza possibilità che esse possano comunicare tra loro)
Ho i due firewall sottomano e posso fare degli esperimenti.
anzichè il ponte radio ho per il momento in cavo ethernet che collega
i due apparati.
Sul firewall A ho:
eth0 (non usata, è solo UP ma non ha ip)
eth0.10 (vlan10)
eth0.20 (vlan20)
eth0.30 (vlan30)
Sul firewall B non ho switch con supporto VLAN per
cui non avrò eth0.10, eth0.20 ma avrò le eth fisiche
(eth1,eth2,eth3, ...)
Bon.
Devo attivare sta vpn.
Come faccio a fare 1 vpn e veicolare le vlan taggate
senza fare 3 vpn distinte?
Pensavo di creare una VPN sul tap0 e poi
vconfig add tap0 10
vconfig add tap0 20
vconfig add tap0 30
da entrambi i lati del canale.
Sul firewall A poi metto in bridge eth0.10 con tap0.10
e così via.
Sul firewall B invece metto in bridge tap0.10 con eth1 (non ho
switch vlan per cui devo terminare le vpn su ethernet fisiche)
Così facendo creo 3 vlan sopra il tap0, se la VPN
è instaurata su tap0, veicolerà automaticamente anche
le VLAN?
Devo fare altro secondo voi?
(sto ancora compilando openvpn sul primo server per cui in questo
momento non posso fare il test. Senza che perdo 2 giorni, voi avete
già fatto qualcosa del genere?)

 già fatto qualcosa del genere?)
Siamo ansiosi di sapere come va.


 Siamo ansiosi di sapere come va.
Addirittura ansiosi?
Comunque, sto facendo prove ore, ma dal punto di vista
teorico, se creo un device tap0 con openvpn e sopra tale
tap0 creo 3 vlan in bridge con altre 3 vlan, secondo
te funziona? Altrimenti vado direttamente con 3 vpn
fisiche, evito di perdere 1 ora di tempo a far prove...

 fisiche, evito di perdere 1 ora di tempo a far prove...
No no, fai pure le prove che risparmi qualche ora di test a me :-)


 No no, fai pure le prove che risparmi qualche ora di test a me :-)
Ok, non c'è problema.
Ma dato che ho usato 1 volta solo le Vlan in linux, non avevo idea di
come fare a prendere una ethernet (o una tap0) e dirgli di trasportare
i tag di tutte le vlan...
Boh. io provo, appena riesco a creare il certificato....
(maledetta slackware!)

 frame ethernet taggate. Se la risposta è sì il gioco deve funzionare.
Errorino:
# vconfig add tap0 10
ERROR: trying to add VLAN #10 to IF -:tap0:-  error: Invalid argument

 ERROR: trying to add VLAN #10 to IF -:tap0:-  error: Invalid argument
Ok, allora, con il tap0 creato da openvpn non funziona una cippa.
Per fare le vlan devo creare un tap persistente.
Ok, procediamo.
**** server A
# tunctl -p -t tap0
# ifconfig tap0 172.16.7.1 netmask 255.255.255.0
# openvpn --config /etc/openvpn/openvpn.conf
# ping 172.16.7.2 -c1
PING 172.16.7.2 (172.16.7.2) 56(84) bytes of data.
64 bytes from 
172.16.7.2
: icmp_seq=1 ttl=64 time=4.14 ms
--- 172.16.7.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.149/4.149/4.149/0.000 ms
**** server B
# tunctl -p -t tap0
# ifconfig tap0 172.16.7.2 netmask 255.255.255.0
# openvpn --config /etc/openvpn/openvpn.conf
# ping 172.16.7.1 -c1
PING 172.16.7.1 (172.16.7.1) 56(84) bytes of data.
64 bytes from 
172.16.7.1
: icmp_seq=1 ttl=64 time=1.41 ms
--- 172.16.7.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.411/1.411/1.411/0.000 ms
la vpn funziona, assegnando un IP a tap0 riesco a pingarlo
dall'altro lato. Ovviamente se spengo la VPN non pingo più..
Facciamo la VLAN in bridge.
**** server A (qui non ho una vlan, ma ho una ethernet fisica)
# vconfig add tap0 10
# brctl addbr br10
# brctl addif br10 eth0
# brctl addif tap0.10
# ifconfig br0 172.16.1.1 netmask 255.255.255.0
# ping 172.16.1.2 -c1
PING 172.16.1.2 (172.16.1.2) 56(84) bytes of data.
 From 172.16.1.1 icmp_seq=1 Destination Host Unreachable
--- 172.16.1.2 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
**** server B (vlan dello switch in bridge su vlan)
# vconfig add tap0 10
# brctl addbr br10
# brctl addif br10 eth0.10
# brctl addif br10 tap0.10
# ifconfig br10 172.16.1.2 netmask 255.255.255.0
# ping 172.16.1.1 -c1
PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data.
 From 172.16.1.2 icmp_seq=1 Destination Host Unreachable
--- 172.16.1.1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

 # ping 172.16.1.2 -c1
Qui devo aver cannato qualcosa, perchè se assegno l'IP
direttamente alla Vlan riesco a pingare le due estremità
passando per la VPN. E' il bridge che mi da problemi.
Comunque, Zippo, se ti interessa la risposta è:
si, si possono fare VLAN veicolate tramite un singolo
tap. Il tap però deve essere persistente e non creato
da openvpn. Si crea il tap, si creano le vlan, si
esegue openvpn ed il gioco è fatto.

 esegue openvpn ed il gioco è fatto.
Ottimo :-)
Sto già pensando come implementare la cosa da un cliente dal quale ho un 
problema analogo. Grazie 1000 :-)


 problema analogo. Grazie 1000 :-)
una cosa però mi ha lasciato un pò perplesso...
un trasferimento di un file da 10gb da un server all'altro fatto
tramite scp sopra la vpn andava in media a 1mbyte/s
un pò poco non trovi?

 altre 3 vlan, secondo te funziona?
Sì, dovrebbe.

whiplash ha scritto:

Confermo, funziona.
Ma il tap non deve essere creato da openvpn ma
deve essere persistente, creato quindi con tunctl.
Il perchè, sinceramente, non lo so, ma sta di fatto
che vconfig non fa creare vlan sopra un tap0 creato
da openvpn....

 Ma il tap non deve essere creato da openvpn ma deve essere persistente
Lo puoi creare persistente anche con openvpn...

 Lo puoi creare persistente anche con openvpn...
Così intendi?
# openvpn --dev tap0 --mktun
be, cambia poco, devo comunque eseguire due comandi.

 un pň poco non trovi?
Su un ponte a 11Mbit č normale ed anzi abbastanza alta. Su un 54Mbit 
effettivamente č leggermente bassa.


 effettivamente è leggermente bassa.
A dire il vero, sto facendo esperimenti in locale con un cavo
cross tra du ethernet gigabit....

 cross tra du ethernet gigabit....
Allora hai qualche problema. La CPU come era? Il tunnel č udp o tcp? Senza 
tirare in ballo le VLAN va piů veloce?


 tirare in ballo le VLAN va più veloce?
La CPU è una via eden 1000 ed al momento della copia era abbastanza
scarica.
Il processo Openvpn occupava il 5-6% di cpu.
Il tunnel è TCP.
Senza VLAN non ho provato, sinceramente....
Appena ho fatto partire la copia, la velocità girava attorno ad
1.0-1.5 megabyte/s
per poi crollare sempre più fino a dare timeout. Presumo di avere
qualche problema,
lunedì proverò meglio. Li per li non son stato ad indagare ed ho
spento.

 Il tunnel è TCP.
Mai usare TCP se non è strettissimamente necessario. E verifica le 
impostazioni del MTU.



lunedì proverò anche in udp.
le mtu, sempre che non si siano incasinate durante le prove, sono
quelle standard. devo metterle a valori particolari in caso di vpn?
non le ho mai dovute cambiare prima d'ora ed ho fatto anche altri
tunnel openvpn (con chiave condivisa, per quel che conta)

 Il tunnel è TCP.
Naaaaaaa.
Le vpn tcp hanno un unico scopo: bindate sulla 443, permettono di utilizzare
comodamente i proxy.

 comodamente i proxy.
Anche un altro. Ti permettono di non avere problemi con quelle merdate dei 
router alice che con VPN udp si impallano.
Negli altri casi sono solo rogne.


 Negli altri casi sono solo rogne.
devo essere sincero: ho sempre usato UDP.
Ma circa 3 settimane fa, coon UDP, perdevo pacchetti a randa e switchando
su TCP andava decisamente meglio.
Sono rimasto su TCP
-- 
A: Because we read from top to bottom, left to right.
Q: Why should i start my reply below the quoted text?

 su TCP andava decisamente meglio.
Che grossomodo è stato il motivo per cui anche io ho messo TCP.
Pensando ed eventuali perdite di pacchetti, sono andato istintivamente
su TCP...

 Senza tirare in ballo le VLAN va pi� veloce?
Allora, cerchiamo di capirci qualcosa.
Sto facendo SENZA vlan, o meglio, le VLAN ci sono ma non sono coinvolte.
Dunque, la situazione � questa:
eth0 connessa con cavo ethernet ai due firewall (in seguito ci sar�
il ponte radio).
la eth0 ha un IP fuori vpn, 10.0.0.1 e 10.0.0.2 dall'altra parte.
Questi due ip servono per mettere in piedi la VPN.
Una volta che la VPN � in piedi, io avr� un device tap0 su entrambi
i lati. A questo tap0 dovr� assegnare degli IP, su subnet diversa da
quella di eth0.
Ad esempio: 10.10.0.1 e 10.10.0.2.
Ora, tutto il traffico tra 10.10.0.1 e 10.10.0.2 transiter� cifrato
sulla VPN. Invece il traffico tra 10.0.0.1 e 10.0.0.2 transiter�
NON cifrato, direttamente sulla ethernet.
Per ovvie ragioni, io NON DEVO usare gli IP fuori vpn, ovvero 10.0.0.X
altrimenti � un c@zzo tutt'uno e non servirebbe la VPN
(� un francesismo)
Benissimo, se faccio:
scp a...@10.0.0.1:./prova.img ./
inizio a scaricare a 4MB/s per poi diminuire sempre pi� e finire
in -stalled-.
La copia � fatta fuori VPN, usando gli IP della eth0, per cui la VPN
non ha niente a che fare con questo problema, tantomeno le VLAN.
Confermate?
Credo di avere problemi sulle ethernet gigabit di questa appliance...
Boia mondo...

 Credo di avere problemi sulle ethernet gigabit di questa appliance...
Che schede sono?
dmesg dice nulla?

 dmesg dice nulla?
No. ma è cioccata la scheda. Pazienza, uso le 4
10/100 anzichè le 2 gigabit, tanto il ponte radio sarà
a 11mbit per cui ho banda in abbondanza.
Ho fatto la VPN in udp. Trasferisco a 3.3MB/s anzichè a
2.7MB/s del tcp.
Mi sembra un po pochino... Che sia così pesante la VPN?
Bypassando la VPN e passando direttamente dagli IP
delle ethernet trasferisco a 8MB/s
Uso chiavi da 1024... Troppo?

 Uso chiavi da 1024... Troppo?
Meno di quello...
Io uso un acceleratore hardware per SSL che, pur essendo un giocattolino
(è il padlock delle schede Via Eden) sembra fare egregamente
il proprio lavoro...

 il proprio lavoro...
Purtroppo l'appliance che sto usando non ha accelerazione.
Ma accelerazione permettendo, mi pare strano che una VPN si
mangi 5MB/s ovvero 40Mbit/s.....

 Uso chiavi da 1024... Troppo?
La lunghezza delle chiavi è ininfluente; la crittografia è sempre simmetrica 
AES256 (salvo che non la cambi esplicitamente) e le chiavi RSA servono solo 
per lo scambio e la rinegoziazione della chiave di sessione.


 8MB/s netti è praticamente il massimo che puoi spremere da una 100Mbit.
si lo so ma mi fa strano che un scp sopra la vpn
faccia fatica ad arrivare a 3MB/s
ammetto che scp sopra vpn sia poco ottimale dato che cifra su un
canale già cifrato ma 3MB mi sembrano veramente troppo pochi..

 canale gi� cifrato ma 3MB mi sembrano veramente troppo pochi..
Se il load average � a 1 o 2 ovviamente quello � il limite.
Puoi per� adottare alcune strategie. Per esempio usando come cipher BF-CFB e 
come digest MD5 al posto di AES256 e SHA1 il carico si abbassa 
sensibilmente; sei comunque al sicuro da intercettazioni (non penso tu debba 
temere l'NSA e comunque puoi eventualmente impostare il rekeying ad 
intervalli pi� ristretti (
p.es
. 600 secondi al posto di un'ora).


 Intendi che si piantano proprio, da doverli riaccendere?
No... nel mio caso semplicemente non va openvpn mentre la navigazione e il 
resto continua ad andare.


THe_ZiPMaN wrote:
 > Puoi per� adottare alcune strategie. Per esempio usando come cipher
 > BF-CFB e come digest MD5 al posto di AES256 e SHA1 il carico si abbassa
 > sensibilmente; sei comunque al sicuro da intercettazioni (non penso tu
 > debba temere l'NSA e comunque puoi eventualmente impostare il rekeying
 > ad intervalli pi� ristretti (
p.es
. 600 secondi al posto di un'ora).
Mi vado a documentare...
Be, in effetti, avrei un po di timore a passare a MD5, non
vorrei che la CIA o il KGB mi intercettassero le webcam...
Per "si abbassa sensibilmente" cosa intendi? Pensi che si
riesca a guadagnare qualche MB/s?
Considera che il ponte radio sar� 11Mbit ovvero 5.5 per ogni
direzione, con i miei 3MB/s sarei comunque oltre la capacit�
del ponte radio stesso, dato che sarei a 24Mbit/s... No?
(mi chiedo come sia possibile che su quel ponte radio ci
siano dei telefoni VoIP e circa 10 webcam di sorveglianza.
Mah)

 quando passi nella venezia giulia.
Con tutte le birre che gli dobbiamo offrire
uno di sti giorni ce lo ritroviamo ubriaco sul newsgroup...

 è una via eden 1000
Sei sicuro che non abbia il padlock?

whiplash wrote:
 > Sei sicuro che non abbia il padlock?
Sembra che ci sia.
http://www.via.com.tw/en/products/processors/eden_ulv/
Come si attiva? Non ne ho una minima idea, sinceramente.
Basta fare modprobe di questi due
padlock-aes
padlock-sha
e sono a posto?
O devo ricompilare openvpn con qualche opzione particolare?

 O devo ricompilare openvpn con qualche opzione particolare?
Ah, già, slack...
Ok, una volta caricati i moduli, prova con
openvpn --show-engines
Se ti mostra
OpenSSL Crypto Engines
VIA PadLock (no-RNG, ACE) [padlock]
Dynamic engine loading support [dynamic]
dovresti essere ok; specifica engine padlock nei file di conf
Altrimenti tocca ricompilare innanzitutto openssl...

 Dynamic engine loading support [dynamic]
# /usr/local/openvpn/sbin/openvpn --show-engines
OpenSSL Crypto Engines
VIA PadLock (no-RNG, ACE) [padlock]
Dynamic engine loading support [dynamic]
# scp prova.img 
a...@172.16.0.1
:.
a...@172.16.0.1
's password:
prova.img 
                                                 100%   16MB   2.6MB/s 
  00:06
non cambia una cippa, anzi, va più lento.
Ho letto in giro che padlock accelera solo AES e non Blowfish
il default di openvpn.
Quindi ho specificato:
"cipher AES-256-CBC"
nelle config, sia del client che del server.
Nulla. Va ancora più lento.
Se metto "padlock" mi da errore, ma in giro sembrerebbe che
openvpn ne faccia uso in automatico, se disponbile.

 la banda disponibile (8Mbit) il load average arriva a 0.4
Ho notato solo ora il numero...
Scusa, ma che ci fai con 150 VPN simultanee?

 ad intervalli pi� ristretti (
p.es
. 600 secondi al posto di un'ora).
Mettendo:
cipher BF-CBC
auth MD5
il load rimane praticamente invariato (1.80-1.90) rispetto alle vecchie
opzioni di default ma il transfer-rate si stabilizza a 3.5MB/s
Ho notato per� che il load sale a regime a circa met� del traferimento
mentre prima saliva a 1.80 praticamente da subito....


Sono 150 macchine gestite di cui faccio ogni notte il backup e di cui faccio 
giornalmente l'amministrazione.


 faccio giornalmente l'amministrazione.
Immaginavo, ma tu quindi tieni attive sempre le 150 vpn
dei clienti? Se per sfiga ti bucano il concentratore vpn
che hai li da te, entrano anche dai clienti...
(è una implementazione che mi interessa direttamente, mi puoi
dare qualche dritta su come la gestisci? In privato, ovviamente.
Sempre se non ti scoccia...)

 Altrimenti tocca ricompilare innanzitutto openssl...
Che p@lle...
Openvpn utilizza dinamicamente openssl oppure devo ricompilare
anche openvpn dopo aver compilato openssl?
Mica per niente, mi sa che faccio prima a fare un deboostrap e
ripartire
con debian... Solo che non mi va di riconfigurare tutto chillispot...

 ripartire con debian...
Ah, non � Debian? Allora 'zzi tuoi :-)


 Ah, non � Debian? Allora 'zzi tuoi :-)
Non me lo ricordare ... :(