Ethernet Bridging: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
 
(14 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
{{Versioni compatibili}}{{Gateway-Router}}
 
== Introduzione ==
== Introduzione ==


Riga 14: Riga 15:
== Installazione ==
== Installazione ==


Per creare il suddetto ponte ho usato l'applicativo ''bridge-utils''
Nelle versioni recenti di debian non è necessario installare alcun applicativo aggiuntivo, infatti i comandi per creare un bridge di rete sono già disponibili in [[Iproute2]], tuttavia per rendere permanente la configurazione di un bridge attraverso <code>interfaces</code> la suite storica <code>bridge-utils</code> può risultare più comoda.<br>
Per installarla


<pre># apt-get install bridge-utils</pre>
<pre># apt install bridge-utils</pre>


{{ Warningbox | 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.}}
{{ Warningbox | 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.}}
Riga 27: Riga 29:
=== Creazione di un ponte temporaneo ===
=== Creazione di un ponte temporaneo ===


Posto di avere due schede di rete ''eth0'' e ''eth1'' digitare da terminale i seguenti comandi:
'''IPOTESI''': si vogliono unire in un bridge due schede di rete ''eth0'' e ''eth1''.
 
==== Con iproute2 ====
 
Creazione ed attivazione dell'interfaccia bridge:
<pre>
# ip link add name br0 type bridge
# ip link set dev br0 up
</pre>
Prima di procedere all'aggiunta di <code>eth0</code> ed <code>eth1</code> assicurarsi che queste non abbiano indirizzi IP configurati
<pre>
# ip address flush dev eth0 scope global
# ip address flush dev eth1 scope global
</pre>
Aggiunta delle interfacce
<pre>
# ip link set dev eth0 master br0
# ip link set dev eth1 master br0
</pre>
Assegnazione indirizzo di rete al bridge
<pre># ip address add 192.168.1.37/24 dev br0</pre>
Visualizzare informazioni sul ponte appena creato
<pre>
ip addr list br0
bridge link
</pre>
Per rimuovere l'interfaccia bridge appena creata rimuovere prima le interfacce <code>eth0</code> ed <code>eth1</code>
<pre>
# ip link set dev eth0 nomaster
# ip link set dev eth1 nomaster
</pre>
quindi eliminare l'interfaccia bridge vera e propria
<pre># ip link del br0</pre>
e riconfigurare opportunamente le interfacce <code>eth0</code> ed <code>eth1</code>.
 
==== Storico con bridge utils ====


<pre>
<pre>
# ifconfig eth0 0.0.0.0
# ifconfig eth0 0.0.0.0
# ifconfig eth1 0.0.0.0
# ifconfig eth1 0.0.0.0
# brctl addbr ponte
# brctl addbr br0
# brctl addif ponte eth0
# brctl addif br0 eth0
# brctl addif ponte eth1
# brctl addif br0 eth1
</pre>
</pre>


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''.<br/>
Le prime due righe servono a "deconfigurare" le interfacce ''eth0'' e ''eth1'', la terza crea l'interfaccia virtuale di nome ''br0'' e le ultime due specificano le interfacce fisiche che comporranno quella virtuale di nome ''br0''.<br/>
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.
A questo punto se lo si desidera è possibile configurare l'interfaccia virtuale ''br0'' come se fosse una normalissima interfaccia fisica. Si noti che evitando di configurare l'interfaccia ''br0'' 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:
Per una configurazione statica digitare qualcosa del tipo:


<pre>
<pre>
# ifconfig ponte 192.168.X.Y netmask 255.255.255.0
# ifconfig br0 192.168.X.Y netmask 255.255.255.0
# route add default gateway 192.168.X.Z
# route add default gateway 192.168.X.Z
</pre>
</pre>
Riga 49: Riga 86:
Per una configurazione dinamica invece:
Per una configurazione dinamica invece:


<pre># dhclient ponte</pre>
<pre># dhclient br0</pre>


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


<pre># ifconfig ponte up</pre>
<pre># ifconfig br0 up</pre>


Per distruggere il ''ponte'' appena creato:
Per distruggere il ''br0'' appena creato:


<pre>
<pre>
# ifconfig ponte down
# ifconfig br0 down
# brctl delbr ponte0
# brctl delbr br0
</pre>
</pre>


=== Creazione di un ponte permanente ===
=== Creazione di un ponte permanente ===


==== Storico con bridge utils ====
Editare il file <code>/etc/network/interfaces</code> digitando per esempio:
Editare il file <code>/etc/network/interfaces</code> digitando per esempio:


Riga 73: Riga 111:


<pre>
<pre>
auto ponte
auto br0
iface ponte inet dhcp
iface br0 inet dhcp
bridge_ports eth0 eth1
bridge_ports eth0 eth1
iface eth0 inet static
iface eth0 inet static
Riga 85: Riga 123:


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


Riga 108: Riga 146:
== Emulazione di un access point ==
== Emulazione di un access point ==


Dal punto di vista della configurazione del bridge di rete non cambia praticamente nulla rispetto al caso dello switch, si tratta solo di aggiungere la propria interfaccia wireless al bridge di rete. Prendendo infatti ad esempio le configurazioni indicate nella precedente sezione si tratterebbe di modificare la riga <code>bridge_ports eth0 eth1</code> in <code>bridge_ports eth0 wlan0</code>, oppure <code>bridge_ports eth0 eth1 wlan0</code> se la macchina è dotata di due interfacce di rete a filo e di una senza fili.
Dal punto di vista della configurazione del bridge di rete non cambia praticamente nulla rispetto al caso dello switch, si tratta solo di aggiungere la propria interfaccia wireless al bridge di rete. Prendendo infatti ad esempio le configurazioni indicate nella precedente sezione si tratterebbe di modificare la riga <code>bridge_ports eth0 eth1</code> in <code>bridge_ports eth0 wlan0</code>, oppure <code>bridge_ports eth0 eth1 wlan0</code> se la macchina è dotata di due interfacce di rete a filo e di una senza fili.<br>
Il punto critico è invece la configurazione dell'interfaccia wireless stessa, che per funzionare come access point deve essere impostata su master invece che managed (la modalità predefinita).
Il punto critico è invece la configurazione dell'interfaccia wireless stessa, che per poter essere aggiunta ad un bridge '''DEVE''' funzionare come access point, ovvero essere impostata in modalità master invece che managed (la modalità predefinita).
 
{{Box|Nota|Non è scontato che un dispositivo wireless supporti la modalità master, si veda a tal proposito quanto scritto nel paragrafo "Configurazione" della guida [[Wireless Access Point (WAP) personalizzato]]}}


=== ''iwconfig'' ===
=== ''iwconfig'' ===
Riga 117: Riga 157:
In sintesi nel caso statico si avrebbe:
In sintesi nel caso statico si avrebbe:
<pre>
<pre>
auto ponte
auto br0
     iface ponte inet static
     iface br0 inet static
     address 192.168.X.Y
     address 192.168.X.Y
     netmask 255.255.255.0
     netmask 255.255.255.0
     network 192.168.X.0
     network 192.168.X.0
     broadcast 192.168.0.255
     broadcast 192.168.X.255
     gateway 192.168.X.Z
     gateway 192.168.X.Z
     bridge_ports eth0 wlan0
     bridge_ports eth0 wlan0
Riga 134: Riga 174:


=== ''iw'' e ''hostapd'' ===
=== ''iw'' e ''hostapd'' ===
Nel caso invece si abbia necessità di criptare le comunicazioni wireless e/o si utilizzi un dispositivo recente, oltre ad aggiungere la propria interfaccia wireless al bridge di rete (come indicato nel primo paragrafo di questa sezione) è necessario anche installare e configurare <code>hostapd</code>, descritto nella guida [[Wireless Access Point (WAP) con Debian]], cui si rimanda.
Nel caso invece si abbia necessità di criptare le comunicazioni wireless e/o si utilizzi un dispositivo recente, oltre ad aggiungere la propria interfaccia wireless al bridge di rete (come indicato nell'esempio dedicato ad ''iwconfig'') è necessario anche installare e configurare <code>hostapd</code>, descritto nella guida [[Wireless Access Point (WAP) personalizzato]], cui si rimanda.


== Approfondimenti ==
== Approfondimenti ==
2 853

contributi

Menu di navigazione