cole@lynkmedia.com
. Tradotto da Alessandro Rubini (rubini@linux.it
).
ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/Multiple-Ethernet
Si abiliti la seconda interfaccia ethernet sulla propria macchina
aggiungendo questo al proprio /etc/lilo.conf
,
e si reinvochi lilo
:
append = "ether=0,0,eth1"
Se si hanno tre interfacce sul bridge, si usi questa riga al
posto della precedete:
append = "ether=0,0,eth1 ether=0,0,eth2"
Si possono usare più interfacce aggiungendo altre direttive
ether
. Normalmente il kernel di Linux cerca solo una scheda
ethernet, e una volta che l'ha trovata smette di verificare
l'hardware installato. Le direttive append
mostrate sopra
servono a dire al kernel di continuare a cercare schede ethernet
anche dopo che ne ha trovata una.
In alternativa, si può usare il parametro di linea di comando al momento del boot:
linux ether=0,0,eth1
Oppure, se si hanno 3 interfacce:
linux ether=0,0,eth1 ether=0,0,eth2
bridging
''.
/etc/sysconfig/network-scripts/
(l'esempio si
riferisce a un sistema RedHat) e si copi
ifcfg-lo0
sopra a ifcfg-eth0
e a
ifcfg-eth1
.
In questi due file ``eth
'', si cambi la riga che contiene
``DEVICE=lo
'' in ``DEVICE=eth0
''
e ``DEVICE=eth1
''.
Altre distribuzioni hanno diversi script di configurazione, e
bisogna applicare modifiche equivalenti ai file appropriati.
Se il proprio bridge ha più di due interfacce bisogna assicurarsi
di configurare allo stesso modo anche le altre interfacce.
ifconfig promisc eth0 ; ifconfig promisc eth1
Devono essere messe in modo promiscuo tutte le interfacce
che sono connesse ai segmenti ethernet che si vuole collegare.
brcfg
:
brcfg -ena
tcpdump -i eth0 # in una finestra
tcpdump -i eth1 # in un'altra finestra
tcpdump
su di un'altra
macchina per verificare che il bridge sta partizionando correttamente
la rete.
Ricevo il messaggio
ioctl(SIOCGIFBR) failed: Package not installed
Cosa significa?
Il proprio kernel non ha la capacità di funzionare da bridge. Ci si procuri un kernel versione 2.0 o maggiore e lo si ricompili attivando l'opzione bridging.
Le macchina da una parte non riescono a raggiungere quelle dall'altra parte.
brcfg -ena
''?
(brcfg
dovrebbe dire ``bridging is ENABLED
'')ifconfig
'': la modalità
``PROMISC
'' dovrebbe risultare attiva per
entrambe le interfacce).Non posso fare telnet
nè ftp
dal
bridge. Perché?
Questo perché il bridge non ha un indirizzo IP. Un bridge è un pezzo di rete che risulta trasparente al resto della rete.
Cosa devo fare per predisporre l'instradamento?
Nulla!
Tutte le problematiche di instradamento sono gestite dal
codice del kernel che si occupa del ``bridging''.
Per vedere come il brisge impara l'instradamento dei vari indirizzi
ethernet si usi il comando brcfg
in modalità debug:
brcfg -deb
Sembra che il bridge funzioni, ma perché il comando ``traceroute'' non lo mostra come parte del cammino dei pacchetti?
Per la natura del bridge, un ``traceroute'' NON dovrebbe mostrare il bridge stesso nel cammino dei pacchetti. Il bridge dovrebbe essere un componente trasparente della rete.
Occorre abilitare IP_FORWARD
quando si compila il kernel?
No. Il codice del kernel che si occupa del bridging si occupa
del trasporto dei pacchetti indipendentemente da IP_FORWARD
.
IP_FORWARD
occorre per i gateway che hanno indirizzi
IP validi associati alle loro interfacce.
Perché secondo il programma ``brcfg
'' gli indirizzi hardware
delle due porte ethernet sono uguali? Non dovrebbero essere differenti?
No. Per come funziona il bridging, tutte le porte di un bridge hanno lo stesso indirizzo ethernet fisico.
Il bridging non appare tra le opzioni di compilazione del kernel, come faccio ad abilitarlo?
Durante la configurazione del kernel, si risponda Y alla domanda ``Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]''.
So che avere troppi hub (4 o più) in catena sulla stessa ethernet crea dei problemi di temporizzazione. Che effetto ha un bridge su una rete che contiene altri hub?
Un bridge non è un hub, e la regola dei 4 hub va applicata a ciascun segmento ethernet collegato al bridge. Un bridge non contribuisce ai problemi di tempo nella trasmissione dei pacchetti.
È possibile interfacciare con un bridge segmenti ethernet da 10Mb e da 100Mb? Una configurazione del genere non rallenta il resto del traffico sul lato ad alta velocità della rete?
Si, è possibile collegare con un bridge un segmento da 10Mb con un segmento da 100Mb. Finché la scheda di rete del bridge collegata con la rete veloce è in grado di portare 100Mb, TCP si preoccuperà del resto. Anche se è vero che la comunicazione tra un calcolatore collegato a 100Mb e uno collegato a 10Mb avverrà solo a 10Mb, il resto del traffico sulla rete ad alta velocità non viene rallentato dalla presenza del bridge.