Product SiteDocumentation Site

11.2. Creación de redes en puente con libvirt

La creación de redes en puente (también conocido como compartir dispositivos físicos) sirve para dedicar un dispositivo físico a una máquina virtual. El puente se utiliza para configuraciones más avanzadas y en servidores con múltiples interfaces de red.
Inhabilitar el NetworkManager
NetworkManager no soporta puentes. NetworkManager debe estar deshabilitado para poder utilizar la red, con los programas de red (ubicados en el directorio /etc/sysconfig/network-scripts/).
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start

Nota

Instead of turning off NetworkManager, add "NM_CONTROLLED=no" to the ifcfg-* scripts used in the examples.
Creación de initscripts de redes
Cree o edite los siguientes dos archivos de configuración de redes. Este paso puede repetirse (con nombres diferentes) para puentes de red adicionales.
Cambie al directorio /etc/sysconfig/network-scripts:
# cd /etc/sysconfig/network-scripts
Abra el script de redes para el dispositivo que usted está añadiendo al puente. En este ejemplo, ifcfg-eth0 define la interfaz de red física establecida como parte de un puente:
DEVICE=eth0
# change the hardware address to match the hardware address your NIC uses
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=br0

Consejo

You can configure the device's Maximum Transfer Unit (MTU) by appending an MTU variable to the end of the configuration file.
MTU=9000
Cree un nuevo script de red en el directorio /etc/sysconfig/network-scripts llamado ifcfg-br0 o parecido. El parámetro br0 es el nombre del puente, éste puede ser cualquier cosa, siempre y cuando el nombre del archivo sea el mismo del parámetro de DEVICE.
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0

Advertencia

The line, TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
Tras la configuración, reinicie la creación de redes o reinicie.
# service network restart
Configure iptables para permitir que todo el tráfico sea reenviado a través del puente.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart

Deshabilite iptables en los puentes

De forma alternativa, evite que el tráfico de los puentes sea procesado por las reglas de iptables. Agregue las líneas siguientes en el archivo /etc/sysctl.conf:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Vuelva a cargar los parámetros del kernel configurados com el comando sysctl.
# sysctl -p /etc/sysctl.conf
Reinicie el demonio de libvirt
# service libvirtd reload
You should now have a "shared physical device", which guests can be attached and have full LAN access. Verify your new bridge:
# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
br0             8000.000e0cb30550       no              eth0
Observe que, el puente esté completamente independiente del puente virbr0. No intente conectar el dispositivo físico a virbr0. El puente virbr0 es únicamente para conectividad de Traducción de dirección de redes (NAT).