# rm-rf.es

Usar múltiples interfaces de red en virtualización Xen

El sistema de virtualización Xen, por defecto configura tanto la Dom0 como las DomU bajo la misma interfaz de red (eth0). En caso de necesitar configurar dos interfaces de red distintas dentro de una misma DomU, o separar cada DomU en una tarjeta de red distinta, hay que realizar ciertos cambios en la configuración.

En este caso vamos a configurar Xen para que una DomU pueda tener dos tarjetas de red virtuales. Para ello debemos crear un nuevo bridge que trabaje con la segunda interfaz de red (eth1).

La configuración inicial de xen es tener un bridge xenbr0 trabajando con la interfaz eth0. Lo que vamos a hacer es crear un nuevo bridge para que trabaje con la interfaz eth1 (xenbr1). Para ello, creamos un nuevo
script dentro de «/etc/xen/scripts/» que levante los dos bridges en el arranque de xen:

$ vim /etc/xen/scripts/network-interfaces

#!/bin/sh
"/etc/xen/scripts/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0
"/etc/xen/scripts/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1

Modificamos el fichero /etc/xen/xend-config.sxp para que utilice este nuevo script:

#(network-script network-bridge)
  (network-script network-interfaces)

Reiniciamos xen para que coja los cambios:

$ /etc/init.d/xend restart

Y vemos que ya ha levantado el nuevo bridge:

eth0      Link encap:Ethernet  HWaddr 00:0D:60:0F:DE:D6
          inet addr:192.168.0.152  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20d:60ff:fe0f:ded6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:955 errors:0 dropped:0 overruns:0 frame:0
          TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:133768 (130.6 KiB)  TX bytes:10239 (9.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0D:60:0F:DE:D7
          inet addr:192.168.0.106  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20d:60ff:fe0f:ded7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4738 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2545 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:460725 (449.9 KiB)  TX bytes:382897 (373.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

peth0     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:1148 errors:0 dropped:0 overruns:0 frame:0
          TX packets:188 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:165286 (161.4 KiB)  TX bytes:26313 (25.6 KiB)
          Interrupt:16 Memory:ed6f0000-ed700000

peth1     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:4795 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2569 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:494437 (482.8 KiB)  TX bytes:395195 (385.9 KiB)
          Interrupt:17 Memory:ed4f0000-ed500000

vif0.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:31 errors:0 dropped:0 overruns:0 frame:0
          TX packets:955 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:10239 (9.9 KiB)  TX bytes:133768 (130.6 KiB)

vif0.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:2589 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4782 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:389945 (380.8 KiB)  TX bytes:463629 (452.7 KiB)

vif2.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:157 errors:0 dropped:0 overruns:0 frame:0
          TX packets:837 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:12788 (12.4 KiB)  TX bytes:111812 (109.1 KiB)

vif2.1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          inet6 addr: fe80::fcff:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:605 errors:0 dropped:348 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:580 (580.0 b)  TX bytes:88879 (86.7 KiB)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:9812 (9.5 KiB)

xenbr0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:985 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:130103 (127.0 KiB)  TX bytes:0 (0.0 b)

xenbr1    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF
          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1
          RX packets:1119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:150720 (147.1 KiB)  TX bytes:0 (0.0 b)

Una vez levantado el bridge, ya podemos configurarlo en la máquina virtual que queramos, accedemos a su fichero de configuración y cambiamos la línea del vif (los ficheros de configuración de las máquinas virtuales por defecto los tenemos en /etc/xen o /etc/xen/auto):

Antes:

vif = [ "mac=00:16:3e:01:d0:7a,bridge=xenbr0" ]

Después:

vif = [ "mac=00:16:3e:01:d0:7a,bridge=xenbr0", "mac=00:16:3e:01:d1:7a,bridge=xenbr1" ]

Tras esta modificación, si arrancamos la máquina virtual ya podremos configurar la segunda interfaz de red.

Salir de la versión móvil