Utilizando dos tarjetas de red del dom0 en el domU

Imagen de Epe

Este documento es una "mejora" a: http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/chap-Virtualization-Pre_Red_Hat_Enterprise_Linux_5.4_Xen_networking.html

Supongamos que tenemos dos tarjetas de red en nuestro hardware, en nuestro dom0.

Supongamos que quiero que ambas tarjetas actúen como DOS switches diferentes. Es decir, quiero que ambos switches (tarjetas) se conecten a redes diferentes.

Por defecto Xen utiliza la tarjeta eth0 para el primer bridge que le llama xenbr0 e ignora las tarjetas adicionales que puedas tener.

Lo que haremos es reconfigurar los scripts de xen para que al levantar xend arranque un segundo bridge: xenbr1 asociado a eth1

Quedaría así:

eth0 es xenbr0
eth1 es xenbr1

por supuesto puedes modificar el script para tantos bridges como necesites.

Yo asumo que tanto eth0 como eth1 ya están configurados normal, cada tarjeta con ips de sus respectivas redes (que no sean de la misma red!!)

Entonces los pasos son los siguientes:
1- Si deseas lees http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/chap-Virtualization-Pre_Red_Hat_Enterprise_Linux_5.4_Xen_networking.html

2- crear una copia de: /etc/xen/scripts/network-bridge


cp /etc/xen/scripts/network-bridge /etc/xen/scripts/network-bridge.xen

3- vi /etc/xen/xend-config.sxp y comentar:

#(network-script network-bridge)

Agregar justo debajo:

(network-script network-xen-multi-bridge)

quedaría así:


#(network-script network-bridge)
(network-script network-xen-multi-bridge)

Lo que estoy es cambiando el script de arranque de la red de xen, por uno llamado network-xen-multi-bridge

4- Crear el siguiente archivo:

vi /etc/xen/scripts/network-xen-multi-bridge

Que contenga lo siguiente:

#!/bin/sh
# network-xen-multi-bridge
# Exit if anything goes wrong.
set -e
# First arg is the operation.
OP=$1
shift
script=/etc/xen/scripts/network-bridge.xen
case ${OP} in
start)
$script start vifnum=1 bridge=xenbr1 netdev=eth1
$script start vifnum=0 bridge=xenbr0 netdev=eth0
;;
stop)
$script stop vifnum=1 bridge=xenbr1 netdev=eth1
$script stop vifnum=0 bridge=xenbr0 netdev=eth0
;;
status)
$script status vifnum=1 bridge=xenbr1 netdev=eth1
$script status vifnum=0 bridge=xenbr0 netdev=eth0
;;
*)
echo 'Unknown command: ' ${OP}
echo 'Valid commands are: start, stop, status'
exit 1
esac

A este script le doy derechos de ejecución:


chmod +x /etc/xen/scripts/network-xen-multi-bridge

Y listo. Reinicio el xend:

service xend restart

y ya estará lista la segunda red. Lo puedes comprobar si haces:

ifconfig

verás algo así:

xenbr0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:801 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:116109 (113.3 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:61236 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:4675108 (4.4 MiB) TX bytes:0 (0.0 b)

ves? xenbr0 y xenbr1

Configuración de las máquinas virtuales para usar ambas tarjetas
Ahora, las máquinas virtuales que configures, vendrán configuradas para usar la primera red, si haces por ejemplo un cat /etc/xen/cos01 (pensando que así se llame tu máquina virtual) verás lo siguiente:

.
vif = [ "mac=00:16:36:62:9d:9b,bridge=xenbr0" ]
.

Si no viene bridge=xenbr0 eso es porque es por defecto, no te preocupes.

Si quieres usar ambos switches (tarjetas de red) simplemente modificas esta linea y la dejas así:

.
vif = [ "mac=00:16:36:62:9d:9b,bridge=xenbr0","mac=00:16:36:6e:93:9b,bridge=xenbr1" ]
.

Lo que estoy indicando es lo siguiente:
eth0 tiene de MAC 00:16:36:62:9d:9b y está conectada al switch virtual llamado xenbr0 (a la eth0)
eth1 tiene de MAC 00:16:36:6e:93:9b y está conectada al switch virtual llamado xenbr1 (a la eth1)

Apagas y enciendes la máquina virtual.

Y listo,ahi tienes un equipo domU conectado a ambos switches, a ambas redes. Al arrancar por primera vez la máquina virtual, eth1 estará configurada para usar dhcp, te tocará dentro de la máquina virtual configurar eth1 para no usar dhcp si es que en la red donde está eth1 no hay servidor de dhcps. Eso es normal como siempre se hace.

Comentarios

mira la primera sección en

Imagen de Epe

mira
la primera sección en vif se refiere a eth0, como tienes solo una definición, se corresponde con eth0

puedes usar cualquier numero para la mac, pero en xen se sugiere que los 3 primeros les mantengas iguales:

00:16:3e

porque ese es el espacio reservado por xen. Te sugiero alteres los restantes numeros y no estos ok?

Si tuvieras que poner otra eth física, debes alterar el script que pongo en este howto para agregar esta interfaz.. no es difícil, agregar unas 2 o 3 lineas y ya.

En un howto aparte pondré cómo generar mac aleatoriamente

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

pregunta de un noob

porque en la configuracion de la red en mi ubuntu hardy heron server, no muestra "xenbr0 y xenbr1" los unicos que muestra son:

eth

lo

peth

veth

vif

alguien puede decirme o sacarme de esta duda?

se los agradecere muchisimo

Páginas