13 novembre, 2006

Bridge di rete

Mi è capitata la seguente situazione:

  1. 2 desktop con una scheda di rete ethernet ciascuno che chiameremo
    desk1 e desk2
  2. 1 desktop con 2 schede di rete rispettivamnete desk3.
I pc devono essere tutti e tre collegati in rete. Non avevo
a disposizione un hub ma solo un cavo incrociato.

Soluzione

E' possibile usare un bridge di rete.
Colleghiamo il desk1 e desk2 a desk3 con la connessione ethernet.
A questo punto la situazione è la seguente:

+--------------------+
| |
| desk1 |
| |
+--------------------+
| eth0
|
|
| eth0
+--------------------+
| |
| desk3 |
| |
+--------------------+
| eth1
|
|
| eth0
+--------------------+
| |
| desk2 |
| |
+--------------------+

Non ci resta che creare il bridge ed assegnare gli indirizzi ip.
Prima di procedere verificate di avere installato il pacchetto
bridge-utils.

Da eseguire su desk3

creo l'interfaccia del bridge
sudo brctl addbr br0

aggiungo al bridge le due interfacce di rete
sudo brctl addif br0 eth0
sudo brctl addif br0 eth1

azzero gli ip delle interfacce del bridge
sudo ifconfig eth0 down
sudo ifconfig eth1 down
sudo ifconfig eth0 0.0.0.0 up
sudo ifconfig eth1 0.0.0.0 up

assegno un indirizzo ip all'interfaccia del bridge
sudo ifconfig br0 192.168.60.1

Il bridge ora è impostato è dovrebbe essere funzionante.
Naturalmente potete utilizzare un altro indirizzo ip per il vostro
bridge ;)
Non ci rimane che assegnare un indirizzo ip ai pc desk1 e lap2.

Da eseguire su desk1

sudo ifconfig eth0 192.168.60.10

Ora desk1 è ok. Rimane da impostare desk2:

Da eseguire su desk2

sudo ifconfig eth0 192.168.60.20

A questo punto dovrebbe essere possibile pingare uno dei pc
da qualsiasi altro :)

9 commenti:

  1. Anonimo12:30 AM

    sono riuscito nella procedura da te descritta, ma al riavvio perdo il bridge, come posso fare per renderlo permanente e non dove ridigitare ogni volta la procedura?
    grazie

    RispondiElimina
  2. Il post voleva descrivere solo il funzionamento del bridge. Per ottenere il risultato ad ogni avvio della macchina puoi o creare uno script ad-hoc che dovrà essere richiamato ad ogni avvio (ad esempio inserendolo in /etc/rc.local o puoi dare un'occhiata al file /usr/share/doc/bridge-utils/README.Debian.gz

    RispondiElimina
  3. Anonimo10:24 AM

    Grazie, ho dato un occhiata al file readme che mi hai detto, è un pò sopra le mie righe, ma con un paio di giorni dovrei farcela.
    non ho mai fato script e non saperi come iniziare, per fortuna che ci sono i motori di ricerca.
    grazie ancora........

    guardando rc.local che è immacolato, dentro a parte un paio di commenti c'è solo"exit 0".
    Domanda.
    dovrei inserire tutte le stringhe che normalmente scrivo sulla finestra terminale per alzare il bridge? (exit 0 lo devo togliere?)

    rc.local è un file che viene sembre caricato all'avvio indipendentemente
    dall'init 0/6?

    come avrai capito mentre scrivo cerco anche.
    ciao bbx

    RispondiElimina
  4. rc.local è l'ultimo script ad essere eseguito dopo quelli relativi al runlevel in uso. Dovresti scrivere tutto prima di exit0. Comunque la soluzione più pulita sarebbe quella di usare la configurazione come spiegato nel file che ti ho postato. Io a dire il vero le poche volte che mi è servito il bridge ho fatto tutti i passi a mano come spiegato nel post ma per una configurazione permanente devi naturalmente optare per una soluzione diversa

    RispondiElimina
  5. Anonimo1:53 PM

    Ok questo pomeriggio provo.
    grazie

    RispondiElimina
  6. Anonimo1:07 AM

    allora come detto ho inserito semplicemente queste righe sopra Exit0


    brctl addbr bridgecasa
    brctl addif bridgecasa eth0
    brctl addif bridgecasa eth2
    dhclient bridgecasa


    perchè nel mio caso linux mi riconosce le schede etho e eth2

    al momento funziona tutto.

    grazie per l'aiuto.
    ciao

    RispondiElimina
  7. probabilmente dipende da come sono installate fisicamente le tue schede di rete. Comunuque esiste un modo per cambiare il nome che usa linux per identificare la tua scheda di rete, anche se in questo momento non ricordo quale sia. In ogni modo non è un problema avere eth2 ma non eth1

    RispondiElimina
  8. ho trovato il modo per cambiare il nome alle schede di rete, basta editare il file /etc/iftab

    RispondiElimina
  9. Anonimo11:02 PM

    grazie vado a vederlo

    RispondiElimina