Newsgroup: it.comp.os.linux.iniziare
Titolo: [lungo] bridging: non mi entra in testa

allora, un bridge è un dispositivo fisico dotato di più interfacce 
ethernet che serve per connettere più reti ethernet e fare in modo che 
siano come una sola rete ethernet 
(
http://www.die.net/doc/linux/man/man8/brctl.8.html
)
Inoltre...
"Each bridge has a number of ports attached to it. Network traffic 
coming in on any of these ports will be forwarded to the other ports 
transparently, so that the bridge is invisible to the rest of the network"
E allora perchè cazz..... gli devo assegnare un indirizzo ip, come qui 
sotto?!?!?
http://blog.lucabedogni.it/?p=45
"
In /etc/network/interfaces add the following lines
# The bridge network interface(s)
auto br0
iface br0 inet static
address 192.168.1.123 # Change with an IP from your subnet
network 192.168.1.0 # Change that with yout subnet
netmask 255.255.255.0 # Same as above
broadcast 192.168.1.255 # Same as above
gateway 192.168.1.1 # Your gateway
bridge_ports eth0 # This is your host interface
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
"
e poi aggiungo una nuova interfaccia  al bridge, poniamo tap0, 
un'interfaccia (virtuale? cos'è un'interfaccia tap?).
Io mi aspettavo una cosa del genere:
ok, ho un'interfaccia fisica eth0, una 'virtuale' tap0, definisco un 
bridge br0 che ha come porte eth0 e tap0, e assegno un indirizzo ip a 
eth0 e un altro a tap0 (e neanche un indirizzo a br0 - che cazzo, un 
bridge è di livello datalink!)
Capisco che mi sfugge qualcosa, forse che eth0 non è proprio così 
fisica, ...???
Qualcuno mi illumina? oppure dove trovo il fottuto manuale?
Ciao e grazie in anticipo
  BQ

 sotto?!?!?
perche' cosi' ti trovi con un'interfaccia dalla quale parlare, con tutte
le interfaccie enslaved che risponderanno agli arp request per quell'ip,
come farebbe un bridge che in questo caso e' una linuxbox.
Considerala una shortcut funzionalmente identica a metterci
un'interfaccia tap e a dargli un ip, come faresti patchando una macchina
su uno switch.
Dato che poi un bridge lavora a layer2, per far "vedere" reciprocamente
due interfacce locali alla tua macchina non ti serve a niente perche'
quelle gia' si parlerebbero, o non si parlerebbero affatto, dipende
dalla configurazione ip di ciascuna.
Normalmente, niente ip alle enslaved dunque.
Quindi il modo ok e' fare un bridge e ficcarci le sk che ti interessa
avere senza dar loro un ip, eventualmente dandolo al bridge stesso se
vuoi che l'host che lo mantiene parli in quella LAN. Un tipico utilizzo
e' spalmare un livello 2 verso terminazioni di vpn :
iface br0 inet static
        pre-up openvpn --mktun --dev tap0
        down openvpn --rmtun --dev tap0
        address 192.168.1.1
        netmask 255.255.255.0
        bridge_ports eth0 tap0
        bridge_maxwait 5
        openvpn main
qui ad esempio tiro su un bridge su una scheda connessa alla miniretina
di workstation che ho a lavoro, aggiungendo una tap usata da openvpn per
attaccarmici da casa ed entrare in fastweb da fuori :P
Un altro uso potrebbe essere quello di "spezzare" una lan mettendoci una
box con due schede in mezzo, facendo sporcate ibride con physdev e
compari (in sostanza alzi regole di netfilter su un segmento l2), per
creare delle regole di filtraggio intra-lan.
- --
:(){ :|:&};:
oggei
-----BEGIN PGP SIGNATURE-----
iEYEARECAAYFAkXCI8cACgkQZmjYv+67TQ3c2QCgr094s6LIW45rgNtsVJI/sdkG
wsIAnRq1Z8fsC81N8y2Y3B3v+lNQPT6N
=IM80
-----END PGP SIGNATURE-----

 
Ma cio è tassativo? Voglio dire, potrei farlo, ad esempio per mettere in 
  comunicazione via ethernet una macchina fisica ed una virtuale?
Ciao e grazie ancora!
BQ

 
mi rispondo da solo: non serve. Serve solo l'ip del bridge. Poi posso 
assegnare un indirizzo ip a tap0 e a eth0 (parlo del mio caso in cui ho 
un bridge br0 con un dato ip e due interfacce, eth0 e tap0), però 
diciamo che non ha molto senso: semplicemente vengono assegnati tre ip, 
associati a interfacce della macchina fisica (eth0, tap0, e.. br0).
La macchina virtuale vede un'unica interfaccia, eth0, alla quale posso 
assegnare un quarto ip.
Ma nel mio caso quindi basta assegnare un solo indirizzo ip a br0 e un 
altro alla eth0 della macchina virtuale.
Spero di non aver detto minchiate :-)

 altro alla eth0 della macchina virtuale.
esatto, sara' come se avessi dato un ip ad un'interfaccia locale alla
macchina host patchandola poi in uno switch dove c'e' attaccato il NIC
della macchina virtuale : solo che avendo host e bridge collassati in un
nodo, puoi farla piu' breve dando un ip alla br direttamente :)
ciao,
--
oggei

 oggei
grazie per il chiarimento :-)