8.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.
Si su sistema estaba utilizando puente de Xen, se recomienda desactivar el puente predeterminado de red de Xen editando /etc/xen/xend-config.sxp
y cambiando la línea:
(network-script network-bridge)
To:
(network-script /bin/true)
NetworkManager no soporta puentes. NetworkManager debe estar desactivado para utilizar los scripts de de creación de redes anteriores.
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start
Note
En lugar de apagar el NetworkManager, puede añadir "NM_CONTROLLED=no
" a los scripts ifcfg-*
utilizados en los ejemplos.
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
Puede configurar la Unidad de transferencia máximas (MTU) del dispositivo añadiendo una variable MTU
al final del archivo de configuración.
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
Warning
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
to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart
Disable iptables on bridges
Alternatively, prevent bridged traffic from being processed by iptables
rules. In /etc/sysctl.conf
append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Reload the kernel parameters configured with sysctl
# sysctl -p /etc/sysctl.conf
Restart the libvirt
daemon.
# service libvirtd reload
Deberá tener ahora un "dispositivo físico compartido", cuyos huéspedes pueden conectarse y tienen total acceso de LAN. Verifique su nuevo puente:
# 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).