Bridges amb Linux

De Guifi.net - Wiki Català

Revisió de 06:50, 24 oct 2008; Sergi (Discussió)

(dif) ←Versió més antiga | Versió actual (dif) | Versió més nova→ (dif)

Utilitats de bridge a Linux

Paquet bridge-utils

Instal·lació:

$ sudo apt-get install bridge-utils

Comandes:

$ dpkg -L bridge-utils | grep bin
/usr/sbin
/usr/sbin/brctl

Fitxers de configuració:

$ dpkg -L bridge-utils | grep etc
/etc
/etc/network
/etc/network/if-pre-up.d
/etc/network/if-pre-up.d/bridge
/etc/network/if-post-down.d
/etc/network/if-post-down.d/bridge

Recursos:

Comanda brctl

Mostrar els bridges:

$ brctl show 
 bridge name     bridge id               STP enabled     interfaces
 br0             8000.001601a1a9b7       no              eth0
                                                         wlan0
 br1             8000.000000000000       no              

Crear un nou bridge:

$ brctl addbr br1

Afegir/treure interfícies a un bridge:

$ brctl delif
$ brctl addif


Creació del bridge

Instal·lem el paquet bridge-utils i al fitxer /etc/network/interfaces creem una interfície que sigui un bridge de la eth0:

$ cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
 address 192.168.1.2
 netmask 255.255.255.0
 gateway 192.168.1.1
 bridge_ports eth0

auto eth0
iface eth0 inet manual

També podem utilitzar DHCP:

$ cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto br0
iface br0 inet dhcp
 bridge_ports eth0

auto eth0
iface eth0 inet manual
NOTA: Noteu com la interfície eth0 es configura com manual i la línia bridge_ports eth0.


I tornem a iniciar la xarxa:

$ sudo /etc/init.d/networking restart

A partir d'ara la interfície eth0, tal i com podem observar a l'executar ifconfig:

$ ifconfig
br0       Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28932 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28277 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:24356075 (23.2 MB)  TX bytes:17213164 (16.4 MB)

eth0      Link encap:Ethernet  HWaddr 00:30:1B:B7:CD:B6  
          inet6 addr: fe80::230:1bff:feb7:cdb6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20788 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14681 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:23664360 (22.5 MB)  TX bytes:1995733 (1.9 MB)
          Interrupt:20 

És una interfície no configurada (TONTA o Dummy). Això és normal, comproveu com la xarxa funciona igualment

Paquet uml-utilities

Instal·lació de User Mode Linux utilities package (uml-utilities):

$ sudo apt-get install uml-utilities

Conté eines per crear interfícies TAP.

Afegir permissos a l'usuari per accedir a la interfície:

$ sudo gpasswd -a <user> uml-net

Per exemple

$ sudo gpasswd -a sergi uml-net
  

Cal tornar a iniciar per aplicar els permissos

Per afegir la interfície TAP editem el fitxer /etc/network/interfaces i afegim:

auto tap0
iface tap0 inet manual
     up ifconfig $IFACE 0.0.0.0 up
     down ifconfig $IFACE down
     tunctl_user <user>

On a user posem el nostre usuari. Per exemple:

auto tap0
iface tap0 inet manual
     up ifconfig $IFACE 0.0.0.0 up
     down ifconfig $IFACE down
     tunctl_user sergi
     bridge_ports eth0 tap0

Tornar a iniciar la xarxa:

$ sudo /etc/init.d/networking restart

tunctl

Ara creem un bridge:

$ sudo tunctl -t tap1 -u sergi
$ sudo chmod 666 /dev/net/tun

I:

$ sudo brctl addbr br0 
$ sudo ifconfig eth0 0.0.0.0 promisc 
$ sudo brctl addif br0 eth0
$ dhclient br0


$ sudo brctl addif br0 tap1 

Recursos:

Recursos

Eines de l'usuari