Ethernet Bridging

Da Guide@Debianizzati.Org.

Edit-clear-history.png Attenzione. Questa guida necessita di un controllo, per via del tempo trascorso dall'ultima verifica e delle versioni di Debian con cui è stata testata.

Debian-swirl.png Versioni Compatibili
Debian 6 "Squeeze"
Debian 7 "Wheezy"
Debian 8 "Jessie"

Indice

Introduzione

Un bridge, o ponte, con schede di rete può avere svariate finalità e motivazioni. Per quanto riguarda questa guida ci si limiterà al semplice caso di due schede di rete "collegate" al fine di emulare uno switch.

Perché emulare uno switch invece che utilizzarne uno vero e proprio complicandosi così la vita? Perché per esempio si ha a disposizione un computer sempre acceso ed un paio di schede di rete.
Nel mio caso specifico si tratta di un piccolo server collocato in un locale usato poco di frequente ed in cui arriva un singolo cavo di rete; al fine di rendere disponibile il collegamento ad internet anche per PC portatili eventualmente presenti nel medesimo locale la soluzione bridge di rete mi ha permesso di evitare l'acquisto di uno switch. In sintesi in una scheda di rete ho collegato il cavo della mia LAN e nell'altro un cavo connesso ad un access point wireless; quest'ultimo viene collegato solo quando necessario.

Info.png CONVENZIONI sugli indirizzi IP
  • Formato indirizzi IPv4.
  • Classe di indirizzi IP scelta 192.168.0.0/16, ma si tratta evidentemente di una scelta del tutto arbitraria, nulla vieterebbe infatti di usare la classe 172.16.0.0/12 o la 10.0.0.0/8.
  • Per indicare dei valori arbitrari all'interno degli indirizzi IP saranno usate lettere dell'alfabeto, come X, Y e Z, tuttavia si tenga sempre presente che tali valori devono essere interi e compresi nell'intervallo [0,254].


Installazione

Per creare il suddetto ponte ho usato l'applicativo bridge-utils

# apt-get install bridge-utils
Warning.png ATTENZIONE
in linea generale si sconsiglia di configurare un bridge di rete da remoto, poiché è possibile perdere la connessione col computer prima di aver eseguito tutti i comandi. Non è possibile configurare più di un bridge direte per computer.


Creazione di un ponte temporaneo

Posto di avere due schede di rete eth0 e eth1 digitare da terminale i seguenti comandi:

# ifconfig eth0 0.0.0.0
# ifconfig eth1 0.0.0.0
# brctl addbr ponte
# brctl addif ponte eth0
# brctl addif ponte eth1

Le prime due righe servono a "deconfigurare" le interfacce eth0 e eth1, la terza crea l'interfaccia virtuale di nome ponte e le ultime due specificano le interfacce fisiche che comporranno quella virtuale di nome ponte.
A questo punto se lo si desidera è possibile configurare l'interfaccia virtuale ponte come se fosse una normalissima interfaccia fisica. Si noti che evitando di configurare l'interfaccia ponte il computer risulterà irraggiungibile dalla propria LAN, pur permettendo le connessioni da parte di tutti gli altri dispositivi di rete.

Per una configurazione statica digitare qualcosa del tipo:

# ifconfig ponte 192.168.X.Y netmask 255.255.255.0
# route add default gateway 192.168.X.Z

Per una configurazione dinamica invece:

# dhclient ponte

A prescindere che l'interfaccia ponte sia stata o meno configurata deve essere attivata col comando:

# ifconfig ponte up

Per distruggere il ponte appena creato:

# ifconfig ponte down
# brctl delbr ponte0

Creazione di un ponte permanente

Editare il file /etc/network/interfaces digitando per esempio:

# nano /etc/network/interfaces

Eliminare o commentare le configurazioni delle interfacce eth0 ed eth1 già presenti.

Nel caso di configurazione dinamica includere quanto segue:

auto ponte
iface ponte inet dhcp
bridge_ports eth0 eth1
iface eth0 inet static
address 0.0.0.0
iface eth1 inet static
address 0.0.0.0

Nel caso di configurazione statica invece:

auto ponte
iface ponte inet static
address 192.168.X.Y
netmask 255.255.255.0
network 192.168.X.0
broadcast 192.168.0.255
gateway 192.168.X.Z
bridge_ports eth0 eth1
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp on
bridge_maxwait 0

Per rendere operativo il ponte digitare:

# /etc/init.d/networking restart

o eventualmente riavviare il computer.

Qualora si volesse impostare insieme al ponte e senza ulteriori script una scheda Wi-Fi che facesse da access point (sempre che sia presente nel computer ovviamente) sarebbe sufficiente aggiungere in coda alle precedenti due configurazioni la seguente riga (opzione da me non testata):

pre-up iwconfig wlan0 mode master essid ''myESSID''

dove wlan0 andrebbe sostituito col nome del proprio dispositivo di rete e myESSID con l'SSID della propria rete wireless.

Approfondimenti

Manpages

Sitografia




Guida scritta da: Wtf 22:36, 31 mag 2011 (CEST)

Swirl-auth20.png Debianized 20%

Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti