En Xen 4, si las máquinas virtuales (domU) deben acceder a la red local, es necesario configurar el dom0 con uno o varios bridges o puentes, según el número de interfaces de red que dispongamos.
Las siguientes intrucciones son válidas para Fedora, RHEL y CentOS.
- Deshabilitar los scripts de red de xen:
En /etc/xen/xend-config.sxp
Cambiar
(network-script network-bridge)
por
(network-script /bin/true)
- Deshabilitar NetworkManager (si se utiliza)
- Crear los scripts de inicialización de red en /etc/sysconfig/network-scripts
(ifcfg-eth0) define la interfaz física y dice que será parte de un bridge:
DEVICE=eth0 HWADDR=00:16:76:XX:XX:XX ONBOOT=yes BRIDGE=br0 NM_CONTROLLED=no
(ifcfg-br0) define el puente del dispositivo:
DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 NM_CONTROLLED=no
o bien (si se utiliza IP estática)
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=10.0.0.2 NETMASK=255.255.255.0 ONBOOT=yes DELAY=0 NM_CONTROLLED=no
Después de los cambios:
# service network restart
El paso final es deshabilitar netfilter en el bridge en /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 # sysctl -p /etc/sysctl.conf
Ahora deberías tener un "dispositivo físico compartido", a la que los domU ya pueden estar unidos y tener acceso LAN completa.
# brctl show
bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes br0 8000.000e0cb30550 yes eth0
Más info en:
http://wiki.libvirt.org/page/Networking#Bridged_networking_.28aka_.22shared_physical_device.22.29
Nota con las MACs en los guest o domU:
Asignar una dirección aleatoria desde dentro del espacio 00:16:3e:xx:xx:xx. 00:16:3e es un OUI (identificador único) asignado al proyecto Xen y que ha sido puesto a disposición de los usuarios de Xen a efectos de la asignación de direcciones locales.
El uso de otras direcciones MAC puede provocar problemas, más info: http://wiki.xenproject.org/wiki/Xen_Networking#MAC_addresses